| Index: third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
|
| diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc b/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
|
| index 752e9a102cc6901281170bdc04c686c9ba2dd829..9b15c9cc38e2041b3fadf35e118173d53c671cd7 100644
|
| --- a/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
|
| +++ b/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
|
| @@ -487,6 +487,8 @@ void RendererSchedulerImpl::OnRendererBackgrounded() {
|
|
|
| MainThreadOnly().renderer_backgrounded = true;
|
|
|
| + UpdatePolicy();
|
| +
|
| base::TimeTicks now = tick_clock()->NowTicks();
|
| MainThreadOnly().foreground_main_thread_load_tracker.Pause(now);
|
| MainThreadOnly().background_main_thread_load_tracker.Resume(now);
|
| @@ -513,6 +515,8 @@ void RendererSchedulerImpl::OnRendererForegrounded() {
|
| MainThreadOnly().renderer_backgrounded = false;
|
| MainThreadOnly().renderer_suspended = false;
|
|
|
| + UpdatePolicy();
|
| +
|
| base::TimeTicks now = tick_clock()->NowTicks();
|
| MainThreadOnly().foreground_main_thread_load_tracker.Resume(now);
|
| MainThreadOnly().background_main_thread_load_tracker.Pause(now);
|
| @@ -1073,6 +1077,11 @@ void RendererSchedulerImpl::UpdatePolicyLocked(UpdateType update_type) {
|
| ShouldDisableThrottlingBecauseOfAudio(now) ||
|
| MainThreadOnly().use_virtual_time;
|
|
|
| + // TODO(altimin): Consider adding default timer tq to background time
|
| + // budget pool.
|
| + if (MainThreadOnly().renderer_backgrounded)
|
| + new_policy.timer_queue_policy.time_domain_type = TimeDomainType::THROTTLED;
|
| +
|
| // Tracing is done before the early out check, because it's quite possible we
|
| // will otherwise miss this information in traces.
|
| CreateTraceEventObjectSnapshotLocked();
|
|
|