Chromium Code Reviews| Index: third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp |
| diff --git a/third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp b/third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp |
| index d0625a0cfecff35efa6369a830ac72ac374815ef..b5a72ba7bc29f55c54715ae1ae60e258022876a0 100644 |
| --- a/third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp |
| +++ b/third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp |
| @@ -243,22 +243,6 @@ void WebSharedWorkerImpl::DidTerminateWorkerThread() { |
| // WorkerLoaderProxyProvider ------------------------------------------------- |
|
kinuko
2017/04/21 06:05:10
Let's remove this comment too
nhiroki
2017/04/21 08:46:01
Done.
|
| -void WebSharedWorkerImpl::PostTaskToLoader( |
| - const WebTraceLocation& location, |
| - std::unique_ptr<WTF::CrossThreadClosure> task) { |
| - DCHECK(worker_thread_->IsCurrentThread()); |
| - parent_frame_task_runners_->Get(TaskType::kNetworking) |
| - ->PostTask(FROM_HERE, std::move(task)); |
| -} |
| - |
| -void WebSharedWorkerImpl::PostTaskToWorkerGlobalScope( |
| - const WebTraceLocation& location, |
| - std::unique_ptr<WTF::CrossThreadClosure> task) { |
| - DCHECK(IsMainThread()); |
| - TaskRunnerHelper::Get(TaskType::kNetworking, GetWorkerThread()) |
| - ->PostTask(location, std::move(task)); |
| -} |
| - |
| ThreadableLoadingContext* WebSharedWorkerImpl::GetThreadableLoadingContext() { |
| if (!loading_context_) { |
| loading_context_ = |
| @@ -270,6 +254,9 @@ ThreadableLoadingContext* WebSharedWorkerImpl::GetThreadableLoadingContext() { |
| void WebSharedWorkerImpl::Connect( |
| std::unique_ptr<WebMessagePortChannel> web_channel) { |
| DCHECK(IsMainThread()); |
| + // The HTML spec requires to queue a connect event using the DOM manipulation |
| + // task source. |
| + // https://html.spec.whatwg.org/multipage/workers.html#shared-workers-and-the-sharedworker-interface |
| TaskRunnerHelper::Get(TaskType::kDOMManipulation, GetWorkerThread()) |
| ->PostTask( |
| BLINK_FROM_HERE, |
| @@ -365,19 +352,18 @@ void WebSharedWorkerImpl::OnScriptLoaderFinished() { |
| // use the thread's default task runner. Note that |m_document| should not be |
| // used as it's a dummy document for loading that doesn't represent the frame |
| // of any associated document. |
| - parent_frame_task_runners_ = ParentFrameTaskRunners::Create(nullptr); |
| + ParentFrameTaskRunners* task_runners = |
| + ParentFrameTaskRunners::Create(nullptr); |
| loader_proxy_ = WorkerLoaderProxy::Create(this); |
| - reporting_proxy_ = new WebSharedWorkerReportingProxyImpl( |
| - this, parent_frame_task_runners_.Get()); |
| + reporting_proxy_ = new WebSharedWorkerReportingProxyImpl(this, task_runners); |
| worker_thread_ = |
| SharedWorkerThread::Create(name_, loader_proxy_, *reporting_proxy_); |
| probe::scriptImported(loading_document_, main_script_loader_->Identifier(), |
| main_script_loader_->SourceText()); |
| main_script_loader_.Clear(); |
| - GetWorkerThread()->Start(std::move(startup_data), |
| - parent_frame_task_runners_.Get()); |
| + GetWorkerThread()->Start(std::move(startup_data), task_runners); |
| worker_inspector_proxy_->WorkerThreadCreated(ToDocument(loading_document_), |
| GetWorkerThread(), url_); |
| client_->WorkerScriptLoaded(); |