Index: Source/core/workers/WorkerObjectProxy.cpp |
diff --git a/Source/core/workers/WorkerObjectProxy.cpp b/Source/core/workers/WorkerObjectProxy.cpp |
index cdbd221fbe9b1aa9d295669065ddd4164fce7df2..1f4a18d10244fc4315fa43ad60881bb97a5d4c37 100644 |
--- a/Source/core/workers/WorkerObjectProxy.cpp |
+++ b/Source/core/workers/WorkerObjectProxy.cpp |
@@ -32,6 +32,7 @@ |
#include "core/workers/WorkerObjectProxy.h" |
#include "bindings/core/v8/SerializedScriptValue.h" |
+#include "core/dom/CrossThreadTask.h" |
#include "core/dom/Document.h" |
#include "core/dom/ExecutionContext.h" |
#include "core/workers/WorkerMessagingProxy.h" |
@@ -47,7 +48,7 @@ PassOwnPtr<WorkerObjectProxy> WorkerObjectProxy::create(ExecutionContext* execut |
void WorkerObjectProxy::postMessageToWorkerObject(PassRefPtr<SerializedScriptValue> message, PassOwnPtr<MessagePortChannelArray> channels) |
{ |
- m_executionContext->postTask(bind(&WorkerMessagingProxy::postMessageToWorkerObject, m_messagingProxy, message, channels)); |
+ m_executionContext->postTask(createCrossThreadTask(&WorkerMessagingProxy::postMessageToWorkerObject, m_messagingProxy, message, channels)); |
} |
void WorkerObjectProxy::postTaskToMainExecutionContext(PassOwnPtr<ExecutionContextTask> task) |
@@ -57,28 +58,28 @@ void WorkerObjectProxy::postTaskToMainExecutionContext(PassOwnPtr<ExecutionConte |
void WorkerObjectProxy::confirmMessageFromWorkerObject(bool hasPendingActivity) |
{ |
- m_executionContext->postTask(bind(&WorkerMessagingProxy::confirmMessageFromWorkerObject, m_messagingProxy, hasPendingActivity)); |
+ m_executionContext->postTask(createCrossThreadTask(&WorkerMessagingProxy::confirmMessageFromWorkerObject, m_messagingProxy, hasPendingActivity)); |
} |
void WorkerObjectProxy::reportPendingActivity(bool hasPendingActivity) |
{ |
- m_executionContext->postTask(bind(&WorkerMessagingProxy::reportPendingActivity, m_messagingProxy, hasPendingActivity)); |
+ m_executionContext->postTask(createCrossThreadTask(&WorkerMessagingProxy::reportPendingActivity, m_messagingProxy, hasPendingActivity)); |
} |
void WorkerObjectProxy::reportException(const String& errorMessage, int lineNumber, int columnNumber, const String& sourceURL) |
{ |
- m_executionContext->postTask(bind(&WorkerMessagingProxy::reportException, m_messagingProxy, errorMessage.isolatedCopy(), lineNumber, columnNumber, sourceURL.isolatedCopy())); |
+ m_executionContext->postTask(createCrossThreadTask(&WorkerMessagingProxy::reportException, m_messagingProxy, errorMessage, lineNumber, columnNumber, sourceURL)); |
} |
void WorkerObjectProxy::reportConsoleMessage(MessageSource source, MessageLevel level, const String& message, int lineNumber, const String& sourceURL) |
{ |
- m_executionContext->postTask(bind(&WorkerMessagingProxy::reportConsoleMessage, m_messagingProxy, source, level, message.isolatedCopy(), lineNumber, sourceURL.isolatedCopy())); |
+ m_executionContext->postTask(createCrossThreadTask(&WorkerMessagingProxy::reportConsoleMessage, m_messagingProxy, source, level, message, lineNumber, sourceURL)); |
} |
void WorkerObjectProxy::postMessageToPageInspector(const String& message) |
{ |
if (m_executionContext->isDocument()) |
- toDocument(m_executionContext)->postInspectorTask(bind(&WorkerMessagingProxy::postMessageToPageInspector, m_messagingProxy, message.isolatedCopy())); |
+ toDocument(m_executionContext)->postInspectorTask(createCrossThreadTask(&WorkerMessagingProxy::postMessageToPageInspector, m_messagingProxy, message)); |
} |
void WorkerObjectProxy::updateInspectorStateCookie(const String&) |
@@ -88,13 +89,13 @@ void WorkerObjectProxy::updateInspectorStateCookie(const String&) |
void WorkerObjectProxy::workerGlobalScopeClosed() |
{ |
- m_executionContext->postTask(bind(&WorkerMessagingProxy::terminateWorkerGlobalScope, m_messagingProxy)); |
+ m_executionContext->postTask(createCrossThreadTask(&WorkerMessagingProxy::terminateWorkerGlobalScope, m_messagingProxy)); |
} |
void WorkerObjectProxy::workerGlobalScopeDestroyed() |
{ |
// This will terminate the MessagingProxy. |
- m_executionContext->postTask(bind(&WorkerMessagingProxy::workerGlobalScopeDestroyed, m_messagingProxy)); |
+ m_executionContext->postTask(createCrossThreadTask(&WorkerMessagingProxy::workerGlobalScopeDestroyed, m_messagingProxy)); |
} |
WorkerObjectProxy::WorkerObjectProxy(ExecutionContext* executionContext, WorkerMessagingProxy* messagingProxy) |