Changeset 181753 in webkit
- Timestamp:
- Mar 19, 2015, 12:22:22 PM (10 years ago)
- Location:
- trunk/Source
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r181744 r181753 1 2015-03-19 Chris Dumez <cdumez@apple.com> 2 3 Clean up DOMTimer related settings 4 https://bugs.webkit.org/show_bug.cgi?id=142837 5 6 Reviewed by Darin Adler. 7 8 Clean up DOMTimer related settings: 9 - Make default minimum timer interval 4ms instead of 10ms as all ports 10 were setting it to 4ms and the specifications says 4ms. 11 - Get rid of setters for default DOMTimer interval values as they are 12 not set anymore. 13 - Move default DOMTimer interval values from Settings to DOMTimer as 14 those are global (not per-page) and not really settings. 15 - Stop using abbreviations in the names (e.g. min -> minimum). 16 - Move DOMTimer settings members from Page to Settings. There is no 17 reason for those to be stored on the Page. The getters were private 18 so call-sites had to go via Settings anyway. Also, call-sites already 19 had to do a null check on the page to get the settings. It seems 20 unfortunate for the settings to do another null-check on the page for 21 retrieving the setting value from the page. 22 - Inline the DOMTimer settings getters as these are trivial. 23 24 * dom/Document.cpp: 25 (WebCore::Document::minimumTimerInterval): 26 (WebCore::Document::timerAlignmentInterval): 27 * dom/ScriptExecutionContext.cpp: 28 (WebCore::ScriptExecutionContext::minimumTimerInterval): 29 (WebCore::ScriptExecutionContext::timerAlignmentInterval): 30 * page/DOMTimer.h: 31 * page/Page.cpp: 32 (WebCore::Page::Page): 33 (WebCore::Page::setTimerThrottlingEnabled): 34 (WebCore::Page::setMinimumTimerInterval): Deleted. 35 (WebCore::Page::minimumTimerInterval): Deleted. 36 * page/Page.h: 37 (WebCore::Page::timerAlignmentInterval): Deleted. 38 * page/Settings.cpp: 39 (WebCore::Settings::Settings): 40 (WebCore::Settings::setMinimumDOMTimerInterval): 41 (WebCore::Settings::setDOMTimerAlignmentInterval): 42 (WebCore::Settings::setHiddenPageDOMTimerAlignmentInterval): Deleted. 43 (WebCore::Settings::hiddenPageDOMTimerAlignmentInterval): Deleted. 44 (WebCore::Settings::setDefaultMinDOMTimerInterval): Deleted. 45 (WebCore::Settings::defaultMinDOMTimerInterval): Deleted. 46 (WebCore::Settings::setMinDOMTimerInterval): Deleted. 47 (WebCore::Settings::minDOMTimerInterval): Deleted. 48 (WebCore::Settings::setDefaultDOMTimerAlignmentInterval): Deleted. 49 (WebCore::Settings::defaultDOMTimerAlignmentInterval): Deleted. 50 (WebCore::Settings::domTimerAlignmentInterval): Deleted. 51 * page/Settings.h: 52 (WebCore::Settings::minimumDOMTimerInterval): 53 (WebCore::Settings::domTimerAlignmentInterval): 54 * testing/InternalSettings.cpp: 55 (WebCore::InternalSettings::Backup::Backup): 56 (WebCore::InternalSettings::Backup::restoreTo): 57 (WebCore::InternalSettings::setMinimumTimerInterval): 58 1 59 2015-03-19 Carlos Garcia Campos <cgarcia@igalia.com> 2 60 -
trunk/Source/WebCore/dom/Document.cpp
r181615 r181753 2729 2729 double Document::minimumTimerInterval() const 2730 2730 { 2731 Page* p =page();2732 if (!p )2731 Page* page = this->page(); 2732 if (!page) 2733 2733 return ScriptExecutionContext::minimumTimerInterval(); 2734 return p ->settings().minDOMTimerInterval();2734 return page->settings().minimumDOMTimerInterval(); 2735 2735 } 2736 2736 2737 2737 double Document::timerAlignmentInterval() const 2738 2738 { 2739 Page* p =page();2740 if (!p )2739 Page* page = this->page(); 2740 if (!page) 2741 2741 return ScriptExecutionContext::timerAlignmentInterval(); 2742 return p ->settings().domTimerAlignmentInterval();2742 return page->settings().domTimerAlignmentInterval(); 2743 2743 } 2744 2744 -
trunk/Source/WebCore/dom/ScriptExecutionContext.cpp
r178575 r181753 435 435 // subclass, and provide a way to enumerate a Document's dedicated 436 436 // workers so we can update them all. 437 return Settings::defaultMinDOMTimerInterval();437 return DOMTimer::defaultMinimumInterval(); 438 438 } 439 439 … … 446 446 double ScriptExecutionContext::timerAlignmentInterval() const 447 447 { 448 return Settings::defaultDOMTimerAlignmentInterval();448 return DOMTimer::defaultAlignmentInterval(); 449 449 } 450 450 -
trunk/Source/WebCore/page/DOMTimer.h
r180801 r181753 48 48 public: 49 49 virtual ~DOMTimer(); 50 51 static double defaultMinimumInterval() { return 0.004; } // 4 milliseconds. 52 static double defaultAlignmentInterval() { return 0; } 53 static double hiddenPageAlignmentInterval() { return 1.0; } // 1 second. 50 54 51 55 // Creates a new timer owned by specified ScriptExecutionContext, starts it -
trunk/Source/WebCore/page/Page.cpp
r181442 r181753 188 188 , m_viewMode(ViewModeWindowed) 189 189 #endif // ENABLE(VIEW_MODE_CSS_MEDIA) 190 , m_minimumTimerInterval(Settings::defaultMinDOMTimerInterval())191 190 , m_timerThrottlingEnabled(false) 192 , m_timerAlignmentInterval(Settings::defaultDOMTimerAlignmentInterval())193 191 , m_isEditable(false) 194 192 , m_isPrerender(false) … … 1129 1127 } 1130 1128 1131 void Page::setMinimumTimerInterval(double minimumTimerInterval)1132 {1133 double oldTimerInterval = m_minimumTimerInterval;1134 m_minimumTimerInterval = minimumTimerInterval;1135 for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNextWithWrap(false)) {1136 if (frame->document())1137 frame->document()->adjustMinimumTimerInterval(oldTimerInterval);1138 }1139 }1140 1141 double Page::minimumTimerInterval() const1142 {1143 return m_minimumTimerInterval;1144 }1145 1146 1129 void Page::hiddenPageDOMTimerThrottlingStateChanged() 1147 1130 { … … 1160 1143 1161 1144 m_timerThrottlingEnabled = enabled; 1162 m_ timerAlignmentInterval = enabled ? Settings::hiddenPageDOMTimerAlignmentInterval() : Settings::defaultDOMTimerAlignmentInterval();1163 1164 for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext WithWrap(false)) {1145 m_settings->setDOMTimerAlignmentInterval(enabled ? DOMTimer::hiddenPageAlignmentInterval() : DOMTimer::defaultAlignmentInterval()); 1146 1147 for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) { 1165 1148 if (frame->document()) 1166 1149 frame->document()->didChangeTimerAlignmentInterval(); -
trunk/Source/WebCore/page/Page.h
r181423 r181753 455 455 MediaCanStartListener* takeAnyMediaCanStartListener(); 456 456 457 void setMinimumTimerInterval(double);458 double minimumTimerInterval() const;459 460 double timerAlignmentInterval() const { return m_timerAlignmentInterval; }461 462 457 Vector<Ref<PluginViewBase>> pluginViews(); 463 458 … … 547 542 #endif // ENABLE(VIEW_MODE_CSS_MEDIA) 548 543 549 double m_minimumTimerInterval;550 551 544 bool m_timerThrottlingEnabled; 552 double m_timerAlignmentInterval;553 545 554 546 bool m_isEditable; -
trunk/Source/WebCore/page/Settings.cpp
r180765 r181753 70 70 } 71 71 72 double Settings::gDefaultMinDOMTimerInterval = 0.010; // 10 milliseconds73 double Settings::gDefaultDOMTimerAlignmentInterval = 0;74 double Settings::gHiddenPageDOMTimerAlignmentInterval = 1.0;75 76 72 #if USE(AVFOUNDATION) 77 73 bool Settings::gAVFoundationEnabled = false; … … 164 160 , m_storageBlockingPolicy(SecurityOrigin::AllowAllStorage) 165 161 , m_layoutInterval(layoutScheduleThreshold) 162 , m_minimumDOMTimerInterval(DOMTimer::defaultMinimumInterval()) 163 , m_domTimerAlignmentInterval(DOMTimer::defaultAlignmentInterval()) 166 164 #if ENABLE(TEXT_AUTOSIZING) 167 165 , m_textAutosizingFontScaleFactor(1) … … 216 214 SETTINGS_SETTER_BODIES 217 215 218 void Settings::setHiddenPageDOMTimerAlignmentInterval(double hiddenPageDOMTimerAlignmentinterval)219 {220 gHiddenPageDOMTimerAlignmentInterval = hiddenPageDOMTimerAlignmentinterval;221 }222 223 double Settings::hiddenPageDOMTimerAlignmentInterval()224 {225 return gHiddenPageDOMTimerAlignmentInterval;226 }227 228 216 #if !PLATFORM(COCOA) 229 217 void Settings::initializeDefaultFontFamilies() … … 451 439 } 452 440 453 void Settings::setDefaultMinDOMTimerInterval(double interval) 454 { 455 gDefaultMinDOMTimerInterval = interval; 456 } 457 458 double Settings::defaultMinDOMTimerInterval() 459 { 460 return gDefaultMinDOMTimerInterval; 461 } 462 463 void Settings::setMinDOMTimerInterval(double interval) 464 { 465 if (m_page) 466 m_page->setMinimumTimerInterval(interval); 467 } 468 469 double Settings::minDOMTimerInterval() 470 { 441 void Settings::setMinimumDOMTimerInterval(double interval) 442 { 443 double oldTimerInterval = m_minimumDOMTimerInterval; 444 m_minimumDOMTimerInterval = interval; 445 471 446 if (!m_page) 472 return 0; 473 return m_page->minimumTimerInterval(); 474 } 475 476 void Settings::setDefaultDOMTimerAlignmentInterval(double interval) 477 { 478 gDefaultDOMTimerAlignmentInterval = interval; 479 } 480 481 double Settings::defaultDOMTimerAlignmentInterval() 482 { 483 return gDefaultDOMTimerAlignmentInterval; 484 } 485 486 double Settings::domTimerAlignmentInterval() const 487 { 488 if (!m_page) 489 return 0; 490 return m_page->timerAlignmentInterval(); 447 return; 448 449 for (Frame* frame = &m_page->mainFrame(); frame; frame = frame->tree().traverseNext()) { 450 if (frame->document()) 451 frame->document()->adjustMinimumTimerInterval(oldTimerInterval); 452 } 453 } 454 455 void Settings::setDOMTimerAlignmentInterval(double alignmentInterval) 456 { 457 m_domTimerAlignmentInterval = alignmentInterval; 491 458 } 492 459 -
trunk/Source/WebCore/page/Settings.h
r180765 r181753 164 164 bool needsAcrobatFrameReloadingQuirk() const { return m_needsAdobeFrameReloadingQuirk; } 165 165 166 WEBCORE_EXPORT static void setDefaultMinDOMTimerInterval(double); // Interval specified in seconds. 167 WEBCORE_EXPORT static double defaultMinDOMTimerInterval(); 168 169 static void setHiddenPageDOMTimerAlignmentInterval(double); // Interval specified in seconds. 170 static double hiddenPageDOMTimerAlignmentInterval(); 171 172 WEBCORE_EXPORT void setMinDOMTimerInterval(double); // Per-page; initialized to default value. 173 WEBCORE_EXPORT double minDOMTimerInterval(); 174 175 static void setDefaultDOMTimerAlignmentInterval(double); 176 WEBCORE_EXPORT static double defaultDOMTimerAlignmentInterval(); 177 178 double domTimerAlignmentInterval() const; 166 WEBCORE_EXPORT void setMinimumDOMTimerInterval(double); // Initialized to DOMTimer::defaultMinimumInterval(). 167 WEBCORE_EXPORT double minimumDOMTimerInterval() const { return m_minimumDOMTimerInterval; } 168 169 void setDOMTimerAlignmentInterval(double); 170 double domTimerAlignmentInterval() const { return m_domTimerAlignmentInterval; } 179 171 180 172 WEBCORE_EXPORT void setLayoutInterval(std::chrono::milliseconds); … … 284 276 SecurityOrigin::StorageBlockingPolicy m_storageBlockingPolicy; 285 277 std::chrono::milliseconds m_layoutInterval; 278 double m_minimumDOMTimerInterval; 279 double m_domTimerAlignmentInterval; 280 286 281 #if ENABLE(TEXT_AUTOSIZING) 287 282 float m_textAutosizingFontScaleFactor; … … 321 316 bool m_fontFallbackPrefersPictographs : 1; 322 317 323 static double gDefaultMinDOMTimerInterval;324 static double gDefaultDOMTimerAlignmentInterval;325 326 318 #if USE(AVFOUNDATION) 327 319 WEBCORE_EXPORT static bool gAVFoundationEnabled; … … 350 342 #endif 351 343 352 static double gHiddenPageDOMTimerAlignmentInterval;353 354 344 static bool gLowPowerVideoAudioBufferSizeEnabled; 355 345 }; -
trunk/Source/WebCore/testing/InternalSettings.cpp
r181423 r181753 79 79 , m_langAttributeAwareFormControlUIEnabled(RuntimeEnabledFeatures::sharedFeatures().langAttributeAwareFormControlUIEnabled()) 80 80 , m_imagesEnabled(settings.areImagesEnabled()) 81 , m_minimumTimerInterval(settings.min DOMTimerInterval())81 , m_minimumTimerInterval(settings.minimumDOMTimerInterval()) 82 82 #if ENABLE(VIDEO_TRACK) 83 83 , m_shouldDisplaySubtitles(settings.shouldDisplaySubtitles()) … … 146 146 RuntimeEnabledFeatures::sharedFeatures().setLangAttributeAwareFormControlUIEnabled(m_langAttributeAwareFormControlUIEnabled); 147 147 settings.setImagesEnabled(m_imagesEnabled); 148 settings.setMin DOMTimerInterval(m_minimumTimerInterval);148 settings.setMinimumDOMTimerInterval(m_minimumTimerInterval); 149 149 #if ENABLE(VIDEO_TRACK) 150 150 settings.setShouldDisplaySubtitles(m_shouldDisplaySubtitles); … … 451 451 { 452 452 InternalSettingsGuardForSettings(); 453 settings()->setMin DOMTimerInterval(intervalInSeconds);453 settings()->setMinimumDOMTimerInterval(intervalInSeconds); 454 454 } 455 455 -
trunk/Source/WebKit/mac/ChangeLog
r181686 r181753 1 2015-03-19 Chris Dumez <cdumez@apple.com> 2 3 Clean up DOMTimer related settings 4 https://bugs.webkit.org/show_bug.cgi?id=142837 5 6 Reviewed by Darin Adler. 7 8 Stop setting the DOMTimers' default minimum interval to 4ms as this 9 is now the default. 10 11 * WebView/WebView.mm: 12 (-[WebView _commonInitializationWithFrameName:groupName:]): 13 1 14 2015-03-17 Conrad Shultz <conrad_shultz@apple.com> 2 15 -
trunk/Source/WebKit/mac/WebView/WebView.mm
r180963 r181753 927 927 #endif 928 928 929 Settings::setDefaultMinDOMTimerInterval(0.004);930 931 929 Settings::setShouldRespectPriorityInCSSAttributeSetters(shouldRespectPriorityInCSSAttributeSetters()); 932 930 -
trunk/Source/WebKit/win/ChangeLog
r181562 r181753 1 2015-03-19 Chris Dumez <cdumez@apple.com> 2 3 Clean up DOMTimer related settings 4 https://bugs.webkit.org/show_bug.cgi?id=142837 5 6 Reviewed by Darin Adler. 7 8 Stop setting the DOMTimers' default minimum interval to 4ms as this 9 is now the default. 10 11 * WebView.cpp: 12 (WebView::initWithFrame): 13 (WebView::defaultMinimumTimerInterval): 14 1 15 2015-03-16 Conrad Shultz <conrad_shultz@apple.com> 2 16 -
trunk/Source/WebKit/win/WebView.cpp
r181562 r181753 2789 2789 WebKitInitializeWebDatabasesIfNecessary(); 2790 2790 WebKitSetApplicationCachePathIfNecessary(); 2791 Settings::setDefaultMinDOMTimerInterval(0.004);2792 2791 2793 2792 didOneTimeInitialization = true; … … 6824 6823 if (!interval) 6825 6824 return E_POINTER; 6826 *interval = Settings::defaultMinDOMTimerInterval();6825 *interval = DOMTimer::defaultMinimumInterval(); 6827 6826 return S_OK; 6828 6827 } … … 6830 6829 HRESULT WebView::setMinimumTimerInterval(double interval) 6831 6830 { 6832 page()->settings().setMin DOMTimerInterval(interval);6831 page()->settings().setMinimumDOMTimerInterval(interval); 6833 6832 return S_OK; 6834 6833 } -
trunk/Source/WebKit2/ChangeLog
r181734 r181753 1 2015-03-19 Chris Dumez <cdumez@apple.com> 2 3 Clean up DOMTimer related settings 4 https://bugs.webkit.org/show_bug.cgi?id=142837 5 6 Reviewed by Darin Adler. 7 8 Stop setting the DOMTimers' default minimum interval to 4ms as this 9 is now the default. 10 11 * WebProcess/WebPage/WebPage.cpp: 12 (WebKit::WebPage::WebPage): 13 1 14 2015-03-19 Chris Dumez <cdumez@apple.com> 2 15 -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r181584 r181753 344 344 { 345 345 ASSERT(m_pageID); 346 // FIXME: This is a non-ideal location for this Setting and347 // 4ms should be adopted project-wide now, https://bugs.webkit.org/show_bug.cgi?id=61214348 Settings::setDefaultMinDOMTimerInterval(0.004);349 346 350 347 m_pageGroup = WebProcess::singleton().webPageGroup(parameters.pageGroupData);
Note:
See TracChangeset
for help on using the changeset viewer.