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

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: Add an extra dcheck Created 3 years, 11 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 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 f33bffaae49ef0ce5fa2f3b9654fbb1ff54412e6..6d455de38197232e8bcfbddd451adc5adb22cf6c 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());
@@ -136,8 +156,8 @@ void SchedulerHelper::SweepCanceledDelayedTasks() {
}
RealTimeDomain* SchedulerHelper::real_time_domain() const {
- CheckOnValidThread();
- DCHECK(task_queue_manager_);
+ if (!task_queue_manager_)
+ return nullptr;
return task_queue_manager_->real_time_domain();
}

Powered by Google App Engine
This is Rietveld 408576698