summaryrefslogtreecommitdiffstats
path: root/components/scheduler/renderer
diff options
context:
space:
mode:
authorskyostil <skyostil@chromium.org>2015-04-24 10:59:30 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-24 17:59:25 +0000
commita08639cd15b52dfb784cc94295e9fc13823b1d71 (patch)
tree06651c80ca3a1203dcec4bb1ddc286af8641f2d6 /components/scheduler/renderer
parentf2a0b4ecb28f0012325152de861485d536385cc3 (diff)
downloadchromium_src-a08639cd15b52dfb784cc94295e9fc13823b1d71.zip
chromium_src-a08639cd15b52dfb784cc94295e9fc13823b1d71.tar.gz
chromium_src-a08639cd15b52dfb784cc94295e9fc13823b1d71.tar.bz2
scheduler: Encapsulate task queue selector inside the scheduler helper
Encapsulate task queue selector inside the scheduler helper to avoid clients changing task queue states in an uncontrolled way. This will be needed by the upcoming shutdown task queue. No functional changes. BUG=463143 Review URL: https://codereview.chromium.org/1103853004 Cr-Commit-Position: refs/heads/master@{#326833}
Diffstat (limited to 'components/scheduler/renderer')
-rw-r--r--components/scheduler/renderer/renderer_scheduler_impl.cc36
1 files changed, 16 insertions, 20 deletions
diff --git a/components/scheduler/renderer/renderer_scheduler_impl.cc b/components/scheduler/renderer/renderer_scheduler_impl.cc
index 5ed3d6d..4ca86ec 100644
--- a/components/scheduler/renderer/renderer_scheduler_impl.cc
+++ b/components/scheduler/renderer/renderer_scheduler_impl.cc
@@ -362,44 +362,41 @@ void RendererSchedulerImpl::UpdatePolicyLocked(UpdateType update_type) {
new_policy == current_policy_)
return;
- PrioritizingTaskQueueSelector* task_queue_selector =
- helper_.SchedulerTaskQueueSelector();
bool policy_disables_timers = false;
switch (new_policy) {
case Policy::COMPOSITOR_PRIORITY:
- task_queue_selector->SetQueuePriority(
- COMPOSITOR_TASK_QUEUE, PrioritizingTaskQueueSelector::HIGH_PRIORITY);
+ helper_.SetQueuePriority(COMPOSITOR_TASK_QUEUE,
+ PrioritizingTaskQueueSelector::HIGH_PRIORITY);
// TODO(scheduler-dev): Add a task priority between HIGH and BEST_EFFORT
// that still has some guarantee of running.
- task_queue_selector->SetQueuePriority(
+ helper_.SetQueuePriority(
LOADING_TASK_QUEUE,
PrioritizingTaskQueueSelector::BEST_EFFORT_PRIORITY);
break;
case Policy::TOUCHSTART_PRIORITY:
- task_queue_selector->SetQueuePriority(
- COMPOSITOR_TASK_QUEUE, PrioritizingTaskQueueSelector::HIGH_PRIORITY);
- task_queue_selector->DisableQueue(LOADING_TASK_QUEUE);
+ helper_.SetQueuePriority(COMPOSITOR_TASK_QUEUE,
+ PrioritizingTaskQueueSelector::HIGH_PRIORITY);
+ helper_.DisableQueue(LOADING_TASK_QUEUE);
// TODO(alexclarke): Set policy_disables_timers once the blink TimerBase
// refactor is safely landed.
break;
case Policy::NORMAL:
- task_queue_selector->SetQueuePriority(
- COMPOSITOR_TASK_QUEUE,
- PrioritizingTaskQueueSelector::NORMAL_PRIORITY);
- task_queue_selector->SetQueuePriority(
- LOADING_TASK_QUEUE, PrioritizingTaskQueueSelector::NORMAL_PRIORITY);
+ helper_.SetQueuePriority(COMPOSITOR_TASK_QUEUE,
+ PrioritizingTaskQueueSelector::NORMAL_PRIORITY);
+ helper_.SetQueuePriority(LOADING_TASK_QUEUE,
+ PrioritizingTaskQueueSelector::NORMAL_PRIORITY);
break;
}
if (timer_queue_suspend_count_ != 0 || policy_disables_timers) {
- task_queue_selector->DisableQueue(TIMER_TASK_QUEUE);
+ helper_.DisableQueue(TIMER_TASK_QUEUE);
} else {
- helper_.SchedulerTaskQueueSelector()->SetQueuePriority(
- TIMER_TASK_QUEUE, PrioritizingTaskQueueSelector::NORMAL_PRIORITY);
+ helper_.SetQueuePriority(TIMER_TASK_QUEUE,
+ PrioritizingTaskQueueSelector::NORMAL_PRIORITY);
}
- DCHECK(task_queue_selector->IsQueueEnabled(COMPOSITOR_TASK_QUEUE));
+ DCHECK(helper_.IsQueueEnabled(COMPOSITOR_TASK_QUEUE));
if (new_policy != Policy::TOUCHSTART_PRIORITY)
- DCHECK(task_queue_selector->IsQueueEnabled(LOADING_TASK_QUEUE));
+ DCHECK(helper_.IsQueueEnabled(LOADING_TASK_QUEUE));
current_policy_ = new_policy;
@@ -507,8 +504,7 @@ void RendererSchedulerImpl::SuspendTimerQueue() {
helper_.CheckOnValidThread();
timer_queue_suspend_count_++;
ForceUpdatePolicy();
- DCHECK(
- !helper_.SchedulerTaskQueueSelector()->IsQueueEnabled(TIMER_TASK_QUEUE));
+ DCHECK(!helper_.IsQueueEnabled(TIMER_TASK_QUEUE));
}
void RendererSchedulerImpl::ResumeTimerQueue() {