⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 197104 in webkit


Ignore:
Timestamp:
Feb 25, 2016, 5:49:08 AM (11 years ago)
Author:
Carlos Garcia Campos
Message:

Merge r196971 - Some timer alignment cleanup.
​https://bugs.webkit.org/show_bug.cgi?id=154559

Reviewed by Chris Dumez.

Document shouldn't override Page's timer alignment policy with a lower alignment,
and m_domTimerAlignmentInterval isn't really a Settings, it's just the current state
for the page.

  • dom/Document.cpp:

(WebCore::Document::timerAlignmentInterval):

  • take the max of the possible intervals.
  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::setTimerThrottlingEnabled):
(WebCore::Page::setDOMTimerAlignmentInterval):

  • moved here from Settings.
  • page/Page.h:

(WebCore::Page::domTimerAlignmentInterval):

  • moved here from Settings.
  • page/Settings.cpp:

(WebCore::Settings::setDOMTimerAlignmentInterval): Deleted.

  • moved to Page.
  • page/Settings.h:

(WebCore::Settings::domTimerAlignmentInterval): Deleted.

  • moved to Page.
Location:
releases/WebKitGTK/webkit-2.12/Source/WebCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog

    r197103 r197104  
     12016-02-22  Gavin Barraclough  <barraclough@apple.com>
     2
     3        Some timer alignment cleanup.
     4        https://bugs.webkit.org/show_bug.cgi?id=154559
     5
     6        Reviewed by Chris Dumez.
     7
     8        Document shouldn't override Page's timer alignment policy with a lower alignment,
     9        and m_domTimerAlignmentInterval isn't really a Settings, it's just the current state
     10        for the page.
     11
     12        * dom/Document.cpp:
     13        (WebCore::Document::timerAlignmentInterval):
     14            - take the max of the possible intervals.
     15        * page/Page.cpp:
     16        (WebCore::Page::Page):
     17        (WebCore::Page::setTimerThrottlingEnabled):
     18        (WebCore::Page::setDOMTimerAlignmentInterval):
     19            - moved here from Settings.
     20        * page/Page.h:
     21        (WebCore::Page::domTimerAlignmentInterval):
     22            - moved here from Settings.
     23        * page/Settings.cpp:
     24        (WebCore::Settings::setDOMTimerAlignmentInterval): Deleted.
     25            - moved to Page.
     26        * page/Settings.h:
     27        (WebCore::Settings::domTimerAlignmentInterval): Deleted.
     28            - moved to Page.
     29
    1302016-02-22  Myles C. Maxfield  <mmaxfield@apple.com>
    231
  • releases/WebKitGTK/webkit-2.12/Source/WebCore/dom/Document.cpp

    r197081 r197104  
    29092909double Document::minimumTimerInterval() const
    29102910{
    2911     Page* page = this->page();
     2911    auto* page = this->page();
    29122912    if (!page)
    29132913        return ScriptExecutionContext::minimumTimerInterval();
    … …  
    29262926double Document::timerAlignmentInterval(bool hasReachedMaxNestingLevel) const
    29272927{
     2928    double alignmentInterval = ScriptExecutionContext::timerAlignmentInterval(hasReachedMaxNestingLevel);
     2929
    29282930    // Apply Document-level DOMTimer throttling only if timers have reached their maximum nesting level as the Page may still be visible.
    29292931    if (m_isTimerThrottlingEnabled && hasReachedMaxNestingLevel)
    2930         return DOMTimer::hiddenPageAlignmentInterval();
    2931 
    2932     Page* page = this->page();
    2933     if (!page)
    2934         return ScriptExecutionContext::timerAlignmentInterval(hasReachedMaxNestingLevel);
    2935     return page->settings().domTimerAlignmentInterval();
     2932        alignmentInterval = std::max(alignmentInterval, DOMTimer::hiddenPageAlignmentInterval());
     2933
     2934    if (Page* page = this->page())
     2935        alignmentInterval = std::max(alignmentInterval, page->domTimerAlignmentInterval());
     2936
     2937    return alignmentInterval;
    29362938}
    29372939
  • releases/WebKitGTK/webkit-2.12/Source/WebCore/page/Page.cpp

    r196753 r197104  
    207207#endif // ENABLE(VIEW_MODE_CSS_MEDIA)
    208208    , m_timerThrottlingEnabled(false)
     209    , m_timerAlignmentInterval(DOMTimer::defaultAlignmentInterval())
    209210    , m_isEditable(false)
    210211    , m_isPrerender(false)
    … …  
    11731174
    11741175    m_timerThrottlingEnabled = enabled;
    1175     m_settings->setDOMTimerAlignmentInterval(enabled ? DOMTimer::hiddenPageAlignmentInterval() : DOMTimer::defaultAlignmentInterval());
     1176    setDOMTimerAlignmentInterval(enabled ? DOMTimer::hiddenPageAlignmentInterval() : DOMTimer::defaultAlignmentInterval());
     1177}
     1178
     1179void Page::setDOMTimerAlignmentInterval(double alignmentInterval)
     1180{
     1181    m_timerAlignmentInterval = alignmentInterval;
    11761182   
    11771183    for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) {
  • releases/WebKitGTK/webkit-2.12/Source/WebCore/page/Page.h

    r196753 r197104  
    220220    BackForwardController& backForward() const { return *m_backForwardController; }
    221221
     222    double domTimerAlignmentInterval() const { return m_timerAlignmentInterval; }
     223
    222224#if ENABLE(VIEW_MODE_CSS_MEDIA)
    223225    enum ViewMode {
    … …  
    525527    void hiddenPageDOMTimerThrottlingStateChanged();
    526528    void setTimerThrottlingEnabled(bool);
     529    void setDOMTimerAlignmentInterval(double);
     530    void timerAlignmentIntervalTimerFired();
    527531    bool canTabSuspend();
    528532    void updateTabSuspensionState();
    … …  
    614618
    615619    bool m_timerThrottlingEnabled;
     620    double m_timerAlignmentInterval;
    616621
    617622    bool m_isEditable;
  • releases/WebKitGTK/webkit-2.12/Source/WebCore/page/Settings.cpp

    r196688 r197104  
    181181    , m_layoutInterval(layoutScheduleThreshold)
    182182    , m_minimumDOMTimerInterval(DOMTimer::defaultMinimumInterval())
    183     , m_domTimerAlignmentInterval(DOMTimer::defaultAlignmentInterval())
    184183#if ENABLE(TEXT_AUTOSIZING)
    185184    , m_textAutosizingFontScaleFactor(1)
    … …  
    486485}
    487486
    488 void Settings::setDOMTimerAlignmentInterval(double alignmentInterval)
    489 {
    490     m_domTimerAlignmentInterval = alignmentInterval;
    491 }
    492 
    493487void Settings::setLayoutInterval(std::chrono::milliseconds layoutInterval)
    494488{
  • releases/WebKitGTK/webkit-2.12/Source/WebCore/page/Settings.h

    r196688 r197104  
    159159    double minimumDOMTimerInterval() const { return m_minimumDOMTimerInterval; }
    160160
    161     void setDOMTimerAlignmentInterval(double);
    162     double domTimerAlignmentInterval() const { return m_domTimerAlignmentInterval; }
    163 
    164161    WEBCORE_EXPORT void setLayoutInterval(std::chrono::milliseconds);
    165162    std::chrono::milliseconds layoutInterval() const { return m_layoutInterval; }
    … …  
    304301    std::chrono::milliseconds m_layoutInterval;
    305302    double m_minimumDOMTimerInterval;
    306     double m_domTimerAlignmentInterval;
    307303
    308304#if ENABLE(TEXT_AUTOSIZING)
Note: See TracChangeset for help on using the changeset viewer.