summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-10-24 11:30:15 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-10-30 12:56:19 +0000
commit6036726eb981b6c4b42047513b9d3f4ac865daac (patch)
tree673593e70678e7789766d1f732eb51f613a2703b /chromium/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc
parent466052c4e7c052268fd931888cd58961da94c586 (diff)
downloadqtwebengine-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.cc48
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