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, |
+ "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); |
+} |
+ |
+void CompositorWorkerScheduler::DidProcessIdleTask() {} |
+ |
} // namespace scheduler |