Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(433)

Unified Diff: components/scheduler/child/webthread_impl_for_worker_scheduler.cc

Issue 1589463002: compositor worker: Use a WebThread for the compositor thread. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: self-nits Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
}

Powered by Google App Engine
This is Rietveld 408576698