Index: Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp |
diff --git a/Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp b/Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp |
index 9d8b0828f1f7b06485325e38d5fcf5863016b748..e1525d7d8515030b7bfa1bb56b6eceae759c4380 100644 |
--- a/Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp |
+++ b/Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp |
@@ -31,21 +31,10 @@ |
#include "config.h" |
#include "modules/websockets/ThreadableWebSocketChannelClientWrapper.h" |
-#include "core/dom/CrossThreadTask.h" |
-#include "core/dom/ExecutionContext.h" |
-#include "platform/CrossThreadCopier.h" |
-#include "wtf/PassRefPtr.h" |
-#include "wtf/RefPtr.h" |
- |
namespace WebCore { |
ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper(WebSocketChannelClient* client) |
: m_client(client) |
- , m_suspended(false) |
-{ |
-} |
- |
-ThreadableWebSocketChannelClientWrapper::~ThreadableWebSocketChannelClientWrapper() |
{ |
} |
@@ -61,121 +50,44 @@ void ThreadableWebSocketChannelClientWrapper::clearClient() |
void ThreadableWebSocketChannelClientWrapper::didConnect(const String& subprotocol, const String& extensions) |
{ |
- m_pendingTasks.append(createCallbackTask(&didConnectCallback, this, subprotocol, extensions)); |
- if (!m_suspended) |
- processPendingTasks(); |
+ if (m_client) |
+ m_client->didConnect(subprotocol, extensions); |
} |
void ThreadableWebSocketChannelClientWrapper::didReceiveMessage(const String& message) |
{ |
- m_pendingTasks.append(createCallbackTask(&didReceiveMessageCallback, this, message)); |
- if (!m_suspended) |
- processPendingTasks(); |
+ if (m_client) |
+ m_client->didReceiveMessage(message); |
} |
void ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData(PassOwnPtr<Vector<char> > binaryData) |
{ |
- m_pendingTasks.append(createCallbackTask(&didReceiveBinaryDataCallback, this, binaryData)); |
- if (!m_suspended) |
- processPendingTasks(); |
+ if (m_client) |
+ m_client->didReceiveBinaryData(binaryData); |
} |
void ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount(unsigned long bufferedAmount) |
{ |
- m_pendingTasks.append(createCallbackTask(&didUpdateBufferedAmountCallback, this, bufferedAmount)); |
- if (!m_suspended) |
- processPendingTasks(); |
+ if (m_client) |
+ m_client->didUpdateBufferedAmount(bufferedAmount); |
} |
void ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake() |
{ |
- m_pendingTasks.append(createCallbackTask(&didStartClosingHandshakeCallback, this)); |
- if (!m_suspended) |
- processPendingTasks(); |
+ if (m_client) |
+ m_client->didStartClosingHandshake(); |
} |
void ThreadableWebSocketChannelClientWrapper::didClose(unsigned long unhandledBufferedAmount, WebSocketChannelClient::ClosingHandshakeCompletionStatus closingHandshakeCompletion, unsigned short code, const String& reason) |
{ |
- m_pendingTasks.append(createCallbackTask(&didCloseCallback, this, unhandledBufferedAmount, closingHandshakeCompletion, code, reason)); |
- if (!m_suspended) |
- processPendingTasks(); |
+ if (m_client) |
+ m_client->didClose(unhandledBufferedAmount, closingHandshakeCompletion, code, reason); |
} |
void ThreadableWebSocketChannelClientWrapper::didReceiveMessageError() |
{ |
- m_pendingTasks.append(createCallbackTask(&didReceiveMessageErrorCallback, this)); |
- if (!m_suspended) |
- processPendingTasks(); |
-} |
- |
-void ThreadableWebSocketChannelClientWrapper::suspend() |
-{ |
- m_suspended = true; |
-} |
- |
-void ThreadableWebSocketChannelClientWrapper::resume() |
-{ |
- m_suspended = false; |
- processPendingTasks(); |
-} |
- |
-void ThreadableWebSocketChannelClientWrapper::processPendingTasks() |
-{ |
- if (m_suspended) |
- return; |
- Vector<OwnPtr<ExecutionContextTask> > tasks; |
- tasks.swap(m_pendingTasks); |
- for (Vector<OwnPtr<ExecutionContextTask> >::const_iterator iter = tasks.begin(); iter != tasks.end(); ++iter) |
- (*iter)->performTask(0); |
-} |
- |
-void ThreadableWebSocketChannelClientWrapper::didConnectCallback(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> wrapper, const String& subprotocol, const String& extensions) |
-{ |
- ASSERT_UNUSED(context, !context); |
- if (wrapper->m_client) |
- wrapper->m_client->didConnect(subprotocol, extensions); |
-} |
- |
-void ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> wrapper, const String& message) |
-{ |
- ASSERT_UNUSED(context, !context); |
- if (wrapper->m_client) |
- wrapper->m_client->didReceiveMessage(message); |
-} |
- |
-void ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> wrapper, PassOwnPtr<Vector<char> > binaryData) |
-{ |
- ASSERT_UNUSED(context, !context); |
- if (wrapper->m_client) |
- wrapper->m_client->didReceiveBinaryData(binaryData); |
-} |
- |
-void ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> wrapper, unsigned long bufferedAmount) |
-{ |
- ASSERT_UNUSED(context, !context); |
- if (wrapper->m_client) |
- wrapper->m_client->didUpdateBufferedAmount(bufferedAmount); |
-} |
- |
-void ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> wrapper) |
-{ |
- ASSERT_UNUSED(context, !context); |
- if (wrapper->m_client) |
- wrapper->m_client->didStartClosingHandshake(); |
-} |
- |
-void ThreadableWebSocketChannelClientWrapper::didCloseCallback(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> wrapper, unsigned long unhandledBufferedAmount, WebSocketChannelClient::ClosingHandshakeCompletionStatus closingHandshakeCompletion, unsigned short code, const String& reason) |
-{ |
- ASSERT_UNUSED(context, !context); |
- if (wrapper->m_client) |
- wrapper->m_client->didClose(unhandledBufferedAmount, closingHandshakeCompletion, code, reason); |
-} |
- |
-void ThreadableWebSocketChannelClientWrapper::didReceiveMessageErrorCallback(ExecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> wrapper) |
-{ |
- ASSERT_UNUSED(context, !context); |
- if (wrapper->m_client) |
- wrapper->m_client->didReceiveMessageError(); |
+ if (m_client) |
+ m_client->didReceiveMessageError(); |
} |
} // namespace WebCore |