Title: [186111] trunk/Source/WebCore
- Revision
- 186111
- Author
- [email protected]
- Date
- 2015-06-30 00:50:12 -0700 (Tue, 30 Jun 2015)
Log Message
[Streams API] Remove ReadableStream.getReader() custom binding
https://bugs.webkit.org/show_bug.cgi?id=146404
Reviewed by Darin Adler.
Covered by existing tests.
* Modules/streams/ReadableStream.cpp:
(WebCore::ReadableStream::getReader): Updated to take an exception.
* Modules/streams/ReadableStream.h:
* Modules/streams/ReadableStream.idl: Updated to remove custom binding.
* bindings/js/JSReadableStreamCustom.cpp:
(WebCore::JSReadableStream::getReader): Deleted.
* bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::constructJSReadableStreamReader): Updated to pass an exception to getReader.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (186110 => 186111)
--- trunk/Source/WebCore/ChangeLog 2015-06-30 07:17:52 UTC (rev 186110)
+++ trunk/Source/WebCore/ChangeLog 2015-06-30 07:50:12 UTC (rev 186111)
@@ -1,3 +1,21 @@
+2015-06-30 Youenn Fablet <[email protected]>
+
+ [Streams API] Remove ReadableStream.getReader() custom binding
+ https://bugs.webkit.org/show_bug.cgi?id=146404
+
+ Reviewed by Darin Adler.
+
+ Covered by existing tests.
+
+ * Modules/streams/ReadableStream.cpp:
+ (WebCore::ReadableStream::getReader): Updated to take an exception.
+ * Modules/streams/ReadableStream.h:
+ * Modules/streams/ReadableStream.idl: Updated to remove custom binding.
+ * bindings/js/JSReadableStreamCustom.cpp:
+ (WebCore::JSReadableStream::getReader): Deleted.
+ * bindings/js/JSReadableStreamReaderCustom.cpp:
+ (WebCore::constructJSReadableStreamReader): Updated to pass an exception to getReader.
+
2015-06-29 Youenn Fablet <[email protected]>
[Streams API] ReadableStreamReader.closed should use DOMPromise
Modified: trunk/Source/WebCore/Modules/streams/ReadableStream.cpp (186110 => 186111)
--- trunk/Source/WebCore/Modules/streams/ReadableStream.cpp 2015-06-30 07:17:52 UTC (rev 186110)
+++ trunk/Source/WebCore/Modules/streams/ReadableStream.cpp 2015-06-30 07:50:12 UTC (rev 186111)
@@ -145,8 +145,12 @@
}
}
-ReadableStreamReader& ReadableStream::getReader()
+ReadableStreamReader* ReadableStream::getReader(ExceptionCode& ec)
{
+ if (locked()) {
+ ec = TypeError;
+ return nullptr;
+ }
ASSERT(!m_reader);
std::unique_ptr<ReadableStreamReader> newReader = std::make_unique<ReadableStreamReader>(*this);
@@ -154,11 +158,11 @@
if (m_state == State::Readable) {
m_reader = WTF::move(newReader);
- return reader;
+ return &reader;
}
m_releasedReaders.append(WTF::move(newReader));
- return reader;
+ return &reader;
}
void ReadableStream::cancel(JSC::JSValue reason, CancelPromise&& promise, ExceptionCode& ec)
Modified: trunk/Source/WebCore/Modules/streams/ReadableStream.h (186110 => 186111)
--- trunk/Source/WebCore/Modules/streams/ReadableStream.h 2015-06-30 07:17:52 UTC (rev 186110)
+++ trunk/Source/WebCore/Modules/streams/ReadableStream.h 2015-06-30 07:50:12 UTC (rev 186111)
@@ -66,7 +66,7 @@
virtual ~ReadableStream();
- ReadableStreamReader& getReader();
+ ReadableStreamReader* getReader(ExceptionCode&);
const ReadableStreamReader* reader() const { return m_reader.get(); }
bool locked() const { return !!m_reader; }
Modified: trunk/Source/WebCore/Modules/streams/ReadableStream.idl (186110 => 186111)
--- trunk/Source/WebCore/Modules/streams/ReadableStream.idl 2015-06-30 07:17:52 UTC (rev 186110)
+++ trunk/Source/WebCore/Modules/streams/ReadableStream.idl 2015-06-30 07:50:12 UTC (rev 186111)
@@ -33,7 +33,7 @@
SkipVTableValidation
] interface ReadableStream {
[Custom] Promise cancel(any reason);
- [Custom] ReadableStreamReader getReader();
+ [RaisesException] ReadableStreamReader getReader();
[Custom] Promise pipeTo(any streams, any options);
[Custom] Object pipeThrough(any dest, any options);
Modified: trunk/Source/WebCore/bindings/js/JSReadableStreamCustom.cpp (186110 => 186111)
--- trunk/Source/WebCore/bindings/js/JSReadableStreamCustom.cpp 2015-06-30 07:17:52 UTC (rev 186110)
+++ trunk/Source/WebCore/bindings/js/JSReadableStreamCustom.cpp 2015-06-30 07:50:12 UTC (rev 186111)
@@ -60,13 +60,6 @@
return promiseDeferred.promise();
}
-JSValue JSReadableStream::getReader(ExecState* exec)
-{
- if (impl().locked())
- return exec->vm().throwException(exec, createTypeError(exec, ASCIILiteral("ReadableStream is locked")));
- return toJS(exec, globalObject(), impl().getReader());
-}
-
JSValue JSReadableStream::pipeTo(ExecState* exec)
{
JSValue error = createError(exec, ASCIILiteral("pipeTo is not implemented"));
Modified: trunk/Source/WebCore/bindings/js/JSReadableStreamReaderCustom.cpp (186110 => 186111)
--- trunk/Source/WebCore/bindings/js/JSReadableStreamReaderCustom.cpp 2015-06-30 07:17:52 UTC (rev 186110)
+++ trunk/Source/WebCore/bindings/js/JSReadableStreamReaderCustom.cpp 2015-06-30 07:50:12 UTC (rev 186111)
@@ -97,7 +97,10 @@
if (stream->impl().locked())
return throwVMError(exec, createTypeError(exec, ASCIILiteral("ReadableStreamReader constructor parameter is a locked ReadableStream")));
- return JSValue::encode(toJS(exec, stream->globalObject(), stream->impl().getReader()));
+ ExceptionCode ec = 0;
+ EncodedJSValue value = JSValue::encode(toJS(exec, stream->globalObject(), stream->impl().getReader(ec)));
+ ASSERT(!ec);
+ return value;
}
} // namespace WebCore
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes