| Index: content/child/scheduler/webthread_impl_for_worker_scheduler.cc
|
| diff --git a/content/child/scheduler/webthread_impl_for_worker_scheduler.cc b/content/child/scheduler/webthread_impl_for_worker_scheduler.cc
|
| index 20379b1212f2ffaa05b2850e4326355412a1ebca..09004f8f4074f6b7266942064c7348ac91a4044b 100644
|
| --- a/content/child/scheduler/webthread_impl_for_worker_scheduler.cc
|
| +++ b/content/child/scheduler/webthread_impl_for_worker_scheduler.cc
|
| @@ -7,6 +7,7 @@
|
| #include "base/bind.h"
|
| #include "base/synchronization/waitable_event.h"
|
| #include "content/child/scheduler/scheduler_message_loop_delegate.h"
|
| +#include "content/child/scheduler/web_scheduler_impl.h"
|
| #include "content/child/scheduler/worker_scheduler_impl.h"
|
| #include "third_party/WebKit/public/platform/WebTraceLocation.h"
|
|
|
| @@ -42,6 +43,10 @@ void WebThreadImplForWorkerScheduler::InitOnThread(
|
| worker_scheduler_->Init();
|
| task_runner_ = worker_scheduler_->DefaultTaskRunner();
|
| idle_task_runner_ = worker_scheduler_->IdleTaskRunner();
|
| + web_scheduler_.reset(new WebSchedulerImpl(
|
| + worker_scheduler_.get(), worker_scheduler_->IdleTaskRunner(),
|
| + worker_scheduler_->DefaultTaskRunner(),
|
| + worker_scheduler_->DefaultTaskRunner()));
|
| completion->Signal();
|
| }
|
|
|
| @@ -49,7 +54,8 @@ void WebThreadImplForWorkerScheduler::ShutDownOnThread(
|
| base::WaitableEvent* completion) {
|
| task_runner_ = nullptr;
|
| idle_task_runner_ = nullptr;
|
| - worker_scheduler_.reset(nullptr);
|
| + web_scheduler_.reset();
|
| + worker_scheduler_.reset();
|
| completion->Signal();
|
| }
|
|
|
| @@ -57,6 +63,10 @@ blink::PlatformThreadId WebThreadImplForWorkerScheduler::threadId() const {
|
| return thread_->thread_id();
|
| }
|
|
|
| +blink::WebScheduler* WebThreadImplForWorkerScheduler::scheduler() const {
|
| + return web_scheduler_.get();
|
| +}
|
| +
|
| base::MessageLoop* WebThreadImplForWorkerScheduler::MessageLoop() const {
|
| // As per WebThreadImpl::MessageLoop()
|
| return nullptr;
|
|
|