Chromium Code Reviews| 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..0a60891164c5c436411f60166cab109c7f78eafc 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,9 @@ void RendererSchedulerImpl::UpdatePolicyLocked(UpdateType update_type) { |
| ShouldDisableThrottlingBecauseOfAudio(now) || |
| MainThreadOnly().use_virtual_time; |
| + if (MainThreadOnly().renderer_backgrounded) |
| + new_policy.timer_queue_policy.time_domain_type = TimeDomainType::THROTTLED; |
|
Sami
2016/12/06 19:09:10
Should we have a TODO around making this also use
altimin
2016/12/07 11:20:09
Done. (And I want to state that I don't really lik
Sami
2016/12/07 19:24:49
(Why would it prevent throttling? The foreground p
|
| + |
| // Tracing is done before the early out check, because it's quite possible we |
| // will otherwise miss this information in traces. |
| CreateTraceEventObjectSnapshotLocked(); |