| Index: trunk/Source/modules/websockets/WorkerThreadableWebSocketChannel.cpp
|
| ===================================================================
|
| --- trunk/Source/modules/websockets/WorkerThreadableWebSocketChannel.cpp (revision 175241)
|
| +++ trunk/Source/modules/websockets/WorkerThreadableWebSocketChannel.cpp (working copy)
|
| @@ -228,13 +228,7 @@
|
| m_bridge->resume();
|
| }
|
|
|
| -void WorkerThreadableWebSocketChannel::trace(Visitor* visitor)
|
| -{
|
| - visitor->trace(m_workerClientWrapper);
|
| - WebSocketChannel::trace(visitor);
|
| -}
|
| -
|
| -WorkerThreadableWebSocketChannel::Peer::Peer(PassRefPtr<WeakReference<Peer> > reference, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> clientWrapper, WorkerLoaderProxy& loaderProxy, ExecutionContext* context, const String& sourceURL, unsigned lineNumber, PassOwnPtr<ThreadableWebSocketChannelSyncHelper> syncHelper)
|
| +WorkerThreadableWebSocketChannel::Peer::Peer(PassRefPtr<WeakReference<Peer> > reference, PassRefPtr<ThreadableWebSocketChannelClientWrapper> clientWrapper, WorkerLoaderProxy& loaderProxy, ExecutionContext* context, const String& sourceURL, unsigned lineNumber, PassOwnPtr<ThreadableWebSocketChannelSyncHelper> syncHelper)
|
| : m_workerClientWrapper(clientWrapper)
|
| , m_loaderProxy(loaderProxy)
|
| , m_mainWebSocketChannel(nullptr)
|
| @@ -261,7 +255,7 @@
|
| m_mainWebSocketChannel->disconnect();
|
| }
|
|
|
| -void WorkerThreadableWebSocketChannel::Peer::initialize(ExecutionContext* context, PassRefPtr<WeakReference<Peer> > reference, WorkerLoaderProxy* loaderProxy, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> clientWrapper, const String& sourceURLAtConnection, unsigned lineNumberAtConnection, PassOwnPtr<ThreadableWebSocketChannelSyncHelper> syncHelper)
|
| +void WorkerThreadableWebSocketChannel::Peer::initialize(ExecutionContext* context, PassRefPtr<WeakReference<Peer> > reference, WorkerLoaderProxy* loaderProxy, PassRefPtr<ThreadableWebSocketChannelClientWrapper> clientWrapper, const String& sourceURLAtConnection, unsigned lineNumberAtConnection, PassOwnPtr<ThreadableWebSocketChannelSyncHelper> syncHelper)
|
| {
|
| // The caller must call destroy() to free the peer.
|
| new Peer(reference, clientWrapper, *loaderProxy, context, sourceURLAtConnection, lineNumberAtConnection, syncHelper);
|
| @@ -374,7 +368,7 @@
|
| m_mainWebSocketChannel->resume();
|
| }
|
|
|
| -static void workerGlobalScopeDidConnect(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, const String& subprotocol, const String& extensions)
|
| +static void workerGlobalScopeDidConnect(ExecutionContext* context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, const String& subprotocol, const String& extensions)
|
| {
|
| ASSERT_UNUSED(context, context->isWorkerGlobalScope());
|
| workerClientWrapper->setSubprotocol(subprotocol);
|
| @@ -385,10 +379,10 @@
|
| void WorkerThreadableWebSocketChannel::Peer::didConnect()
|
| {
|
| ASSERT(isMainThread());
|
| - m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidConnect, m_workerClientWrapper.get(), m_mainWebSocketChannel->subprotocol(), m_mainWebSocketChannel->extensions()));
|
| + m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidConnect, m_workerClientWrapper, m_mainWebSocketChannel->subprotocol(), m_mainWebSocketChannel->extensions()));
|
| }
|
|
|
| -static void workerGlobalScopeDidReceiveMessage(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, const String& message)
|
| +static void workerGlobalScopeDidReceiveMessage(ExecutionContext* context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, const String& message)
|
| {
|
| ASSERT_UNUSED(context, context->isWorkerGlobalScope());
|
| workerClientWrapper->didReceiveMessage(message);
|
| @@ -397,10 +391,10 @@
|
| void WorkerThreadableWebSocketChannel::Peer::didReceiveMessage(const String& message)
|
| {
|
| ASSERT(isMainThread());
|
| - m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidReceiveMessage, m_workerClientWrapper.get(), message));
|
| + m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidReceiveMessage, m_workerClientWrapper, message));
|
| }
|
|
|
| -static void workerGlobalScopeDidReceiveBinaryData(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, PassOwnPtr<Vector<char> > binaryData)
|
| +static void workerGlobalScopeDidReceiveBinaryData(ExecutionContext* context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, PassOwnPtr<Vector<char> > binaryData)
|
| {
|
| ASSERT_UNUSED(context, context->isWorkerGlobalScope());
|
| workerClientWrapper->didReceiveBinaryData(binaryData);
|
| @@ -409,10 +403,10 @@
|
| void WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData(PassOwnPtr<Vector<char> > binaryData)
|
| {
|
| ASSERT(isMainThread());
|
| - m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidReceiveBinaryData, m_workerClientWrapper.get(), binaryData));
|
| + m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidReceiveBinaryData, m_workerClientWrapper, binaryData));
|
| }
|
|
|
| -static void workerGlobalScopeDidUpdateBufferedAmount(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, unsigned long bufferedAmount)
|
| +static void workerGlobalScopeDidUpdateBufferedAmount(ExecutionContext* context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, unsigned long bufferedAmount)
|
| {
|
| ASSERT_UNUSED(context, context->isWorkerGlobalScope());
|
| workerClientWrapper->didUpdateBufferedAmount(bufferedAmount);
|
| @@ -421,10 +415,10 @@
|
| void WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount(unsigned long bufferedAmount)
|
| {
|
| ASSERT(isMainThread());
|
| - m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidUpdateBufferedAmount, m_workerClientWrapper.get(), bufferedAmount));
|
| + m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidUpdateBufferedAmount, m_workerClientWrapper, bufferedAmount));
|
| }
|
|
|
| -static void workerGlobalScopeDidStartClosingHandshake(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper)
|
| +static void workerGlobalScopeDidStartClosingHandshake(ExecutionContext* context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper)
|
| {
|
| ASSERT_UNUSED(context, context->isWorkerGlobalScope());
|
| workerClientWrapper->didStartClosingHandshake();
|
| @@ -433,10 +427,10 @@
|
| void WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake()
|
| {
|
| ASSERT(isMainThread());
|
| - m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidStartClosingHandshake, m_workerClientWrapper.get()));
|
| + m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidStartClosingHandshake, m_workerClientWrapper));
|
| }
|
|
|
| -static void workerGlobalScopeDidClose(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, unsigned long unhandledBufferedAmount, WebSocketChannelClient::ClosingHandshakeCompletionStatus closingHandshakeCompletion, unsigned short code, const String& reason)
|
| +static void workerGlobalScopeDidClose(ExecutionContext* context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, unsigned long unhandledBufferedAmount, WebSocketChannelClient::ClosingHandshakeCompletionStatus closingHandshakeCompletion, unsigned short code, const String& reason)
|
| {
|
| ASSERT_UNUSED(context, context->isWorkerGlobalScope());
|
| workerClientWrapper->didClose(unhandledBufferedAmount, closingHandshakeCompletion, code, reason);
|
| @@ -446,10 +440,10 @@
|
| {
|
| ASSERT(isMainThread());
|
| m_mainWebSocketChannel = nullptr;
|
| - m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidClose, m_workerClientWrapper.get(), unhandledBufferedAmount, closingHandshakeCompletion, code, reason));
|
| + m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidClose, m_workerClientWrapper, unhandledBufferedAmount, closingHandshakeCompletion, code, reason));
|
| }
|
|
|
| -static void workerGlobalScopeDidReceiveMessageError(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper)
|
| +static void workerGlobalScopeDidReceiveMessageError(ExecutionContext* context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper)
|
| {
|
| ASSERT_UNUSED(context, context->isWorkerGlobalScope());
|
| workerClientWrapper->didReceiveMessageError();
|
| @@ -458,10 +452,10 @@
|
| void WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError()
|
| {
|
| ASSERT(isMainThread());
|
| - m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidReceiveMessageError, m_workerClientWrapper.get()));
|
| + m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalScopeDidReceiveMessageError, m_workerClientWrapper));
|
| }
|
|
|
| -WorkerThreadableWebSocketChannel::Bridge::Bridge(PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, WorkerGlobalScope& workerGlobalScope)
|
| +WorkerThreadableWebSocketChannel::Bridge::Bridge(PassRefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, WorkerGlobalScope& workerGlobalScope)
|
| : m_workerClientWrapper(workerClientWrapper)
|
| , m_workerGlobalScope(workerGlobalScope)
|
| , m_loaderProxy(m_workerGlobalScope->thread()->workerLoaderProxy())
|
| @@ -485,7 +479,7 @@
|
| m_syncHelper = syncHelper.get();
|
|
|
| RefPtr<Bridge> protect(this);
|
| - if (!waitForMethodCompletion(createCallbackTask(&Peer::initialize, reference.release(), AllowCrossThreadAccess(&m_loaderProxy), m_workerClientWrapper.get(), sourceURL, lineNumber, syncHelper.release()))) {
|
| + if (!waitForMethodCompletion(createCallbackTask(&Peer::initialize, reference.release(), AllowCrossThreadAccess(&m_loaderProxy), m_workerClientWrapper, sourceURL, lineNumber, syncHelper.release()))) {
|
| // The worker thread has been signalled to shutdown before method completion.
|
| terminatePeer();
|
| }
|
|
|