WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
154935
Disable timer throttling increases for visually idle / active pages.
https://bugs.webkit.org/show_bug.cgi?id=154935
Summary
Disable timer throttling increases for visually idle / active pages.
Gavin Barraclough
Reported
2016-03-02 15:51:02 PST
Currently any page that is visually idle can timer throttle, and all are eligible for throttling to increase. Instead, still allow any visually idle page to timer throttle, but only allow increasing in those that are fully hidden & inactive (no page loading or media activity).
Attachments
Fix
(3.19 KB, patch)
2016-03-02 15:54 PST
,
Gavin Barraclough
cdumez
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Gavin Barraclough
Comment 1
2016-03-02 15:54:45 PST
Created
attachment 272699
[details]
Fix
Gavin Barraclough
Comment 2
2016-03-02 16:01:01 PST
Comment on
attachment 272699
[details]
Fix View in context:
https://bugs.webkit.org/attachment.cgi?id=272699&action=review
> Source/WebCore/page/Page.cpp:1188 > + // Timer throttling disabled is page is visually active, or disabled by setting.
Timer throttling disabled *if*
Chris Dumez
Comment 3
2016-03-02 16:07:38 PST
Comment on
attachment 272699
[details]
Fix View in context:
https://bugs.webkit.org/attachment.cgi?id=272699&action=review
r=me, makes sense.
> Source/WebCore/page/Page.cpp:1189 > + if (!(m_viewState & ViewState::IsVisuallyIdle) || !m_settings->hiddenPageDOMTimerThrottlingEnabled()) {
nit: I think logically the !m_settings->hiddenPageDOMTimerThrottlingEnabled() should come first.
> Source/WebCore/page/Page.cpp:1196 > + if (m_viewState & ViewState::IsVisible || m_pageThrottler.activityState() || !m_settings->hiddenPageDOMTimerThrottlingAutoIncreases()) {
nit: I think logically the !m_settings->hiddenPageDOMTimerThrottlingAutoIncreases() condition should come first.
> Source/WebCore/page/Page.cpp:1467 > + updateTimerThrottlingState();
At this point, it may be clearer to move this one (and the one in setIsVisuallyIdleInternal()), to Page::setViewState(ViewState::Flags). Something like: if (changed & ViewState::IsVisible || changed & ViewState::IsVisuallyIdle) updateTimerThrottlingState(); What do you think?
Gavin Barraclough
Comment 4
2016-03-02 16:19:02 PST
Transmitting file data .. Committed revision 197472.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug