New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 616519 link

Starred by 12 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocked on:
issue 647393
issue 673975

Blocking:
issue 481741
issue 623610



Sign in to add a comment

Throttle timers for out-of-view frames

Project Member Reported by skyos...@chromium.org, Jun 1 2016

Issue description

We should run timers for out-of-view frames at a lower frequency (e.g., 1 Hz) to reduce power consumption and the performance overhead for this work which is not likely to produce useful results for the user anyway.
 
Labels: -Pri-3 Pri-1
Let me bump the priority, it's pretty clear that this will have a huge positive impact on the user experience.
Labels: Hotlist-Interventions
For power reductions we should consider not only reducing the frequency but also aligning the wakeups. If five background tabs each have five timed events then even if we throttle each event to 1 Hz we will still be waking up the CPU twenty five times per second. From a power point of view it is much more efficient to wake up the CPU once to process all 25 events.

Or, at least, it *might* be more power efficient. Reality tends to be messy, and synchronizing the timers may have unintended consequences while saving little or no power. But it's worth investigating as part of throttling timers for out-of-view frames.

I think the plan is to use the ThrottlingHelper which should wake them all up at the same time. See ThrottlingHelper::ThrottledRunTime.
Cc: brucedaw...@chromium.org
#4: Actually I've got a question related to that. In Safari timers in each background process are aligned to 1 Hz, but each process uses a random phase offset. According to the commit messages this was done to avoid a thundering herd problem. I'm wondering if that is actually better than just ticking all the timers at once to race to idle.
Blocking: 623610
I would guess that the best option is to issue the timers together, but one at a time - one after another. That avoids the thundering herd (only one executes at a time) but also avoids waking up the CPU throughout the second.

There may be practical considerations that make this work poorly, but it seems worthwhile trying?

The thundering herd problem is particularly acute on laptops when they wake up from standby, and it is particularly bad if many of the long-sleeping processes all try to do disk I/O at the same time, right at the moment when the user is trying to do something. In the browser case it should be much less severe because:
a) There's only one second worth of deferred work, rather than hours or days
b) There shouldn't be much disk I/O
c) The tasks aren't synchronized with when the user is trying to get something done.

Agreed that running timers as a synchronized sequence seems like the best option. I've been trying to come up with a way to do that reliably across processes, but it seems tricky especially since the timer tick in any given process might take arbitrarily long (including forever).

Maybe there's some OS-level, cgroups-like construct which could be used to lump all the background renderers together and restrict them to a low number of cores?
Labels: M-53
Project Member

Comment 11 by sheriffbot@chromium.org, Jul 7 2016

Labels: -M-53 M-54 MovedFrom-53
Moving this nonessential bug to the next milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Any update?
Is M54 still happening?


Thanks!
Blocking: 481741
Project Member

Comment 14 by bugdroid1@chromium.org, Aug 30 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd

commit 7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd
Author: skyostil <skyostil@chromium.org>
Date: Tue Aug 30 12:44:39 2016

scheduler: Throttle timers in out-of-view frames

Throttle timer tasks to 1 Hz in out-of-view or invisible frames. This
reduces the power consumption and performance impact of these tasks,
which are not likely having any visible effect on the page anyway.

BUG= 616519 

Review-Url: https://codereview.chromium.org/2023033003
Cr-Commit-Position: refs/heads/master@{#415278}

[modify] https://crrev.com/7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd/content/child/runtime_features.cc
[modify] https://crrev.com/7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd/content/public/common/content_features.cc
[modify] https://crrev.com/7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd/content/public/common/content_features.h
[modify] https://crrev.com/7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
[modify] https://crrev.com/7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd/third_party/WebKit/Source/platform/blink_platform.gypi
[modify] https://crrev.com/7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc
[modify] https://crrev.com/7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.h
[add] https://crrev.com/7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc
[modify] https://crrev.com/7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd/third_party/WebKit/Source/web/WebRuntimeFeatures.cpp
[modify] https://crrev.com/7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd/third_party/WebKit/public/platform/WebFrameScheduler.h
[modify] https://crrev.com/7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd/third_party/WebKit/public/web/WebRuntimeFeatures.h

Labels: -M-54 M-55
Status: Fixed (was: Started)
Labels: -M-55 M-54 Merge-Request-54
Status: Started (was: Fixed)
Requesting a merge to M54 given how this change will drastically improve the user experience.

Comment 17 by dimu@chromium.org, Aug 31 2016

Labels: -Merge-Request-54 Merge-Approved-54 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M54 (branch: 2840)
Project Member

Comment 18 by bugdroid1@chromium.org, Aug 31 2016

Labels: -merge-approved-54 merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623

commit c0d562a6b9a72f723fc5f15d55e0fac04f2dd623
Author: Sami Kyostila <skyostil@chromium.org>
Date: Wed Aug 31 12:22:36 2016

scheduler: Throttle timers in out-of-view frames

Throttle timer tasks to 1 Hz in out-of-view or invisible frames. This
reduces the power consumption and performance impact of these tasks,
which are not likely having any visible effect on the page anyway.

BUG= 616519 

Review-Url: https://codereview.chromium.org/2023033003
Cr-Commit-Position: refs/heads/master@{#415278}
(cherry picked from commit 7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd)

Review URL: https://codereview.chromium.org/2294253002 .

Cr-Commit-Position: refs/branch-heads/2840@{#68}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/content/child/runtime_features.cc
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/content/public/common/content_features.cc
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/content/public/common/content_features.h
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/platform/blink_platform.gypi
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.h
[add] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/web/WebRuntimeFeatures.cpp
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/public/platform/WebFrameScheduler.h
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/public/web/WebRuntimeFeatures.h

I was trying to find this on the perf waterfall but it doesn't seem to show up:

https://chromeperf.appspot.com/report?sid=62377080bed0bdd86b96d904f8cc7d68a1697e7d94266629b824dff51c88934f

I did a local spot check on some sites (desktop):

 - The Verge: 214 tasks/s before, 123 tasks/s with cross-origin throttling and 114 tasks/s with same-origin throttling. CPU time drops from 450ms/s to 269ms/s. Looks like things are working here.
 - Forbes: 223 tasks/s before, 269 tasks/s with cross-origin throttling, 232 tasks/s with same-origin throttling. Looks like this site can't be helped. Most tasks come from the top-level frame.
 - LA times: 186 tasks/s before, 211 tasks/s with cross-origin throttling, 206 tasks/s with same-origin throttling. CPU time goes from 880ms to 718ms with cross-origin. Most tasks come from the top-level frame or visible child frames.

I didn't use a recorded page set for this so don't trust these numbers too much. I think it's safe to say that the effectiveness here is very site-dependent. Let's see what the data from UMA says.

I'll still grab a couple of traces on Android.
Looks like it's next to impossible to get a trace out of power.tough_ad_cases because of Telemetry changes, but I did find out that the overall number of timer fires is basically unaffected by visibility-based throttling on androidcentral.com. I think we'll need to come up with a more aggressive intervention if we want to improve sites like that.
Noticed this had a pretty big positive impact on Google Plus and Docs, but unfortunately most of it went away after we stopped throttling 0x0 frames:

https://chromeperf.appspot.com/group_report?bug_id=647009

Comment 22 by kbr@chromium.org, Sep 17 2016

Blockedon: 647393
Project Member

Comment 23 by bugdroid1@chromium.org, Oct 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7a651d546b76499821b4ba47b8f017d4b8becac

commit a7a651d546b76499821b4ba47b8f017d4b8becac
Author: altimin <altimin@chromium.org>
Date: Thu Oct 06 02:40:20 2016

[scheduler] Teach scheduler about audio state

This patch wires information about audio state to renderer scheduler
and stops all throttling (background and offscreen) while
audio is playing and for a short period after audio is stopped.

BUG= 642321 , 616519 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2383473002
Cr-Commit-Position: refs/heads/master@{#423405}

[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/cc/test/ordered_simple_task_runner.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/browser/media/audio_stream_monitor.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/common/page_messages.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/public/browser/web_contents.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/renderer/render_view_impl.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/renderer/render_view_impl.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/web/WebViewImpl.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/public/platform/WebViewScheduler.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/public/web/WebView.h

Project Member

Comment 24 by bugdroid1@chromium.org, Oct 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ab94f97287e2649a65b633fe8e5d841ff2a65716

commit ab94f97287e2649a65b633fe8e5d841ff2a65716
Author: erikchen <erikchen@chromium.org>
Date: Tue Oct 11 01:34:58 2016

Revert "[scheduler] Teach scheduler about audio state"

> This patch wires information about audio state to renderer scheduler
> and stops all throttling (background and offscreen) while
> audio is playing and for a short period after audio is stopped.
>
> BUG= 642321 ,  616519 
> CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
>
> Committed: https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac
> Cr-Commit-Position: refs/heads/master@{#423405}

BUG=653865,  642321 ,  616519 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
TBR=clamy@chromium.org, skyostil@chromium.org, dcheng@chromium.org, alexclarke@chromium.org

Review-Url: https://codereview.chromium.org/2408003002
Cr-Commit-Position: refs/heads/master@{#424334}

[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/cc/test/ordered_simple_task_runner.cc
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/content/browser/media/audio_stream_monitor.cc
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/content/common/page_messages.h
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/content/public/browser/web_contents.h
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/content/renderer/render_view_impl.cc
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/content/renderer/render_view_impl.h
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler.cc
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler.h
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.h
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/third_party/WebKit/Source/web/WebViewImpl.h
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/third_party/WebKit/public/platform/WebViewScheduler.h
[modify] https://crrev.com/ab94f97287e2649a65b633fe8e5d841ff2a65716/third_party/WebKit/public/web/WebView.h

Project Member

Comment 25 by bugdroid1@chromium.org, Oct 11 2016

Labels: merge-merged-2883
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d0175120266fb9eaf5068312e164e21cc1767c6d

commit d0175120266fb9eaf5068312e164e21cc1767c6d
Author: erikchen <erikchen@chromium.org>
Date: Tue Oct 11 01:51:37 2016

[Merge to 2883] Revert "[scheduler] Teach scheduler about audio state"

> > This patch wires information about audio state to renderer scheduler
> > and stops all throttling (background and offscreen) while
> > audio is playing and for a short period after audio is stopped.
> >
> > BUG= 642321 ,  616519 
> > CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
> >
> > Committed: https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac
> > Cr-Commit-Position: refs/heads/master@{#423405}
>
> BUG=653865,  642321 ,  616519 
> CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
> TBR=clamy@chromium.org, skyostil@chromium.org, dcheng@chromium.org, alexclarke@chromium.org
>
> Review-Url: https://codereview.chromium.org/2408003002
> Cr-Commit-Position: refs/heads/master@{#424334}
> (cherry picked from commit ab94f97287e2649a65b633fe8e5d841ff2a65716)

Review URL: https://codereview.chromium.org/2403363003 .

Cr-Commit-Position: refs/branch-heads/2883@{#30}
Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768}

[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/cc/test/ordered_simple_task_runner.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/browser/media/audio_stream_monitor.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/common/page_messages.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/public/browser/web_contents.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/renderer/render_view_impl.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/renderer/render_view_impl.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/web/WebViewImpl.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/public/platform/WebViewScheduler.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/public/web/WebView.h

Project Member

Comment 26 by bugdroid1@chromium.org, Oct 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7a651d546b76499821b4ba47b8f017d4b8becac

commit a7a651d546b76499821b4ba47b8f017d4b8becac
Author: altimin <altimin@chromium.org>
Date: Thu Oct 06 02:40:20 2016

[scheduler] Teach scheduler about audio state

This patch wires information about audio state to renderer scheduler
and stops all throttling (background and offscreen) while
audio is playing and for a short period after audio is stopped.

BUG= 642321 , 616519 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2383473002
Cr-Commit-Position: refs/heads/master@{#423405}

[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/cc/test/ordered_simple_task_runner.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/browser/media/audio_stream_monitor.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/common/page_messages.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/public/browser/web_contents.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/renderer/render_view_impl.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/content/renderer/render_view_impl.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/Source/web/WebViewImpl.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/public/platform/WebViewScheduler.h
[modify] https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac/third_party/WebKit/public/web/WebView.h

Project Member

Comment 27 by bugdroid1@chromium.org, Oct 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d0175120266fb9eaf5068312e164e21cc1767c6d

commit d0175120266fb9eaf5068312e164e21cc1767c6d
Author: erikchen <erikchen@chromium.org>
Date: Tue Oct 11 01:51:37 2016

[Merge to 2883] Revert "[scheduler] Teach scheduler about audio state"

> > This patch wires information about audio state to renderer scheduler
> > and stops all throttling (background and offscreen) while
> > audio is playing and for a short period after audio is stopped.
> >
> > BUG= 642321 ,  616519 
> > CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
> >
> > Committed: https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac
> > Cr-Commit-Position: refs/heads/master@{#423405}
>
> BUG=653865,  642321 ,  616519 
> CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
> TBR=clamy@chromium.org, skyostil@chromium.org, dcheng@chromium.org, alexclarke@chromium.org
>
> Review-Url: https://codereview.chromium.org/2408003002
> Cr-Commit-Position: refs/heads/master@{#424334}
> (cherry picked from commit ab94f97287e2649a65b633fe8e5d841ff2a65716)

Review URL: https://codereview.chromium.org/2403363003 .

Cr-Commit-Position: refs/branch-heads/2883@{#30}
Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768}

[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/cc/test/ordered_simple_task_runner.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/browser/media/audio_stream_monitor.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/common/page_messages.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/public/browser/web_contents.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/renderer/render_view_impl.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/content/renderer/render_view_impl.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/Source/web/WebViewImpl.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/public/platform/WebViewScheduler.h
[modify] https://crrev.com/d0175120266fb9eaf5068312e164e21cc1767c6d/third_party/WebKit/public/web/WebView.h

Project Member

Comment 28 by bugdroid1@chromium.org, Oct 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623

commit c0d562a6b9a72f723fc5f15d55e0fac04f2dd623
Author: Sami Kyostila <skyostil@chromium.org>
Date: Wed Aug 31 12:22:36 2016

scheduler: Throttle timers in out-of-view frames

Throttle timer tasks to 1 Hz in out-of-view or invisible frames. This
reduces the power consumption and performance impact of these tasks,
which are not likely having any visible effect on the page anyway.

BUG= 616519 

Review-Url: https://codereview.chromium.org/2023033003
Cr-Commit-Position: refs/heads/master@{#415278}
(cherry picked from commit 7fec349e59e40dd9beee5f7eafa9e0db5c4ac1bd)

Review URL: https://codereview.chromium.org/2294253002 .

Cr-Commit-Position: refs/branch-heads/2840@{#68}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/content/child/runtime_features.cc
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/content/public/common/content_features.cc
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/content/public/common/content_features.h
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/platform/blink_platform.gypi
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.h
[add] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/Source/web/WebRuntimeFeatures.cpp
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/public/platform/WebFrameScheduler.h
[modify] https://crrev.com/c0d562a6b9a72f723fc5f15d55e0fac04f2dd623/third_party/WebKit/public/web/WebRuntimeFeatures.h

Project Member

Comment 29 by bugdroid1@chromium.org, Nov 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5d3d4c00320aadad4a044dcb0241b86fc184b114

commit 5d3d4c00320aadad4a044dcb0241b86fc184b114
Author: skyostil <skyostil@chromium.org>
Date: Tue Nov 01 12:02:31 2016

Use intersection observer to control frame throttling

This patch removes the FrameView-specific code for computing viewport
visibility in favor of registering an internal intersection observer.

BUG= 616519 

Review-Url: https://codereview.chromium.org/2272773002
Cr-Commit-Position: refs/heads/master@{#428984}

[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/LayoutTests/http/tests/activedomobject/media-expected.txt
[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/LayoutTests/http/tests/activedomobject/media.html
[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.cpp
[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.h
[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/Source/core/dom/IntersectionObserver.h
[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/Source/core/frame/FrameView.h
[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.cpp
[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/Source/core/layout/svg/LayoutSVGModelObject.cpp
[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/Source/core/layout/svg/SVGLayoutSupport.cpp
[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/Source/core/layout/svg/SVGLayoutSupport.h
[modify] https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp

Project Member

Comment 30 by bugdroid1@chromium.org, Nov 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8036385ba33338a6ce38dc5ffc72fbbea12e79ae

commit 8036385ba33338a6ce38dc5ffc72fbbea12e79ae
Author: rouslan <rouslan@chromium.org>
Date: Tue Nov 01 14:40:17 2016

Revert of Use intersection observer to control frame throttling (patchset #24 id:460001 of https://codereview.chromium.org/2272773002/ )

Reason for revert:
Speculative revert to fix failures in fast/loader/open-in-srcdoc-unload.html

Failed builds:
https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Precise%20Leak/builds/1345
https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Precise%20Leak/builds/1346
https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Precise%20Leak/builds/1347

Error message:
fast/loader/open-in-srcdoc-unload.html failed unexpectedly (leak detected: ({"numberOfLiveActiveDOMObjects":[2,3]}))

Original issue's description:
> Use intersection observer to control frame throttling
>
> This patch removes the FrameView-specific code for computing viewport
> visibility in favor of registering an internal intersection observer.
>
> BUG= 616519 
>
> Committed: https://crrev.com/5d3d4c00320aadad4a044dcb0241b86fc184b114
> Cr-Commit-Position: refs/heads/master@{#428984}

TBR=ojan@chromium.org,dgrogan@chromium.org,haraken@chromium.org,szager@chromium.org,skyostil@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 616519 

Review-Url: https://codereview.chromium.org/2470793002
Cr-Commit-Position: refs/heads/master@{#429000}

[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/LayoutTests/http/tests/activedomobject/media-expected.txt
[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/LayoutTests/http/tests/activedomobject/media.html
[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.cpp
[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.h
[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/Source/core/dom/IntersectionObserver.h
[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/Source/core/frame/FrameView.h
[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.cpp
[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/Source/core/layout/svg/LayoutSVGModelObject.cpp
[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/Source/core/layout/svg/SVGLayoutSupport.cpp
[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/Source/core/layout/svg/SVGLayoutSupport.h
[modify] https://crrev.com/8036385ba33338a6ce38dc5ffc72fbbea12e79ae/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp

Project Member

Comment 31 by bugdroid1@chromium.org, Nov 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c364c812da0312a104e976ca5838507efe3488e

commit 3c364c812da0312a104e976ca5838507efe3488e
Author: skyostil <skyostil@chromium.org>
Date: Tue Nov 01 17:56:08 2016

Use intersection observer to control frame throttling

This patch removes the FrameView-specific code for computing viewport
visibility in favor of registering an internal intersection observer.

BUG= 616519 , 647393 ,661182

Review-Url: https://codereview.chromium.org/2272773002
Cr-Commit-Position: refs/heads/master@{#429046}

[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/LayoutTests/LeakExpectations
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/LayoutTests/http/tests/activedomobject/media-expected.txt
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/LayoutTests/http/tests/activedomobject/media.html
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.cpp
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.h
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/dom/IntersectionObserver.h
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/frame/FrameView.h
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.cpp
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/layout/svg/LayoutSVGModelObject.cpp
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/layout/svg/SVGLayoutSupport.cpp
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/layout/svg/SVGLayoutSupport.h
[modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp

Project Member

Comment 32 by bugdroid1@chromium.org, Nov 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf

commit d8bd26c6124f76be5a0c7cfacc39c3996dd29adf
Author: altimin <altimin@chromium.org>
Date: Fri Nov 04 11:44:54 2016

[scheduler] Teach scheduler about audio state

This patch wires information about audio state to renderer scheduler
and stops all throttling (background and offscreen) while
audio is playing and for a short period after audio is stopped.

BUG= 642321 , 616519 ,  656019 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Committed: https://crrev.com/a7a651d546b76499821b4ba47b8f017d4b8becac
Review-Url: https://codereview.chromium.org/2383473002
Cr-Original-Commit-Position: refs/heads/master@{#423405}
Cr-Commit-Position: refs/heads/master@{#429861}

[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/cc/test/ordered_simple_task_runner.cc
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/content/browser/media/audio_stream_monitor.cc
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/content/common/page_messages.h
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/content/public/browser/web_contents.h
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/content/renderer/render_view_impl.cc
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/content/renderer/render_view_impl.h
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler.cc
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler.h
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.h
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/third_party/WebKit/Source/web/WebViewImpl.h
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/third_party/WebKit/public/platform/WebViewScheduler.h
[modify] https://crrev.com/d8bd26c6124f76be5a0c7cfacc39c3996dd29adf/third_party/WebKit/public/web/WebView.h

Project Member

Comment 33 by bugdroid1@chromium.org, Nov 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1688130897aed95d32e3904a6aa10384414fbefe

commit 1688130897aed95d32e3904a6aa10384414fbefe
Author: skyostil <skyostil@chromium.org>
Date: Wed Nov 16 22:14:29 2016

scheduler: Re-enable timer throttling for hidden frames

Turn hidden timer throttling back now that the issue with Gmail pop-ups
not working has been resolved by https://codereview.chromium.org/2272773002/.

This patch also fixes a timer throttling related rebase error in a
previous patch and adds new layout test that cover out-of-view timer
and requestAnimationFrame throttling.

Intent to ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/_Lhz8THHk2Q

BUG= 616519 , 647393 

Review-Url: https://codereview.chromium.org/2468863002
Cr-Commit-Position: refs/heads/master@{#432642}

[modify] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/content/public/common/content_features.cc
[add] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/third_party/WebKit/LayoutTests/fast/dom/raf-throttling-out-of-view-cross-origin-page.html
[add] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/third_party/WebKit/LayoutTests/fast/dom/resources/raf-throttling-frame.html
[add] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/third_party/WebKit/LayoutTests/fast/dom/resources/timer-throttling-frame.html
[add] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/third_party/WebKit/LayoutTests/fast/dom/timer-throttling-out-of-view-cross-origin-page.html
[modify] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/test-helpers.js
[modify] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/third_party/WebKit/Source/core/frame/FrameView.cpp

Status: Fixed (was: Started)

Comment 35 by kbr@chromium.org, Nov 17 2016

Status: Started (was: Fixed)
 Issue 647393  has regressed again and is broken in 56.0.2923.0 (Official Build) canary (64-bit) on macOS.

I think that 1688130897aed95d32e3904a6aa10384414fbefe should be reverted for M56.

Sami, I'm reopening this.

Hmm, that is surprising :( I tested the new version specifically on Gmail to make sure pop-ups work. Maybe there's still something different on Mac.

Let me pull out the patch again for now.
Project Member

Comment 37 by bugdroid1@chromium.org, Nov 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/32461cca06891c91b22bb827c240333035d37289

commit 32461cca06891c91b22bb827c240333035d37289
Author: skyostil <skyostil@chromium.org>
Date: Fri Nov 18 03:27:23 2016

Revert of scheduler: Re-enable timer throttling for hidden frames (patchset #6 id:100001 of https://codereview.chromium.org/2468863002/ )

Reason for revert:
Regressed  crbug.com/647393 .

Original issue's description:
> scheduler: Re-enable timer throttling for hidden frames
>
> Turn hidden timer throttling back now that the issue with Gmail pop-ups
> not working has been resolved by https://codereview.chromium.org/2272773002/.
>
> This patch also fixes a timer throttling related rebase error in a
> previous patch and adds new layout test that cover out-of-view timer
> and requestAnimationFrame throttling.
>
> Intent to ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/_Lhz8THHk2Q
>
> BUG= 616519 , 647393 
>
> Committed: https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe
> Cr-Commit-Position: refs/heads/master@{#432642}

TBR=kinuko@chromium.org,ojan@chromium.org,ojan@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 616519 , 647393 

Review-Url: https://codereview.chromium.org/2511283002
Cr-Commit-Position: refs/heads/master@{#433061}

[modify] https://crrev.com/32461cca06891c91b22bb827c240333035d37289/content/public/common/content_features.cc
[delete] https://crrev.com/a713652fa5868b8d3d5dae03856f8e785b5fcff7/third_party/WebKit/LayoutTests/fast/dom/raf-throttling-out-of-view-cross-origin-page.html
[delete] https://crrev.com/a713652fa5868b8d3d5dae03856f8e785b5fcff7/third_party/WebKit/LayoutTests/fast/dom/resources/raf-throttling-frame.html
[delete] https://crrev.com/a713652fa5868b8d3d5dae03856f8e785b5fcff7/third_party/WebKit/LayoutTests/fast/dom/resources/timer-throttling-frame.html
[delete] https://crrev.com/a713652fa5868b8d3d5dae03856f8e785b5fcff7/third_party/WebKit/LayoutTests/fast/dom/timer-throttling-out-of-view-cross-origin-page.html
[modify] https://crrev.com/32461cca06891c91b22bb827c240333035d37289/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/test-helpers.js
[modify] https://crrev.com/32461cca06891c91b22bb827c240333035d37289/third_party/WebKit/Source/core/frame/FrameView.cpp

Project Member

Comment 38 by bugdroid1@chromium.org, Nov 21 2016

Labels: merge-merged-2924
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0cb7b0e7a4157377ffe4728a71fcecabcf7f7411

commit 0cb7b0e7a4157377ffe4728a71fcecabcf7f7411
Author: Sami Kyostila <skyostil@chromium.org>
Date: Mon Nov 21 13:31:58 2016

Revert of scheduler: Re-enable timer throttling for hidden frames (patchset #6 id:100001 of https://codereview.chromium.org/2468863002/ )

Reason for revert:
Regressed  crbug.com/647393 .

Original issue's description:
> scheduler: Re-enable timer throttling for hidden frames
>
> Turn hidden timer throttling back now that the issue with Gmail pop-ups
> not working has been resolved by https://codereview.chromium.org/2272773002/.
>
> This patch also fixes a timer throttling related rebase error in a
> previous patch and adds new layout test that cover out-of-view timer
> and requestAnimationFrame throttling.
>
> Intent to ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/_Lhz8THHk2Q
>
> BUG= 616519 , 647393 
>
> Committed: https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe
> Cr-Commit-Position: refs/heads/master@{#432642}

TBR=kinuko@chromium.org,ojan@chromium.org,ojan@google.com
BUG= 616519 , 647393 

Review-Url: https://codereview.chromium.org/2511283002
Cr-Commit-Position: refs/heads/master@{#433061}
(cherry picked from commit 32461cca06891c91b22bb827c240333035d37289)

Review URL: https://codereview.chromium.org/2520953002 .

Cr-Commit-Position: refs/branch-heads/2924@{#27}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}

[modify] https://crrev.com/0cb7b0e7a4157377ffe4728a71fcecabcf7f7411/content/public/common/content_features.cc
[delete] https://crrev.com/420142c2b9befd8d7163fdf3e66dd637e1452b97/third_party/WebKit/LayoutTests/fast/dom/raf-throttling-out-of-view-cross-origin-page.html
[delete] https://crrev.com/420142c2b9befd8d7163fdf3e66dd637e1452b97/third_party/WebKit/LayoutTests/fast/dom/resources/raf-throttling-frame.html
[delete] https://crrev.com/420142c2b9befd8d7163fdf3e66dd637e1452b97/third_party/WebKit/LayoutTests/fast/dom/resources/timer-throttling-frame.html
[delete] https://crrev.com/420142c2b9befd8d7163fdf3e66dd637e1452b97/third_party/WebKit/LayoutTests/fast/dom/timer-throttling-out-of-view-cross-origin-page.html
[modify] https://crrev.com/0cb7b0e7a4157377ffe4728a71fcecabcf7f7411/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/test-helpers.js
[modify] https://crrev.com/0cb7b0e7a4157377ffe4728a71fcecabcf7f7411/third_party/WebKit/Source/core/frame/FrameView.cpp

Project Member

Comment 39 by bugdroid1@chromium.org, Dec 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61

commit 1667f2eb188cac8da8dcb2fc84a8357fd94b5f61
Author: skyostil <skyostil@chromium.org>
Date: Tue Dec 13 18:17:44 2016

scheduler: Re-enable timer throttling for hidden frames

Turn hidden timer throttling back now that the issue with Gmail pop-ups
not working has been resolved by https://codereview.chromium.org/2272773002/.

This patch also fixes a timer throttling related rebase error in a
previous patch and adds new layout test that cover out-of-view timer
and requestAnimationFrame throttling.

Intent to ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/_Lhz8THHk2Q

BUG= 616519 , 647393 

Review-Url: https://codereview.chromium.org/2468863002
Cr-Commit-Position: refs/heads/master@{#438227}

[modify] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/content/public/common/content_features.cc
[add] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/third_party/WebKit/LayoutTests/fast/dom/raf-throttling-out-of-view-cross-origin-page.html
[add] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/third_party/WebKit/LayoutTests/fast/dom/resources/raf-throttling-frame.html
[add] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/third_party/WebKit/LayoutTests/fast/dom/resources/timer-throttling-frame.html
[add] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/third_party/WebKit/LayoutTests/fast/dom/timer-throttling-out-of-view-cross-origin-page.html
[modify] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/test-helpers.js
[modify] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/third_party/WebKit/Source/core/frame/FrameView.cpp

Comment 40 by kbr@chromium.org, Dec 14 2016

Blockedon: 673975
Status: Fixed (was: Started)

Sign in to add a comment