| 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)
|
|
|