Index: components/scheduler/renderer/renderer_scheduler_impl.cc |
diff --git a/components/scheduler/renderer/renderer_scheduler_impl.cc b/components/scheduler/renderer/renderer_scheduler_impl.cc |
index 04d56f2dd523d141cae5b53f5ecb09063674ca0c..306c45cc0a783df4c849963c17ec761c1dc2a490 100644 |
--- a/components/scheduler/renderer/renderer_scheduler_impl.cc |
+++ b/components/scheduler/renderer/renderer_scheduler_impl.cc |
@@ -1153,6 +1153,22 @@ void RendererSchedulerImpl::ResetForNavigationLocked() { |
UpdatePolicyLocked(UpdateType::MAY_EARLY_OUT_IF_POLICY_UNCHANGED); |
} |
+void RendererSchedulerImpl::SetTopLevelBlameContext( |
+ base::trace_event::BlameContext* blame_context) { |
+ // Any task that runs in the default task runners belongs to the context of |
+ // all frames (as opposed to a particular frame). Note that the task itself |
+ // may still enter a more specific blame context if necessary. |
+ // |
+ // Per-frame task runners (loading, timers, etc.) are configured with a more |
+ // specific blame context by WebFrameSchedulerImpl. |
+ control_task_runner_->SetBlameContext(blame_context); |
+ DefaultTaskRunner()->SetBlameContext(blame_context); |
+ default_loading_task_runner_->SetBlameContext(blame_context); |
+ default_timer_task_runner_->SetBlameContext(blame_context); |
+ compositor_task_runner_->SetBlameContext(blame_context); |
+ idle_helper_.IdleTaskRunner()->SetBlameContext(blame_context); |
+} |
+ |
void RendererSchedulerImpl::RegisterTimeDomain(TimeDomain* time_domain) { |
helper_.RegisterTimeDomain(time_domain); |
} |