Title: [188209] trunk/Source/WebCore
Revision
188209
Author
[email protected]
Date
2015-08-10 03:01:31 -0700 (Mon, 10 Aug 2015)

Log Message

[Streams API] ReadableStreamReader closed promise should use CachedAttribute
https://bugs.webkit.org/show_bug.cgi?id=147487

Reviewed by Darin Adler.

Covered by existing tests.

* Modules/streams/ReadableStreamReader.idl: Made closed a CachedAttribute.
* bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::JSReadableStreamReader::closed): Updated according CachedAttribute specific field.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (188208 => 188209)


--- trunk/Source/WebCore/ChangeLog	2015-08-10 08:27:52 UTC (rev 188208)
+++ trunk/Source/WebCore/ChangeLog	2015-08-10 10:01:31 UTC (rev 188209)
@@ -1,3 +1,16 @@
+2015-08-10  Youenn Fablet  <[email protected]>
+
+        [Streams API] ReadableStreamReader closed promise should use CachedAttribute
+        https://bugs.webkit.org/show_bug.cgi?id=147487
+
+        Reviewed by Darin Adler.
+
+        Covered by existing tests.
+
+        * Modules/streams/ReadableStreamReader.idl: Made closed a CachedAttribute.
+        * bindings/js/JSReadableStreamReaderCustom.cpp:
+        (WebCore::JSReadableStreamReader::closed): Updated according CachedAttribute specific field.
+
 2015-08-09  Hunseop Jeong  <[email protected]>
 
         [EFL] Use the non-overlay scrollbar

Modified: trunk/Source/WebCore/Modules/streams/ReadableStreamReader.idl (188208 => 188209)


--- trunk/Source/WebCore/Modules/streams/ReadableStreamReader.idl	2015-08-10 08:27:52 UTC (rev 188208)
+++ trunk/Source/WebCore/Modules/streams/ReadableStreamReader.idl	2015-08-10 10:01:31 UTC (rev 188209)
@@ -37,5 +37,5 @@
     Promise cancel([Default=Undefined] optional any reason);
     [RaisesException] void releaseLock();
 
-    [CustomGetter] readonly attribute Promise closed;
+    [CustomGetter, CachedAttribute] readonly attribute Promise closed;
 };

Modified: trunk/Source/WebCore/bindings/js/JSReadableStreamReaderCustom.cpp (188208 => 188209)


--- trunk/Source/WebCore/bindings/js/JSReadableStreamReaderCustom.cpp	2015-08-10 08:27:52 UTC (rev 188208)
+++ trunk/Source/WebCore/bindings/js/JSReadableStreamReaderCustom.cpp	2015-08-10 10:01:31 UTC (rev 188209)
@@ -46,13 +46,12 @@
 
 JSValue JSReadableStreamReader::closed(ExecState* exec) const
 {
-    if (m_closedPromiseDeferred)
-        return m_closedPromiseDeferred->promise();
-
-    const_cast<JSReadableStreamReader*>(this)->m_closedPromiseDeferred.set(exec->vm(), JSPromiseDeferred::create(exec, globalObject()));
-    impl().closed(DeferredWrapper(exec, globalObject(), m_closedPromiseDeferred.get()));
-
-    return m_closedPromiseDeferred->promise();
+    if (!m_closed) {
+        JSPromiseDeferred* closedPromise = JSPromiseDeferred::create(exec, globalObject());
+        const_cast<JSReadableStreamReader*>(this)->m_closed.set(exec->vm(), this, closedPromise->promise());
+        impl().closed(DeferredWrapper(exec, globalObject(), closedPromise));
+    }
+    return m_closed.get();
 }
 
 EncodedJSValue JSC_HOST_CALL constructJSReadableStreamReader(ExecState* exec)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to