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

Unified Diff: third_party/WebKit/Source/platform/scheduler/child/scheduler_helper.cc

Issue 2546423002: [Try # 3] Scheduler refactoring to virtually eliminate redundant DoWorks (Closed)
Patch Set: Rebased Created 4 years 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: third_party/WebKit/Source/platform/scheduler/child/scheduler_helper.cc
diff --git a/third_party/WebKit/Source/platform/scheduler/child/scheduler_helper.cc b/third_party/WebKit/Source/platform/scheduler/child/scheduler_helper.cc
index 5870d2f1d5665caad550a121740f8004aacf04a6..0bbbcbc19f4864f84f1f4be09273b26ffbce03d5 100644
--- a/third_party/WebKit/Source/platform/scheduler/child/scheduler_helper.cc
+++ b/third_party/WebKit/Source/platform/scheduler/child/scheduler_helper.cc
@@ -18,6 +18,19 @@ SchedulerHelper::SchedulerHelper(
const char* tracing_category,
const char* disabled_by_default_tracing_category,
const char* disabled_by_default_verbose_tracing_category)
+ : SchedulerHelper(task_queue_manager_delegate,
+ tracing_category,
+ disabled_by_default_tracing_category,
+ disabled_by_default_verbose_tracing_category,
+ TaskQueue::Spec(TaskQueue::QueueType::DEFAULT)
+ .SetShouldMonitorQuiescence(true)) {}
+
+SchedulerHelper::SchedulerHelper(
+ scoped_refptr<SchedulerTqmDelegate> task_queue_manager_delegate,
+ const char* tracing_category,
+ const char* disabled_by_default_tracing_category,
+ const char* disabled_by_default_verbose_tracing_category,
+ TaskQueue::Spec default_task_queue_spec)
: task_queue_manager_delegate_(task_queue_manager_delegate),
task_queue_manager_(
new TaskQueueManager(task_queue_manager_delegate,
@@ -27,9 +40,7 @@ SchedulerHelper::SchedulerHelper(
control_task_runner_(
NewTaskQueue(TaskQueue::Spec(TaskQueue::QueueType::CONTROL)
.SetShouldNotifyObservers(false))),
- default_task_runner_(
- NewTaskQueue(TaskQueue::Spec(TaskQueue::QueueType::DEFAULT)
- .SetShouldMonitorQuiescence(true))),
+ default_task_runner_(NewTaskQueue(default_task_queue_spec)),
observer_(nullptr),
tracing_category_(tracing_category),
disabled_by_default_tracing_category_(
@@ -55,6 +66,15 @@ void SchedulerHelper::Shutdown() {
task_queue_manager_delegate_->RestoreDefaultTaskRunner();
}
+void SchedulerHelper::SetRecordTaskDelayHistograms(
+ bool record_task_delay_histograms) {
+ if (!task_queue_manager_)
+ return;
+
+ task_queue_manager_->SetRecordTaskDelayHistograms(
+ record_task_delay_histograms);
+}
+
scoped_refptr<TaskQueue> SchedulerHelper::NewTaskQueue(
const TaskQueue::Spec& spec) {
DCHECK(task_queue_manager_.get());

Powered by Google App Engine
This is Rietveld 408576698