Bug 136866

Summary: Exclude page visibility from PageThrottler's hysteresis
Product: WebKit Reporter: Gavin Barraclough <barraclough>
Component: WebKit Misc.Assignee: Gavin Barraclough <barraclough>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Fix ggaren: review+

Description Gavin Barraclough 2014-09-16 13:36:51 PDT
Including visibility in the hysteresis mechanism has the effect of prolonging the visually idle timeout, and causing the page hide event to be run at foreground priority. Neither of these are particularly desirable. Instead separate visibility from the rest of the page activities we track (and apply hysteresis to), and feed this directly into determination of the UserActivity state.
Comment 1 Gavin Barraclough 2014-09-16 13:43:37 PDT
Created attachment 238205 [details]
Fix
Comment 2 Geoffrey Garen 2014-09-16 13:51:56 PDT
Comment on attachment 238205 [details]
Fix

View in context: https://bugs.webkit.org/attachment.cgi?id=238205&action=review

r=me

> Source/WebCore/page/PageThrottler.cpp:78
> +    // Allow throttling if there is no page activity, and the page is viibly idle.

"visually"

> Source/WebCore/platform/HysteresisActivity.h:37
> +    Waiting,

I wonder if "Waiting" would be clearer if it said what it was waiting for. Maybe "WaitingToStop" or "WillStop" "WillStopAfterDelay" or "WillStopSoon".
Comment 3 Gavin Barraclough 2014-09-17 09:32:57 PDT
Committed revision 173693.