| Index: components/scheduler/child/webthread_impl_for_worker_scheduler.cc
|
| diff --git a/components/scheduler/child/webthread_impl_for_worker_scheduler.cc b/components/scheduler/child/webthread_impl_for_worker_scheduler.cc
|
| index afdcb6d50322a49b1a1a1f83c594086ac5b3f467..13d23d7fe8ea8dd893d4b3ddcc1d630d44cc0f03 100644
|
| --- a/components/scheduler/child/webthread_impl_for_worker_scheduler.cc
|
| +++ b/components/scheduler/child/webthread_impl_for_worker_scheduler.cc
|
| @@ -29,7 +29,9 @@ WebThreadImplForWorkerScheduler::WebThreadImplForWorkerScheduler(
|
| bool started = thread_->StartWithOptions(options);
|
| CHECK(started);
|
| thread_task_runner_ = thread_->task_runner();
|
| +}
|
|
|
| +void WebThreadImplForWorkerScheduler::Init() {
|
| base::WaitableEvent completion(false, false);
|
| thread_task_runner_->PostTask(
|
| FROM_HERE, base::Bind(&WebThreadImplForWorkerScheduler::InitOnThread,
|
| @@ -56,7 +58,10 @@ void WebThreadImplForWorkerScheduler::InitOnThread(
|
| thread_->message_loop(), make_scoped_ptr(new base::DefaultTickClock()));
|
| worker_scheduler_ = WorkerScheduler::Create(task_runner_delegate_);
|
| worker_scheduler_->Init();
|
| - task_runner_ = worker_scheduler_->DefaultTaskRunner();
|
| + if (UseThreadTaskRunnerAsDefault())
|
| + task_runner_ = thread_task_runner_;
|
| + else
|
| + task_runner_ = worker_scheduler_->DefaultTaskRunner();
|
| idle_task_runner_ = worker_scheduler_->IdleTaskRunner();
|
| web_scheduler_.reset(new WebSchedulerImpl(
|
| worker_scheduler_.get(), worker_scheduler_->IdleTaskRunner(),
|
| @@ -80,6 +85,10 @@ void WebThreadImplForWorkerScheduler::WillDestroyCurrentMessageLoop() {
|
| worker_scheduler_.reset();
|
| }
|
|
|
| +bool WebThreadImplForWorkerScheduler::UseThreadTaskRunnerAsDefault() const {
|
| + return false;
|
| +}
|
| +
|
| blink::PlatformThreadId WebThreadImplForWorkerScheduler::threadId() const {
|
| return thread_->GetThreadId();
|
| }
|
|
|