diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-10-24 11:30:15 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-10-30 12:56:19 +0000 |
commit | 6036726eb981b6c4b42047513b9d3f4ac865daac (patch) | |
tree | 673593e70678e7789766d1f732eb51f613a2703b /chromium/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc | |
parent | 466052c4e7c052268fd931888cd58961da94c586 (diff) | |
download | qtwebengine-chromium-6036726eb981b6c4b42047513b9d3f4ac865daac.tar.gz |
BASELINE: Update Chromium to 70.0.3538.78
Change-Id: Ie634710bf039e26c1957f4ae45e101bd4c434ae7
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc | 48 |
1 files changed, 19 insertions, 29 deletions
diff --git a/chromium/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc b/chromium/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc index 4e5a9048649..c3b6dbf8599 100644 --- a/chromium/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc +++ b/chromium/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc @@ -14,6 +14,7 @@ #include "third_party/blink/renderer/core/fetch/request.h" #include "third_party/blink/renderer/core/frame/csp/content_security_policy.h" #include "third_party/blink/renderer/core/inspector/thread_debugger.h" +#include "third_party/blink/renderer/core/messaging/blink_transferable_message.h" #include "third_party/blink/renderer/core/workers/dedicated_worker.h" #include "third_party/blink/renderer/core/workers/dedicated_worker_object_proxy.h" #include "third_party/blink/renderer/core/workers/dedicated_worker_thread.h" @@ -25,12 +26,6 @@ namespace blink { -struct DedicatedWorkerMessagingProxy::QueuedTask { - scoped_refptr<SerializedScriptValue> message; - Vector<MessagePortChannel> channels; - v8_inspector::V8StackTraceId stack_id; -}; - DedicatedWorkerMessagingProxy::DedicatedWorkerMessagingProxy( ExecutionContext* execution_context, DedicatedWorker* worker_object) @@ -76,24 +71,21 @@ void DedicatedWorkerMessagingProxy::StartWorkerGlobalScope( } void DedicatedWorkerMessagingProxy::PostMessageToWorkerGlobalScope( - scoped_refptr<SerializedScriptValue> message, - Vector<MessagePortChannel> channels, - const v8_inspector::V8StackTraceId& stack_id) { + BlinkTransferableMessage message) { DCHECK(IsParentContextThread()); if (AskedToTerminate()) return; if (!was_script_evaluated_) { - queued_early_tasks_.push_back( - QueuedTask{std::move(message), std::move(channels), stack_id}); + queued_early_tasks_.push_back(std::move(message)); return; } PostCrossThreadTask( *GetWorkerThread()->GetTaskRunner(TaskType::kPostedMessage), FROM_HERE, CrossThreadBind( &DedicatedWorkerObjectProxy::ProcessMessageFromWorkerObject, - CrossThreadUnretained(&WorkerObjectProxy()), std::move(message), - WTF::Passed(std::move(channels)), - CrossThreadUnretained(GetWorkerThread()), stack_id)); + CrossThreadUnretained(&WorkerObjectProxy()), + WTF::Passed(std::move(message)), + CrossThreadUnretained(GetWorkerThread()))); } bool DedicatedWorkerMessagingProxy::HasPendingActivity() const { @@ -105,7 +97,7 @@ void DedicatedWorkerMessagingProxy::DidEvaluateScript(bool success) { DCHECK(IsParentContextThread()); was_script_evaluated_ = true; - Vector<QueuedTask> tasks; + Vector<BlinkTransferableMessage> tasks; queued_early_tasks_.swap(tasks); // The worker thread can already be terminated. @@ -123,28 +115,25 @@ void DedicatedWorkerMessagingProxy::DidEvaluateScript(bool success) { CrossThreadBind( &DedicatedWorkerObjectProxy::ProcessMessageFromWorkerObject, CrossThreadUnretained(&WorkerObjectProxy()), - WTF::Passed(std::move(task.message)), - WTF::Passed(std::move(task.channels)), - CrossThreadUnretained(GetWorkerThread()), task.stack_id)); + WTF::Passed(std::move(task)), + CrossThreadUnretained(GetWorkerThread()))); } } void DedicatedWorkerMessagingProxy::PostMessageToWorkerObject( - scoped_refptr<SerializedScriptValue> message, - Vector<MessagePortChannel> channels, - const v8_inspector::V8StackTraceId& stack_id) { + BlinkTransferableMessage message) { DCHECK(IsParentContextThread()); if (!worker_object_ || AskedToTerminate()) return; ThreadDebugger* debugger = ThreadDebugger::From(ToIsolate(GetExecutionContext())); - MessagePortArray* ports = - MessagePort::EntanglePorts(*GetExecutionContext(), std::move(channels)); - debugger->ExternalAsyncTaskStarted(stack_id); + MessagePortArray* ports = MessagePort::EntanglePorts( + *GetExecutionContext(), std::move(message.ports)); + debugger->ExternalAsyncTaskStarted(message.sender_stack_trace_id); worker_object_->DispatchEvent( - MessageEvent::Create(ports, std::move(message))); - debugger->ExternalAsyncTaskFinished(stack_id); + *MessageEvent::Create(ports, std::move(message.message))); + debugger->ExternalAsyncTaskFinished(message.sender_stack_trace_id); } void DedicatedWorkerMessagingProxy::DispatchErrorEvent( @@ -165,7 +154,8 @@ void DedicatedWorkerMessagingProxy::DispatchErrorEvent( // https://html.spec.whatwg.org/multipage/workers.html#runtime-script-errors-2 ErrorEvent* event = ErrorEvent::Create(error_message, location->Clone(), nullptr); - if (worker_object_->DispatchEvent(event) != DispatchEventResult::kNotCanceled) + if (worker_object_->DispatchEvent(*event) != + DispatchEventResult::kNotCanceled) return; // The worker thread can already be terminated. @@ -203,8 +193,8 @@ DedicatedWorkerMessagingProxy::CreateBackingThreadStartupData( std::unique_ptr<WorkerThread> DedicatedWorkerMessagingProxy::CreateWorkerThread() { - return DedicatedWorkerThread::Create(CreateThreadableLoadingContext(), - WorkerObjectProxy()); + return DedicatedWorkerThread::Create( + worker_object_->Name(), GetExecutionContext(), WorkerObjectProxy()); } } // namespace blink |