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

Side by Side Diff: content/renderer/scheduler/renderer_scheduler_impl.cc

Issue 922733002: scheduler: Implement task observers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Gtestify Created 5 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/scheduler/renderer_scheduler_impl.h" 5 #include "content/renderer/scheduler/renderer_scheduler_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop_proxy.h" 8 #include "base/message_loop/message_loop_proxy.h"
9 #include "base/trace_event/trace_event.h" 9 #include "base/trace_event/trace_event.h"
10 #include "base/trace_event/trace_event_argument.h" 10 #include "base/trace_event/trace_event_argument.h"
(...skipping 30 matching lines...) Expand all
41 &RendererSchedulerImpl::EndIdlePeriod, weak_renderer_scheduler_ptr_)); 41 &RendererSchedulerImpl::EndIdlePeriod, weak_renderer_scheduler_ptr_));
42 idle_task_runner_ = make_scoped_refptr(new SingleThreadIdleTaskRunner( 42 idle_task_runner_ = make_scoped_refptr(new SingleThreadIdleTaskRunner(
43 task_queue_manager_->TaskRunnerForQueue(IDLE_TASK_QUEUE), 43 task_queue_manager_->TaskRunnerForQueue(IDLE_TASK_QUEUE),
44 base::Bind(&RendererSchedulerImpl::CurrentIdleTaskDeadlineCallback, 44 base::Bind(&RendererSchedulerImpl::CurrentIdleTaskDeadlineCallback,
45 weak_renderer_scheduler_ptr_))); 45 weak_renderer_scheduler_ptr_)));
46 renderer_task_queue_selector_->SetQueuePriority( 46 renderer_task_queue_selector_->SetQueuePriority(
47 CONTROL_TASK_QUEUE, RendererTaskQueueSelector::CONTROL_PRIORITY); 47 CONTROL_TASK_QUEUE, RendererTaskQueueSelector::CONTROL_PRIORITY);
48 renderer_task_queue_selector_->DisableQueue(IDLE_TASK_QUEUE); 48 renderer_task_queue_selector_->DisableQueue(IDLE_TASK_QUEUE);
49 task_queue_manager_->SetAutoPump(IDLE_TASK_QUEUE, false); 49 task_queue_manager_->SetAutoPump(IDLE_TASK_QUEUE, false);
50 // TODO(skyostil): Increase this to 4 (crbug.com/444764). 50 // TODO(skyostil): Increase this to 4 (crbug.com/444764).
51 task_queue_manager_->SetWorkBatchSize(1); 51 task_queue_manager_->SetWorkBatchSize(4);
rmcilroy 2015/02/13 16:14:00 Let's do this in a different patch (just in case w
Sami 2015/02/13 16:22:34 Oops, I wasn't actually meaning to do it here. My
52 52
53 for (size_t i = 0; i < TASK_QUEUE_COUNT; i++) { 53 for (size_t i = 0; i < TASK_QUEUE_COUNT; i++) {
54 task_queue_manager_->SetQueueName( 54 task_queue_manager_->SetQueueName(
55 i, TaskQueueIdToString(static_cast<QueueId>(i))); 55 i, TaskQueueIdToString(static_cast<QueueId>(i)));
56 } 56 }
57 TRACE_EVENT_OBJECT_CREATED_WITH_ID( 57 TRACE_EVENT_OBJECT_CREATED_WITH_ID(
58 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), "RendererScheduler", 58 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), "RendererScheduler",
59 this); 59 this);
60 } 60 }
61 61
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 // With no observable effect, these meta events do not indicate a 439 // With no observable effect, these meta events do not indicate a
440 // meaningful touchstart response and should not impact task priority. 440 // meaningful touchstart response and should not impact task priority.
441 return current_state; 441 return current_state;
442 442
443 default: 443 default:
444 break; 444 break;
445 } 445 }
446 return INPUT_ACTIVE; 446 return INPUT_ACTIVE;
447 } 447 }
448 448
449 void RendererSchedulerImpl::AddTaskObserver(
450 base::MessageLoop::TaskObserver* task_observer) {
451 DCHECK(main_thread_checker_.CalledOnValidThread());
452 task_queue_manager_->AddTaskObserver(task_observer);
453 }
454
455 void RendererSchedulerImpl::RemoveTaskObserver(
456 base::MessageLoop::TaskObserver* task_observer) {
457 DCHECK(main_thread_checker_.CalledOnValidThread());
458 task_queue_manager_->RemoveTaskObserver(task_observer);
459 }
460
449 } // namespace content 461 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698