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

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

Issue 1895873006: compositor-worker: Initialize CW machinery plumbing to compositor and fire CW rAF callbacks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rename to StubCompositorMutator. Created 4 years, 7 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/compositor_worker_scheduler.cc
diff --git a/components/scheduler/child/compositor_worker_scheduler.cc b/components/scheduler/child/compositor_worker_scheduler.cc
index 38a8a4a5129a03c043863e94f4ed5d657c4f0bae..c6e753d1e239b22abbb059d35ea19b781430c076 100644
--- a/components/scheduler/child/compositor_worker_scheduler.cc
+++ b/components/scheduler/child/compositor_worker_scheduler.cc
@@ -123,9 +123,9 @@ scoped_refptr<TaskQueue> CompositorWorkerScheduler::DefaultTaskRunner() {
scoped_refptr<scheduler::SingleThreadIdleTaskRunner>
CompositorWorkerScheduler::IdleTaskRunner() {
- // TODO(sad): Not having a task-runner for idle tasks means v8 has to fallback
- // to inline GC, which might cause jank.
- return nullptr;
+ return make_scoped_refptr(new SingleThreadIdleTaskRunner(
+ thread_->task_runner(), thread_->task_runner(), this,
Sami 2016/05/05 14:56:08 This is posting idle tasks as regular tasks which
flackr 2016/05/05 15:13:15 See comment below, this is just an interim workaro
Ian Vollick 2016/05/05 16:09:18 Yep, making idle tasks have the same priority as r
Sami 2016/05/05 16:53:39 A big fat TODO is probably fine as long as this is
Sami 2016/05/05 16:53:39 That's fine -- idle work is designed to be indefin
flackr 2016/05/05 18:36:00 Added a big fat TODO.
+ "compositor.scheduler"));
}
bool CompositorWorkerScheduler::CanExceedIdleDeadlineIfRequired() const {
@@ -148,4 +148,13 @@ void CompositorWorkerScheduler::RemoveTaskObserver(
void CompositorWorkerScheduler::Shutdown() {}
+void CompositorWorkerScheduler::OnIdleTaskPosted() {}
+
+base::TimeTicks CompositorWorkerScheduler::WillProcessIdleTask() {
+ // TODO(flackr): Return the next frame time as the deadline instead.
+ return base::TimeTicks::Now() + base::TimeDelta::FromMillisecondsD(16.7);
Sami 2016/05/05 14:56:08 This would give all idle tasks 16ms to run, which
flackr 2016/05/05 15:13:15 The idle task runner seems to be necessary in orde
Sami 2016/05/05 16:53:39 One thing rmcilroy@ pointed out was that oilpan do
flackr 2016/05/05 18:36:00 Added a big fat TODO :-)
+}
+
+void CompositorWorkerScheduler::DidProcessIdleTask() {}
+
} // namespace scheduler

Powered by Google App Engine
This is Rietveld 408576698