Title: [185260] trunk/Source
Revision
185260
Author
[email protected]
Date
2015-06-05 12:08:47 -0700 (Fri, 05 Jun 2015)

Log Message

[Streams API] ReadableStream should store callbacks as a Deque
https://bugs.webkit.org/show_bug.cgi?id=145641

Reviewed by Darin Adler.

Source/WebCore:

Covered by existing tests.

* Modules/streams/ReadableStream.cpp:
(WebCore::ReadableStream::resolveReadCallback): Use of Deque.takeFirst
* Modules/streams/ReadableStream.h: Using Deque in lieu of Vector for storing callbacks.

Source/WTF:

* wtf/Deque.h:
(WTF::Deque::append): Adding not templated append method, forwarding to templated append method.

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (185259 => 185260)


--- trunk/Source/WTF/ChangeLog	2015-06-05 18:52:12 UTC (rev 185259)
+++ trunk/Source/WTF/ChangeLog	2015-06-05 19:08:47 UTC (rev 185260)
@@ -1,3 +1,13 @@
+2015-06-05  Xabier Rodriguez Calvar  <[email protected]> and Youenn Fablet <[email protected]>
+
+        [Streams API] ReadableStream should store callbacks as a Deque
+        https://bugs.webkit.org/show_bug.cgi?id=145641
+
+        Reviewed by Darin Adler.
+
+        * wtf/Deque.h:
+        (WTF::Deque::append): Adding not templated append method, forwarding to templated append method.
+
 2015-06-02  Xabier Rodriguez Calvar  <[email protected]> and Youenn Fablet <[email protected]>
 
         [Streams API] Delegate ReadableStreamReader reference counting to ReadableStream

Modified: trunk/Source/WTF/wtf/Deque.h (185259 => 185260)


--- trunk/Source/WTF/wtf/Deque.h	2015-06-05 18:52:12 UTC (rev 185259)
+++ trunk/Source/WTF/wtf/Deque.h	2015-06-05 19:08:47 UTC (rev 185260)
@@ -82,6 +82,7 @@
     const T& last() const { ASSERT(m_start != m_end); return *(--end()); }
     T takeLast();
 
+    void append(T&& value) { append<T>(std::forward<T>(value)); }
     template<typename U> void append(U&&);
     template<typename U> void prepend(U&&);
     void removeFirst();

Modified: trunk/Source/WebCore/ChangeLog (185259 => 185260)


--- trunk/Source/WebCore/ChangeLog	2015-06-05 18:52:12 UTC (rev 185259)
+++ trunk/Source/WebCore/ChangeLog	2015-06-05 19:08:47 UTC (rev 185260)
@@ -1,3 +1,16 @@
+2015-06-05  Xabier Rodriguez Calvar  <[email protected]> and Youenn Fablet <[email protected]>
+
+        [Streams API] ReadableStream should store callbacks as a Deque
+        https://bugs.webkit.org/show_bug.cgi?id=145641
+
+        Reviewed by Darin Adler.
+
+        Covered by existing tests.
+
+        * Modules/streams/ReadableStream.cpp:
+        (WebCore::ReadableStream::resolveReadCallback): Use of Deque.takeFirst
+        * Modules/streams/ReadableStream.h: Using Deque in lieu of Vector for storing callbacks.
+
 2015-06-05  Mark Lam  <[email protected]>
 
         finally blocks should not set the exception stack trace when re-throwing the exception.

Modified: trunk/Source/WebCore/Modules/streams/ReadableStream.cpp (185259 => 185260)


--- trunk/Source/WebCore/Modules/streams/ReadableStream.cpp	2015-06-05 18:52:12 UTC (rev 185259)
+++ trunk/Source/WebCore/Modules/streams/ReadableStream.cpp	2015-06-05 19:08:47 UTC (rev 185260)
@@ -167,8 +167,7 @@
     if (m_readRequests.isEmpty())
         return false;
 
-    m_readRequests.first().successCallback(value);
-    m_readRequests.remove(0);
+    m_readRequests.takeFirst().successCallback(value);
     return true;
 }
 

Modified: trunk/Source/WebCore/Modules/streams/ReadableStream.h (185259 => 185260)


--- trunk/Source/WebCore/Modules/streams/ReadableStream.h	2015-06-05 18:52:12 UTC (rev 185259)
+++ trunk/Source/WebCore/Modules/streams/ReadableStream.h	2015-06-05 19:08:47 UTC (rev 185260)
@@ -35,9 +35,9 @@
 #include "ActiveDOMObject.h"
 #include "ScriptWrappable.h"
 #include <functional>
+#include <wtf/Deque.h>
 #include <wtf/Ref.h>
 #include <wtf/RefCounted.h>
-#include <wtf/Vector.h>
 
 namespace JSC {
 class JSValue;
@@ -112,7 +112,7 @@
         ReadEndCallback endCallback;
         FailureCallback failureCallback;
     };
-    Vector<ReadCallbacks> m_readRequests;
+    Deque<ReadCallbacks> m_readRequests;
 
     bool m_closeRequested { false };
     State m_state { State::Readable };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to