| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 namespace blink { | 43 namespace blink { |
| 44 | 44 |
| 45 std::unique_ptr<InProcessWorkerObjectProxy> InProcessWorkerObjectProxy::create(I
nProcessWorkerMessagingProxy* messagingProxy) | 45 std::unique_ptr<InProcessWorkerObjectProxy> InProcessWorkerObjectProxy::create(I
nProcessWorkerMessagingProxy* messagingProxy) |
| 46 { | 46 { |
| 47 DCHECK(messagingProxy); | 47 DCHECK(messagingProxy); |
| 48 return wrapUnique(new InProcessWorkerObjectProxy(messagingProxy)); | 48 return wrapUnique(new InProcessWorkerObjectProxy(messagingProxy)); |
| 49 } | 49 } |
| 50 | 50 |
| 51 void InProcessWorkerObjectProxy::postMessageToWorkerObject(PassRefPtr<Serialized
ScriptValue> message, std::unique_ptr<MessagePortChannelArray> channels) | 51 void InProcessWorkerObjectProxy::postMessageToWorkerObject(PassRefPtr<Serialized
ScriptValue> message, std::unique_ptr<MessagePortChannelArray> channels) |
| 52 { | 52 { |
| 53 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::postMessageToWorkerObject, AllowCrossThreadAccess(m_m
essagingProxy), message, passed(std::move(channels)))); | 53 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::postMessageToWorkerObject, crossThreadUnretained(m_me
ssagingProxy), message, passed(std::move(channels)))); |
| 54 } | 54 } |
| 55 | 55 |
| 56 void InProcessWorkerObjectProxy::postTaskToMainExecutionContext(std::unique_ptr<
ExecutionContextTask> task) | 56 void InProcessWorkerObjectProxy::postTaskToMainExecutionContext(std::unique_ptr<
ExecutionContextTask> task) |
| 57 { | 57 { |
| 58 getExecutionContext()->postTask(BLINK_FROM_HERE, std::move(task)); | 58 getExecutionContext()->postTask(BLINK_FROM_HERE, std::move(task)); |
| 59 } | 59 } |
| 60 | 60 |
| 61 void InProcessWorkerObjectProxy::confirmMessageFromWorkerObject(bool hasPendingA
ctivity) | 61 void InProcessWorkerObjectProxy::confirmMessageFromWorkerObject(bool hasPendingA
ctivity) |
| 62 { | 62 { |
| 63 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::confirmMessageFromWorkerObject, AllowCrossThreadAcces
s(m_messagingProxy), hasPendingActivity)); | 63 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::confirmMessageFromWorkerObject, crossThreadUnretained
(m_messagingProxy), hasPendingActivity)); |
| 64 } | 64 } |
| 65 | 65 |
| 66 void InProcessWorkerObjectProxy::reportPendingActivity(bool hasPendingActivity) | 66 void InProcessWorkerObjectProxy::reportPendingActivity(bool hasPendingActivity) |
| 67 { | 67 { |
| 68 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::reportPendingActivity, AllowCrossThreadAccess(m_messa
gingProxy), hasPendingActivity)); | 68 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::reportPendingActivity, crossThreadUnretained(m_messag
ingProxy), hasPendingActivity)); |
| 69 } | 69 } |
| 70 | 70 |
| 71 void InProcessWorkerObjectProxy::reportException(const String& errorMessage, std
::unique_ptr<SourceLocation> location) | 71 void InProcessWorkerObjectProxy::reportException(const String& errorMessage, std
::unique_ptr<SourceLocation> location) |
| 72 { | 72 { |
| 73 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::reportException, AllowCrossThreadAccess(m_messagingPr
oxy), errorMessage, passed(std::move(location)))); | 73 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::reportException, crossThreadUnretained(m_messagingPro
xy), errorMessage, passed(std::move(location)))); |
| 74 } | 74 } |
| 75 | 75 |
| 76 void InProcessWorkerObjectProxy::reportConsoleMessage(ConsoleMessage* consoleMes
sage) | 76 void InProcessWorkerObjectProxy::reportConsoleMessage(ConsoleMessage* consoleMes
sage) |
| 77 { | 77 { |
| 78 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::reportConsoleMessage, AllowCrossThreadAccess(m_messag
ingProxy), consoleMessage->source(), consoleMessage->level(), consoleMessage->me
ssage(), passed(consoleMessage->location()->clone()))); | 78 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::reportConsoleMessage, crossThreadUnretained(m_messagi
ngProxy), consoleMessage->source(), consoleMessage->level(), consoleMessage->mes
sage(), passed(consoleMessage->location()->clone()))); |
| 79 } | 79 } |
| 80 | 80 |
| 81 void InProcessWorkerObjectProxy::postMessageToPageInspector(const String& messag
e) | 81 void InProcessWorkerObjectProxy::postMessageToPageInspector(const String& messag
e) |
| 82 { | 82 { |
| 83 ExecutionContext* context = getExecutionContext(); | 83 ExecutionContext* context = getExecutionContext(); |
| 84 if (context->isDocument()) | 84 if (context->isDocument()) |
| 85 toDocument(context)->postInspectorTask(BLINK_FROM_HERE, createCrossThrea
dTask(&InProcessWorkerMessagingProxy::postMessageToPageInspector, AllowCrossThre
adAccess(m_messagingProxy), message)); | 85 toDocument(context)->postInspectorTask(BLINK_FROM_HERE, createCrossThrea
dTask(&InProcessWorkerMessagingProxy::postMessageToPageInspector, crossThreadUnr
etained(m_messagingProxy), message)); |
| 86 } | 86 } |
| 87 | 87 |
| 88 void InProcessWorkerObjectProxy::postWorkerConsoleAgentEnabled() | 88 void InProcessWorkerObjectProxy::postWorkerConsoleAgentEnabled() |
| 89 { | 89 { |
| 90 ExecutionContext* context = getExecutionContext(); | 90 ExecutionContext* context = getExecutionContext(); |
| 91 if (context->isDocument()) | 91 if (context->isDocument()) |
| 92 toDocument(context)->postInspectorTask(BLINK_FROM_HERE, createCrossThrea
dTask(&InProcessWorkerMessagingProxy::postWorkerConsoleAgentEnabled, AllowCrossT
hreadAccess(m_messagingProxy))); | 92 toDocument(context)->postInspectorTask(BLINK_FROM_HERE, createCrossThrea
dTask(&InProcessWorkerMessagingProxy::postWorkerConsoleAgentEnabled, crossThread
Unretained(m_messagingProxy))); |
| 93 } | 93 } |
| 94 | 94 |
| 95 void InProcessWorkerObjectProxy::workerGlobalScopeClosed() | 95 void InProcessWorkerObjectProxy::workerGlobalScopeClosed() |
| 96 { | 96 { |
| 97 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::terminateWorkerGlobalScope, AllowCrossThreadAccess(m_
messagingProxy))); | 97 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::terminateWorkerGlobalScope, crossThreadUnretained(m_m
essagingProxy))); |
| 98 } | 98 } |
| 99 | 99 |
| 100 void InProcessWorkerObjectProxy::workerThreadTerminated() | 100 void InProcessWorkerObjectProxy::workerThreadTerminated() |
| 101 { | 101 { |
| 102 // This will terminate the MessagingProxy. | 102 // This will terminate the MessagingProxy. |
| 103 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::workerThreadTerminated, AllowCrossThreadAccess(m_mess
agingProxy))); | 103 getExecutionContext()->postTask(BLINK_FROM_HERE, createCrossThreadTask(&InPr
ocessWorkerMessagingProxy::workerThreadTerminated, crossThreadUnretained(m_messa
gingProxy))); |
| 104 } | 104 } |
| 105 | 105 |
| 106 InProcessWorkerObjectProxy::InProcessWorkerObjectProxy(InProcessWorkerMessagingP
roxy* messagingProxy) | 106 InProcessWorkerObjectProxy::InProcessWorkerObjectProxy(InProcessWorkerMessagingP
roxy* messagingProxy) |
| 107 : m_messagingProxy(messagingProxy) | 107 : m_messagingProxy(messagingProxy) |
| 108 { | 108 { |
| 109 } | 109 } |
| 110 | 110 |
| 111 ExecutionContext* InProcessWorkerObjectProxy::getExecutionContext() | 111 ExecutionContext* InProcessWorkerObjectProxy::getExecutionContext() |
| 112 { | 112 { |
| 113 DCHECK(m_messagingProxy); | 113 DCHECK(m_messagingProxy); |
| 114 return m_messagingProxy->getExecutionContext(); | 114 return m_messagingProxy->getExecutionContext(); |
| 115 } | 115 } |
| 116 | 116 |
| 117 } // namespace blink | 117 } // namespace blink |
| OLD | NEW |