Title: [201543] trunk/Source/WebCore
Revision
201543
Author
[email protected]
Date
2016-05-31 21:49:24 -0700 (Tue, 31 May 2016)

Log Message

Modernize lambda captures in WorkerThreadableWebSocketChannel
https://bugs.webkit.org/show_bug.cgi?id=158246

Reviewed by Brady Eidson.

Modernize lambda captures in WorkerThreadableWebSocketChannel and drop
legacy URLCapture as it is no longer needed / used.

* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Peer::send):
(WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::setMethodNotCompleted): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion): Deleted.
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
* platform/URL.h:
(WebCore::operator==): Deleted.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (201542 => 201543)


--- trunk/Source/WebCore/ChangeLog	2016-06-01 04:30:57 UTC (rev 201542)
+++ trunk/Source/WebCore/ChangeLog	2016-06-01 04:49:24 UTC (rev 201543)
@@ -1,3 +1,39 @@
+2016-05-31  Chris Dumez  <[email protected]>
+
+        Modernize lambda captures in WorkerThreadableWebSocketChannel
+        https://bugs.webkit.org/show_bug.cgi?id=158246
+
+        Reviewed by Brady Eidson.
+
+        Modernize lambda captures in WorkerThreadableWebSocketChannel and drop
+        legacy URLCapture as it is no longer needed / used.
+
+        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
+        (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
+        (WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
+        (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
+        (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
+        (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
+        (WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
+        (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
+        (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
+        (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::setMethodNotCompleted): Deleted.
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion): Deleted.
+        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
+        * platform/URL.h:
+        (WebCore::operator==): Deleted.
+
 2016-05-31  Joseph Pecoraro  <[email protected]>
 
         Web Inspector: ReportExtraMemoryCost IDL attribute should also be used to generate estimatedSize method

Modified: trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp (201542 => 201543)


--- trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp	2016-06-01 04:30:57 UTC (rev 201542)
+++ trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp	2016-06-01 04:49:24 UTC (rev 201543)
@@ -143,8 +143,8 @@
         m_bridge->resume();
 }
 
-WorkerThreadableWebSocketChannel::Peer::Peer(PassRefPtr<ThreadableWebSocketChannelClientWrapper> clientWrapper, WorkerLoaderProxy& loaderProxy, ScriptExecutionContext* context, const String& taskMode)
-    : m_workerClientWrapper(clientWrapper)
+WorkerThreadableWebSocketChannel::Peer::Peer(RefPtr<ThreadableWebSocketChannelClientWrapper>&& clientWrapper, WorkerLoaderProxy& loaderProxy, ScriptExecutionContext* context, const String& taskMode)
+    : m_workerClientWrapper(WTFMove(clientWrapper))
     , m_loaderProxy(loaderProxy)
     , m_mainWebSocketChannel(WebSocketChannel::create(downcast<Document>(context), this))
     , m_taskMode(taskMode)
@@ -175,7 +175,7 @@
 
     ThreadableWebSocketChannel::SendResult sendRequestResult = m_mainWebSocketChannel->send(message);
     RefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper = m_workerClientWrapper;
-    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper, sendRequestResult] (ScriptExecutionContext&) {
+    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper = WTFMove(workerClientWrapper), sendRequestResult] (ScriptExecutionContext&) {
         workerClientWrapper->setSendRequestResult(sendRequestResult);
     }, m_taskMode);
 }
@@ -188,7 +188,7 @@
 
     ThreadableWebSocketChannel::SendResult sendRequestResult = m_mainWebSocketChannel->send(binaryData, 0, binaryData.byteLength());
     RefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper = m_workerClientWrapper;
-    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper, sendRequestResult] (ScriptExecutionContext&) {
+    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper = WTFMove(workerClientWrapper), sendRequestResult] (ScriptExecutionContext&) {
         workerClientWrapper->setSendRequestResult(sendRequestResult);
     }, m_taskMode);
 }
@@ -201,7 +201,7 @@
 
     ThreadableWebSocketChannel::SendResult sendRequestResult = m_mainWebSocketChannel->send(binaryData);
     RefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper = m_workerClientWrapper;
-    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper, sendRequestResult] (ScriptExecutionContext&) {
+    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper = WTFMove(workerClientWrapper), sendRequestResult] (ScriptExecutionContext&) {
         workerClientWrapper->setSendRequestResult(sendRequestResult);
     }, m_taskMode);
 }
@@ -214,7 +214,7 @@
 
     RefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper = m_workerClientWrapper;
     unsigned long bufferedAmount = m_mainWebSocketChannel->bufferedAmount();
-    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper, bufferedAmount] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper = WTFMove(workerClientWrapper), bufferedAmount] (ScriptExecutionContext& context) {
         ASSERT_UNUSED(context, context.isWorkerGlobalScope());
         workerClientWrapper->setBufferedAmount(bufferedAmount);
     }, m_taskMode);
@@ -266,12 +266,12 @@
     ASSERT(isMainThread());
 
     RefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper = m_workerClientWrapper;
-    StringCapture capturedSubprotocol(m_mainWebSocketChannel->subprotocol());
-    StringCapture capturedExtensions(m_mainWebSocketChannel->extensions());
-    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper, capturedSubprotocol, capturedExtensions] (ScriptExecutionContext& context) {
+    String subprotocol = m_mainWebSocketChannel->subprotocol();
+    String extensions = m_mainWebSocketChannel->extensions();
+    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper = WTFMove(workerClientWrapper), subprotocol = subprotocol.isolatedCopy(), extensions = extensions.isolatedCopy()] (ScriptExecutionContext& context) {
         ASSERT_UNUSED(context, context.isWorkerGlobalScope());
-        workerClientWrapper->setSubprotocol(capturedSubprotocol.string());
-        workerClientWrapper->setExtensions(capturedExtensions.string());
+        workerClientWrapper->setSubprotocol(subprotocol);
+        workerClientWrapper->setExtensions(extensions);
         workerClientWrapper->didConnect();
     }, m_taskMode);
 }
@@ -281,10 +281,9 @@
     ASSERT(isMainThread());
 
     RefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper = m_workerClientWrapper;
-    StringCapture capturedMessage(message);
-    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper, capturedMessage] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper = WTFMove(workerClientWrapper), message = message.isolatedCopy()] (ScriptExecutionContext& context) {
         ASSERT_UNUSED(context, context.isWorkerGlobalScope());
-        workerClientWrapper->didReceiveMessage(capturedMessage.string());
+        workerClientWrapper->didReceiveMessage(message);
     }, m_taskMode);
 }
 
@@ -293,11 +292,9 @@
     ASSERT(isMainThread());
 
     RefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper = m_workerClientWrapper;
-    Vector<uint8_t>* capturedData = new Vector<uint8_t>(WTFMove(binaryData));
-    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper, capturedData] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper = WTFMove(workerClientWrapper), binaryData = WTFMove(binaryData)] (ScriptExecutionContext& context) mutable {
         ASSERT_UNUSED(context, context.isWorkerGlobalScope());
-        workerClientWrapper->didReceiveBinaryData(WTFMove(*capturedData));
-        delete capturedData;
+        workerClientWrapper->didReceiveBinaryData(WTFMove(binaryData));
     }, m_taskMode);
 }
 
@@ -306,7 +303,7 @@
     ASSERT(isMainThread());
 
     RefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper = m_workerClientWrapper;
-    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper, bufferedAmount] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper = WTFMove(workerClientWrapper), bufferedAmount] (ScriptExecutionContext& context) {
         ASSERT_UNUSED(context, context.isWorkerGlobalScope());
         workerClientWrapper->didUpdateBufferedAmount(bufferedAmount);
     }, m_taskMode);
@@ -317,7 +314,7 @@
     ASSERT(isMainThread());
 
     RefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper = m_workerClientWrapper;
-    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper = WTFMove(workerClientWrapper)] (ScriptExecutionContext& context) {
         ASSERT_UNUSED(context, context.isWorkerGlobalScope());
         workerClientWrapper->didStartClosingHandshake();
     }, m_taskMode);
@@ -329,11 +326,9 @@
     m_mainWebSocketChannel = nullptr;
 
     RefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper = m_workerClientWrapper;
-    StringCapture capturedReason(reason);
-    m_loaderProxy.postTaskForModeToWorkerGlobalScope(
-        [workerClientWrapper, unhandledBufferedAmount, closingHandshakeCompletion, code, capturedReason] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper = WTFMove(workerClientWrapper), unhandledBufferedAmount, closingHandshakeCompletion, code, reason = reason.isolatedCopy()] (ScriptExecutionContext& context) {
             ASSERT_UNUSED(context, context.isWorkerGlobalScope());
-            workerClientWrapper->didClose(unhandledBufferedAmount, closingHandshakeCompletion, code, capturedReason.string());
+            workerClientWrapper->didClose(unhandledBufferedAmount, closingHandshakeCompletion, code, reason);
         }, m_taskMode);
 }
 
@@ -342,7 +337,7 @@
     ASSERT(isMainThread());
 
     RefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper = m_workerClientWrapper;
-    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskForModeToWorkerGlobalScope([workerClientWrapper = WTFMove(workerClientWrapper)] (ScriptExecutionContext& context) {
         ASSERT_UNUSED(context, context.isWorkerGlobalScope());
         workerClientWrapper->didReceiveMessageError();
     }, m_taskMode);
@@ -363,34 +358,31 @@
     disconnect();
 }
 
-void WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize(ScriptExecutionContext& context, WorkerLoaderProxy* loaderProxy, PassRefPtr<ThreadableWebSocketChannelClientWrapper> prpClientWrapper, const String& taskMode)
+void WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize(ScriptExecutionContext& context, WorkerLoaderProxy* loaderProxy, RefPtr<ThreadableWebSocketChannelClientWrapper>&& passedClientWrapper, const String& taskMode)
 {
     ASSERT(isMainThread());
     ASSERT_UNUSED(context, context.isDocument());
 
-    RefPtr<ThreadableWebSocketChannelClientWrapper> clientWrapper = prpClientWrapper;
+    RefPtr<ThreadableWebSocketChannelClientWrapper> clientWrapper = WTFMove(passedClientWrapper);
 
-    Peer* peerPtr = Peer::create(clientWrapper, *loaderProxy, &context, taskMode);
+    auto peer = std::make_unique<Peer>(clientWrapper.copyRef(), *loaderProxy, &context, taskMode);
     bool sent = loaderProxy->postTaskForModeToWorkerGlobalScope({
         ScriptExecutionContext::Task::CleanupTask,
-        [clientWrapper, loaderProxy, peerPtr] (ScriptExecutionContext& context) {
+        [clientWrapper, loaderProxy, peer = WTFMove(peer)] (ScriptExecutionContext& context) mutable {
             ASSERT_UNUSED(context, context.isWorkerGlobalScope());
             if (clientWrapper->failedWebSocketChannelCreation()) {
                 // If Bridge::initialize() quitted earlier, we need to kick mainThreadDestroy() to delete the peer.
-                loaderProxy->postTaskToLoader([peerPtr] (ScriptExecutionContext& context) {
+                loaderProxy->postTaskToLoader([peer = WTFMove(peer)] (ScriptExecutionContext& context) {
                     ASSERT(isMainThread());
                     ASSERT_UNUSED(context, context.isDocument());
-                    delete peerPtr;
                 });
             } else
-                clientWrapper->didCreateWebSocketChannel(peerPtr);
+                clientWrapper->didCreateWebSocketChannel(peer.release());
         }
     }, taskMode);
 
-    if (!sent) {
+    if (!sent)
         clientWrapper->clearPeer();
-        delete peerPtr;
-    }
 }
 
 void WorkerThreadableWebSocketChannel::Bridge::initialize()
@@ -399,11 +391,9 @@
     setMethodNotCompleted();
     Ref<Bridge> protectedThis(*this);
 
-    WorkerLoaderProxy* loaderProxy = &m_loaderProxy;
     RefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper = m_workerClientWrapper;
-    StringCapture capturedTaskMode(m_taskMode);
-    m_loaderProxy.postTaskToLoader([loaderProxy, workerClientWrapper, capturedTaskMode] (ScriptExecutionContext& context) {
-        mainThreadInitialize(context, loaderProxy, workerClientWrapper, capturedTaskMode.string());
+    m_loaderProxy.postTaskToLoader([loaderProxy = &m_loaderProxy, workerClientWrapper = WTFMove(workerClientWrapper), taskMode = m_taskMode.isolatedCopy()] (ScriptExecutionContext& context) mutable {
+        mainThreadInitialize(context, loaderProxy, WTFMove(workerClientWrapper), taskMode);
     });
     waitForMethodCompletion();
 
@@ -419,15 +409,12 @@
     if (!m_peer)
         return;
 
-    Peer* peer = m_peer;
-    URLCapture capturedURL(url);
-    StringCapture capturedProtocol(protocol);
-    m_loaderProxy.postTaskToLoader([peer, capturedURL, capturedProtocol] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskToLoader([peer = m_peer, url = "" protocol = protocol.isolatedCopy()] (ScriptExecutionContext& context) {
         ASSERT(isMainThread());
         ASSERT_UNUSED(context, context.isDocument());
         ASSERT(peer);
 
-        peer->connect(capturedURL.url(), capturedProtocol.string());
+        peer->connect(url, protocol);
     });
 }
 
@@ -437,14 +424,12 @@
         return ThreadableWebSocketChannel::SendFail;
     setMethodNotCompleted();
 
-    Peer* peer = m_peer;
-    StringCapture capturedMessage(message);
-    m_loaderProxy.postTaskToLoader([peer, capturedMessage] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskToLoader([peer = m_peer, message = message.isolatedCopy()] (ScriptExecutionContext& context) {
         ASSERT(isMainThread());
         ASSERT_UNUSED(context, context.isDocument());
         ASSERT(peer);
 
-        peer->send(capturedMessage.string());
+        peer->send(message);
     });
 
     Ref<Bridge> protectedThis(*this);
@@ -461,20 +446,18 @@
         return ThreadableWebSocketChannel::SendFail;
 
     // ArrayBuffer isn't thread-safe, hence the content of ArrayBuffer is copied into Vector<char>.
-    Vector<char>* dataPtr = std::make_unique<Vector<char>>(byteLength).release();
+    Vector<char> data(byteLength);
     if (binaryData.byteLength())
-        memcpy(dataPtr->data(), static_cast<const char*>(binaryData.data()) + byteOffset, byteLength);
+        memcpy(data.data(), static_cast<const char*>(binaryData.data()) + byteOffset, byteLength);
     setMethodNotCompleted();
 
-    Peer* peer = m_peer;
-    m_loaderProxy.postTaskToLoader([peer, dataPtr] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskToLoader([peer = m_peer, data = "" (ScriptExecutionContext& context) {
         ASSERT(isMainThread());
         ASSERT_UNUSED(context, context.isDocument());
         ASSERT(peer);
 
-        std::unique_ptr<Vector<char>> data(dataPtr);
-        RefPtr<ArrayBuffer> arrayBuffer = ArrayBuffer::create(data->data(), data->size());
-        peer->send(*arrayBuffer);
+        auto arrayBuffer = ArrayBuffer::create(data.data(), data.size());
+        peer->send(arrayBuffer);
     });
 
     Ref<Bridge> protectedThis(*this);
@@ -491,16 +474,12 @@
         return ThreadableWebSocketChannel::SendFail;
     setMethodNotCompleted();
 
-    Peer* peer = m_peer;
-    URLCapture capturedURL(binaryData.url());
-    StringCapture capturedType(binaryData.type());
-    long long size = binaryData.size();
-    m_loaderProxy.postTaskToLoader([peer, capturedURL, capturedType, size] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskToLoader([peer = m_peer, url = "" type = binaryData.type().isolatedCopy(), size = binaryData.size()] (ScriptExecutionContext& context) {
         ASSERT(isMainThread());
         ASSERT_UNUSED(context, context.isDocument());
         ASSERT(peer);
 
-        peer->send(Blob::deserialize(capturedURL.url(), capturedType.string(), size, { }));
+        peer->send(Blob::deserialize(url, type, size, { }));
     });
 
     Ref<Bridge> protectedThis(*this);
@@ -517,8 +496,7 @@
         return 0;
     setMethodNotCompleted();
 
-    Peer* peer = m_peer;
-    m_loaderProxy.postTaskToLoader([peer] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskToLoader([peer = m_peer] (ScriptExecutionContext& context) {
         ASSERT(isMainThread());
         ASSERT_UNUSED(context, context.isDocument());
         ASSERT(peer);
@@ -539,14 +517,12 @@
     if (!m_peer)
         return;
 
-    Peer* peer = m_peer;
-    StringCapture capturedReason(reason);
-    m_loaderProxy.postTaskToLoader([peer, code, capturedReason] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskToLoader([peer = m_peer, code, reason = reason.isolatedCopy()] (ScriptExecutionContext& context) {
         ASSERT(isMainThread());
         ASSERT_UNUSED(context, context.isDocument());
         ASSERT(peer);
 
-        peer->close(code, capturedReason.string());
+        peer->close(code, reason);
     });
 }
 
@@ -555,14 +531,12 @@
     if (!m_peer)
         return;
 
-    Peer* peer = m_peer;
-    StringCapture capturedReason(reason);
-    m_loaderProxy.postTaskToLoader([peer, capturedReason] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskToLoader([peer = m_peer, reason = reason.isolatedCopy()] (ScriptExecutionContext& context) {
         ASSERT(isMainThread());
         ASSERT_UNUSED(context, context.isDocument());
         ASSERT(peer);
 
-        peer->fail(capturedReason.string());
+        peer->fail(reason);
     });
 }
 
@@ -570,8 +544,7 @@
 {
     clearClientWrapper();
     if (m_peer) {
-        Peer* peer = m_peer;
-        m_loaderProxy.postTaskToLoader([peer] (ScriptExecutionContext& context) {
+        m_loaderProxy.postTaskToLoader([peer = m_peer] (ScriptExecutionContext& context) {
             ASSERT(isMainThread());
             ASSERT_UNUSED(context, context.isDocument());
             delete peer;
@@ -586,8 +559,7 @@
     if (!m_peer)
         return;
 
-    Peer* peer = m_peer;
-    m_loaderProxy.postTaskToLoader([peer] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskToLoader([peer = m_peer] (ScriptExecutionContext& context) {
         ASSERT(isMainThread());
         ASSERT_UNUSED(context, context.isDocument());
         ASSERT(peer);
@@ -601,8 +573,7 @@
     if (!m_peer)
         return;
 
-    Peer* peer = m_peer;
-    m_loaderProxy.postTaskToLoader([peer] (ScriptExecutionContext& context) {
+    m_loaderProxy.postTaskToLoader([peer = m_peer] (ScriptExecutionContext& context) {
         ASSERT(isMainThread());
         ASSERT_UNUSED(context, context.isDocument());
         ASSERT(peer);

Modified: trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.h (201542 => 201543)


--- trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.h	2016-06-01 04:30:57 UTC (rev 201542)
+++ trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.h	2016-06-01 04:49:24 UTC (rev 201543)
@@ -80,10 +80,7 @@
     class Peer : public WebSocketChannelClient {
         WTF_MAKE_NONCOPYABLE(Peer); WTF_MAKE_FAST_ALLOCATED;
     public:
-        static Peer* create(PassRefPtr<ThreadableWebSocketChannelClientWrapper> clientWrapper, WorkerLoaderProxy& loaderProxy, ScriptExecutionContext* context, const String& taskMode)
-        {
-            return new Peer(clientWrapper, loaderProxy, context, taskMode);
-        }
+        Peer(RefPtr<ThreadableWebSocketChannelClientWrapper>&&, WorkerLoaderProxy&, ScriptExecutionContext*, const String& taskMode);
         ~Peer();
 
         void connect(const URL&, const String& protocol);
@@ -107,8 +104,6 @@
         void didReceiveMessageError() override;
 
     private:
-        Peer(PassRefPtr<ThreadableWebSocketChannelClientWrapper>, WorkerLoaderProxy&, ScriptExecutionContext*, const String& taskMode);
-
         RefPtr<ThreadableWebSocketChannelClientWrapper> m_workerClientWrapper;
         WorkerLoaderProxy& m_loaderProxy;
         RefPtr<ThreadableWebSocketChannel> m_mainWebSocketChannel;
@@ -152,7 +147,7 @@
         static void setWebSocketChannel(ScriptExecutionContext*, Bridge* thisPtr, Peer*, PassRefPtr<ThreadableWebSocketChannelClientWrapper>);
 
         // Executed on the main thread to create a Peer for this bridge.
-        static void mainThreadInitialize(ScriptExecutionContext&, WorkerLoaderProxy*, PassRefPtr<ThreadableWebSocketChannelClientWrapper>, const String& taskMode);
+        static void mainThreadInitialize(ScriptExecutionContext&, WorkerLoaderProxy*, RefPtr<ThreadableWebSocketChannelClientWrapper>&&, const String& taskMode);
 
         // Executed on the worker context's thread.
         void clearClientWrapper();

Modified: trunk/Source/WebCore/platform/URL.h (201542 => 201543)


--- trunk/Source/WebCore/platform/URL.h	2016-06-01 04:30:57 UTC (rev 201542)
+++ trunk/Source/WebCore/platform/URL.h	2016-06-01 04:49:24 UTC (rev 201543)
@@ -330,20 +330,6 @@
 WEBCORE_EXPORT void enableURLSchemeCanonicalization(bool);
 #endif
 
-// Like StringCapture, but for URLs.
-class URLCapture {
-public:
-    explicit URLCapture(const URL&);
-    explicit URLCapture(URL&&);
-    URLCapture(const URLCapture&);
-    const URL& url() const;
-    URL releaseURL();
-
-private:
-    void operator=(const URLCapture&) = delete;
-    URL m_URL;
-};
-
 // Inlines.
 
 inline bool operator==(const URL& a, const URL& b)
@@ -434,31 +420,6 @@
     return m_pathAfterLastSlash;
 }
 
-inline URLCapture::URLCapture(const URL& url)
-    : m_URL(url)
-{
-}
-
-inline URLCapture::URLCapture(URL&& url)
-    : m_URL(url)
-{
-}
-
-inline URLCapture::URLCapture(const URLCapture& other)
-    : m_URL(other.m_URL.isolatedCopy())
-{
-}
-
-inline const URL& URLCapture::url() const
-{
-    return m_URL;
-}
-
-inline URL URLCapture::releaseURL()
-{
-    return WTFMove(m_URL);
-}
-
 } // namespace WebCore
 
 namespace WTF {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to