My recommendation is to extend the functionality of the current Page Visibility API to allow optimizing content not visible in the active area of the viewport. As defined in the Page Visibility 2 Editor's Draft, this would include iframes separate from the parent document, content hidden by CSS manipulation (display:none, opacity:0, visibility hidden, width/height:0), minimization of the window, backgrounding, screen savers, but could also include browser windows hidden from display, or obscured by other windows (ex: Apple's App Nap or botnets running browser shells of webkit/Trident/Chromium purposely hidden from view). Currently, this relates to how the browser is optimizing content, but this could be amended to simply broadcast if it were out of view, and capable of being passively ignored or actively utilized. The spec: https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility2/Overview.html W3C Dialog started here: http://lists.w3.org/Archives/Public/public-web-perf/2014Jan/0040.html Dialog reopened here: http://lists.w3.org/Archives/Public/public-web-perf/2014Sep/0052.html Relevance: http://blogs.keynote.com/the_watch/2014/02/filtering-out-web-performance-monitoring-traffic-from-google-analytics.html
May also align with the following bug tickets: Summary: [GTK] Add support for the hidden page DOM timer throttling https://bugs.webkit.org/show_bug.cgi?id=99059 Don't fire requestAnimationFrame for scripts in frames that are out of view https://bugs.webkit.org/show_bug.cgi?id=100257
Sounds great, we should do this. > minimization of the window, backgrounding, screen savers, but could also include browser windows hidden from display, or obscured by other windows We should have these mostly covered already, on Mac at least (& iOS, to the extent appropriate!). > include iframes separate from the parent document, content hidden by CSS manipulation (display:none, opacity:0, visibility hidden, width/height:0), Don't believe we have any of this yet.
<rdar://problem/27908125>
(In reply to comment #2) > Sounds great, we should do this. > > > minimization of the window, backgrounding, screen savers, but could also include browser windows hidden from display, or obscured by other windows > > We should have these mostly covered already, on Mac at least (& iOS, to the > extent appropriate!). > > > include iframes separate from the parent document, content hidden by CSS manipulation (display:none, opacity:0, visibility hidden, width/height:0), > > Don't believe we have any of this yet. Looks like this part was reverted in https://github.com/w3c/page-visibility/commit/21540308e91d9fad2d91c4b3121e1ce33a2532b2. The latest specification does not have any mention of this.
Closing this as the frame-level optimizations were reverted from the specification.