Changeset 197104 in webkit
- Timestamp:
- Feb 25, 2016, 5:49:08 AM (11 years ago)
- Location:
- releases/WebKitGTK/webkit-2.12/Source/WebCore
- Files:
-
- 6 edited
-
ChangeLog (modified) (1 diff)
-
dom/Document.cpp (modified) (2 diffs)
-
page/Page.cpp (modified) (2 diffs)
-
page/Page.h (modified) (3 diffs)
-
page/Settings.cpp (modified) (2 diffs)
-
page/Settings.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog
r197103 r197104 1 2016-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 1 30 2016-02-22 Myles C. Maxfield <mmaxfield@apple.com> 2 31 -
releases/WebKitGTK/webkit-2.12/Source/WebCore/dom/Document.cpp
r197081 r197104 2909 2909 double Document::minimumTimerInterval() const 2910 2910 { 2911 Page* page = this->page();2911 auto* page = this->page(); 2912 2912 if (!page) 2913 2913 return ScriptExecutionContext::minimumTimerInterval(); … … 2926 2926 double Document::timerAlignmentInterval(bool hasReachedMaxNestingLevel) const 2927 2927 { 2928 double alignmentInterval = ScriptExecutionContext::timerAlignmentInterval(hasReachedMaxNestingLevel); 2929 2928 2930 // Apply Document-level DOMTimer throttling only if timers have reached their maximum nesting level as the Page may still be visible. 2929 2931 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; 2936 2938 } 2937 2939 -
releases/WebKitGTK/webkit-2.12/Source/WebCore/page/Page.cpp
r196753 r197104 207 207 #endif // ENABLE(VIEW_MODE_CSS_MEDIA) 208 208 , m_timerThrottlingEnabled(false) 209 , m_timerAlignmentInterval(DOMTimer::defaultAlignmentInterval()) 209 210 , m_isEditable(false) 210 211 , m_isPrerender(false) … … 1173 1174 1174 1175 m_timerThrottlingEnabled = enabled; 1175 m_settings->setDOMTimerAlignmentInterval(enabled ? DOMTimer::hiddenPageAlignmentInterval() : DOMTimer::defaultAlignmentInterval()); 1176 setDOMTimerAlignmentInterval(enabled ? DOMTimer::hiddenPageAlignmentInterval() : DOMTimer::defaultAlignmentInterval()); 1177 } 1178 1179 void Page::setDOMTimerAlignmentInterval(double alignmentInterval) 1180 { 1181 m_timerAlignmentInterval = alignmentInterval; 1176 1182 1177 1183 for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) { -
releases/WebKitGTK/webkit-2.12/Source/WebCore/page/Page.h
r196753 r197104 220 220 BackForwardController& backForward() const { return *m_backForwardController; } 221 221 222 double domTimerAlignmentInterval() const { return m_timerAlignmentInterval; } 223 222 224 #if ENABLE(VIEW_MODE_CSS_MEDIA) 223 225 enum ViewMode { … … 525 527 void hiddenPageDOMTimerThrottlingStateChanged(); 526 528 void setTimerThrottlingEnabled(bool); 529 void setDOMTimerAlignmentInterval(double); 530 void timerAlignmentIntervalTimerFired(); 527 531 bool canTabSuspend(); 528 532 void updateTabSuspensionState(); … … 614 618 615 619 bool m_timerThrottlingEnabled; 620 double m_timerAlignmentInterval; 616 621 617 622 bool m_isEditable; -
releases/WebKitGTK/webkit-2.12/Source/WebCore/page/Settings.cpp
r196688 r197104 181 181 , m_layoutInterval(layoutScheduleThreshold) 182 182 , m_minimumDOMTimerInterval(DOMTimer::defaultMinimumInterval()) 183 , m_domTimerAlignmentInterval(DOMTimer::defaultAlignmentInterval())184 183 #if ENABLE(TEXT_AUTOSIZING) 185 184 , m_textAutosizingFontScaleFactor(1) … … 486 485 } 487 486 488 void Settings::setDOMTimerAlignmentInterval(double alignmentInterval)489 {490 m_domTimerAlignmentInterval = alignmentInterval;491 }492 493 487 void Settings::setLayoutInterval(std::chrono::milliseconds layoutInterval) 494 488 { -
releases/WebKitGTK/webkit-2.12/Source/WebCore/page/Settings.h
r196688 r197104 159 159 double minimumDOMTimerInterval() const { return m_minimumDOMTimerInterval; } 160 160 161 void setDOMTimerAlignmentInterval(double);162 double domTimerAlignmentInterval() const { return m_domTimerAlignmentInterval; }163 164 161 WEBCORE_EXPORT void setLayoutInterval(std::chrono::milliseconds); 165 162 std::chrono::milliseconds layoutInterval() const { return m_layoutInterval; } … … 304 301 std::chrono::milliseconds m_layoutInterval; 305 302 double m_minimumDOMTimerInterval; 306 double m_domTimerAlignmentInterval;307 303 308 304 #if ENABLE(TEXT_AUTOSIZING)
Note:
See TracChangeset
for help on using the changeset viewer.