| Index: content/renderer/scheduler/renderer_scheduler_impl.cc
|
| diff --git a/content/renderer/scheduler/renderer_scheduler_impl.cc b/content/renderer/scheduler/renderer_scheduler_impl.cc
|
| index a0f683f95888f1a0fa9a8809cbaddfa0800e7017..7959ec7d3a07b589d024fd7ddd5e43d943d0d85f 100644
|
| --- a/content/renderer/scheduler/renderer_scheduler_impl.cc
|
| +++ b/content/renderer/scheduler/renderer_scheduler_impl.cc
|
| @@ -136,6 +136,15 @@ void RendererSchedulerImpl::UpdateForInputEvent() {
|
| last_input_time_ = Now();
|
| }
|
|
|
| +bool RendererSchedulerImpl::ShouldAnticipateHighPriorityWork() {
|
| + main_thread_checker_.CalledOnValidThread();
|
| + if (!task_queue_manager_)
|
| + return false;
|
| +
|
| + MaybeUpdatePolicy();
|
| + return SchedulerPolicy() == COMPOSITOR_PRIORITY_POLICY;
|
| +}
|
| +
|
| bool RendererSchedulerImpl::ShouldYieldForHighPriorityWork() {
|
| main_thread_checker_.CalledOnValidThread();
|
| if (!task_queue_manager_)
|
| @@ -146,6 +155,8 @@ bool RendererSchedulerImpl::ShouldYieldForHighPriorityWork() {
|
| // work outstanding. Note: even though the control queue is higher priority
|
| // we don't yield for it since these tasks are not user-provided work and they
|
| // are only intended to run before the next task, not interrupt the tasks.
|
| + // Note: This function could conceivable be implemented in terms of
|
| + // |ShouldAnticipateHighPriorityWork|, but for clarity is not.
|
| return SchedulerPolicy() == COMPOSITOR_PRIORITY_POLICY &&
|
| !task_queue_manager_->IsQueueEmpty(COMPOSITOR_TASK_QUEUE);
|
| }
|
|
|