[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

commit-queue at webkit.org commit-queue at webkit.org
Wed Dec 22 13:31:13 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 757218a5391aa79375556131f0500738154d1a6d
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Sep 17 23:23:17 2010 +0000

    2010-09-17  Matthew Delaney  <mdelaney at apple.com>
    
            Reviewed by Simon Fraser.
    
            Reduce minimum DOMTimer interval
            https://bugs.webkit.org/show_bug.cgi?id=45362
    
            Reduced the minimum allowed DOMTimer interval to 4ms. This has us matching Chrome,
            which hasn't had any problem with 4ms in the past 2 years, as well as increasing our
            performance on perf tests that have tight frequent loops such as canvas "animation"
            performance tests.
    
            No new tests added. Can't reliably instrument a test in javascript to verify that
            the minimum clamped interval time is in fact 4ms.
    
            * WebCore.exp.in:
            * page/DOMTimer.cpp: Removed old comments.
            * page/DOMTimer.h: Removed old comments.
            * page/Settings.cpp: Exposted new method to set minimum DOMTimer interval.
            * page/Settings.h:
    2010-09-17  Matthew Delaney  <mdelaney at apple.com>
    
            Reviewed by Simon Fraser.
    
            Reduce minimum DOMTimer interval
            https://bugs.webkit.org/show_bug.cgi?id=45362
    
            * WebView/WebView.mm: Added in a call to set the mimimum allowed DOMTimer to 4ms.
    2010-09-17  Matthew Delaney  <mdelaney at apple.com>
    
            Reviewed by Simon Fraser.
    
            Reduce minimum DOMTimer interval
            https://bugs.webkit.org/show_bug.cgi?id=45362
    
            * WebView.cpp: Added in a call to set the mimimum allowed DOMTimer to 4ms.
    2010-09-17  Matthew Delaney  <mdelaney at apple.com>
    
            Reviewed by Simon Fraser.
    
            Reduce minimum DOMTimer interval
            https://bugs.webkit.org/show_bug.cgi?id=45362
    
            * WebProcess/WebPage/WebPage.cpp: Added in a call to set the mimimum allowed DOMTimer to 4ms.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67758 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 1dc709f..ad40c94 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,24 @@
+2010-09-17  Matthew Delaney  <mdelaney at apple.com>
+
+        Reviewed by Simon Fraser.
+
+        Reduce minimum DOMTimer interval
+        https://bugs.webkit.org/show_bug.cgi?id=45362
+
+        Reduced the minimum allowed DOMTimer interval to 4ms. This has us matching Chrome,
+        which hasn't had any problem with 4ms in the past 2 years, as well as increasing our
+        performance on perf tests that have tight frequent loops such as canvas "animation"
+        performance tests.
+
+        No new tests added. Can't reliably instrument a test in javascript to verify that
+        the minimum clamped interval time is in fact 4ms. 
+
+        * WebCore.exp.in:
+        * page/DOMTimer.cpp: Removed old comments.
+        * page/DOMTimer.h: Removed old comments.
+        * page/Settings.cpp: Exposted new method to set minimum DOMTimer interval.
+        * page/Settings.h:
+
 2010-09-17  Marc-Antoine Ruel  <maruel at chromium.org>
 
         Reviewed by Dimitri Glazkov.
diff --git a/WebCore/WebCore.exp.in b/WebCore/WebCore.exp.in
index 51f6a9f..cf23731 100644
--- a/WebCore/WebCore.exp.in
+++ b/WebCore/WebCore.exp.in
@@ -701,6 +701,7 @@ __ZN7WebCore8Settings21setShowRepaintCounterEb
 __ZN7WebCore8Settings21setStandardFontFamilyERKN3WTF12AtomicStringE
 __ZN7WebCore8Settings21setWebSecurityEnabledEb
 __ZN7WebCore8Settings22setLocalStorageEnabledEb
+__ZN7WebCore8Settings22setMinDOMTimerIntervalEd
 __ZN7WebCore8Settings22setSansSerifFontFamilyERKN3WTF12AtomicStringE
 __ZN7WebCore8Settings22setSessionStorageQuotaEj
 __ZN7WebCore8Settings22setShowsURLsInToolTipsEb
diff --git a/WebCore/page/DOMTimer.cpp b/WebCore/page/DOMTimer.cpp
index f9178c9..3ac6d15 100644
--- a/WebCore/page/DOMTimer.cpp
+++ b/WebCore/page/DOMTimer.cpp
@@ -60,9 +60,6 @@ DOMTimer::DOMTimer(ScriptExecutionContext* context, PassOwnPtr<ScheduledAction>
 
     double intervalMilliseconds = max(oneMillisecond, timeout * oneMillisecond);
 
-    // Use a minimum interval of 10 ms to match other browsers, but only once we've
-    // nested enough to notice that we're repeating.
-    // Faster timers might be "better", but they're incompatible.
     if (intervalMilliseconds < s_minTimerInterval && m_nestingLevel >= maxTimerNestingLevel)
         intervalMilliseconds = s_minTimerInterval;
     if (singleShot)
diff --git a/WebCore/page/DOMTimer.h b/WebCore/page/DOMTimer.h
index dc793da..c1d8d9e 100644
--- a/WebCore/page/DOMTimer.h
+++ b/WebCore/page/DOMTimer.h
@@ -49,8 +49,6 @@ namespace WebCore {
         virtual void stop();
 
         // The lowest allowable timer setting (in seconds, 0.001 == 1 ms).
-        // Default is 10ms.
-        // Chromium uses a non-default timeout.
         static double minTimerInterval() { return s_minTimerInterval; }
         static void setMinTimerInterval(double value) { s_minTimerInterval = value; }
 
diff --git a/WebCore/page/Settings.cpp b/WebCore/page/Settings.cpp
index 329c47f..bb0781c 100644
--- a/WebCore/page/Settings.cpp
+++ b/WebCore/page/Settings.cpp
@@ -27,8 +27,9 @@
 #include "Settings.h"
 
 #include "BackForwardList.h"
-#include "Database.h"
 #include "CachedResourceLoader.h"
+#include "DOMTimer.h"
+#include "Database.h"
 #include "Frame.h"
 #include "FrameTree.h"
 #include "FrameView.h"
@@ -404,6 +405,11 @@ void Settings::setDOMPasteAllowed(bool DOMPasteAllowed)
     m_isDOMPasteAllowed = DOMPasteAllowed;
 }
 
+void Settings::setMinDOMTimerInterval(double interval)
+{
+    DOMTimer::setMinTimerInterval(interval);
+}
+
 void Settings::setUsesPageCache(bool usesPageCache)
 {
     if (m_usesPageCache == usesPageCache)
diff --git a/WebCore/page/Settings.h b/WebCore/page/Settings.h
index 8ec5106..cc8470b 100644
--- a/WebCore/page/Settings.h
+++ b/WebCore/page/Settings.h
@@ -200,6 +200,8 @@ namespace WebCore {
         void setDOMPasteAllowed(bool);
         bool isDOMPasteAllowed() const { return m_isDOMPasteAllowed; }
         
+        void setMinDOMTimerInterval(double); // Interval specified in seconds.
+        
         void setUsesPageCache(bool);
         bool usesPageCache() const { return m_usesPageCache; }
 
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 6f2ae83..aca0cf9 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,12 @@
+2010-09-17  Matthew Delaney  <mdelaney at apple.com>
+
+        Reviewed by Simon Fraser.
+
+        Reduce minimum DOMTimer interval
+        https://bugs.webkit.org/show_bug.cgi?id=45362
+
+        * WebView/WebView.mm: Added in a call to set the mimimum allowed DOMTimer to 4ms.
+
 2010-09-17  Chris Marrin  <cmarrin at apple.com>
 
         Reviewed by Simon Fraser.
diff --git a/WebKit/mac/WebView/WebView.mm b/WebKit/mac/WebView/WebView.mm
index 9a87ab4..3348f3e 100644
--- a/WebKit/mac/WebView/WebView.mm
+++ b/WebKit/mac/WebView/WebView.mm
@@ -696,6 +696,7 @@ static bool shouldEnableLoadDeferring()
 
     _private->page->setCanStartMedia([self window]);
     _private->page->settings()->setLocalStorageDatabasePath([[self preferences] _localStorageDatabasePath]);
+    _private->page->settings()->setMinDOMTimerInterval(0.004);
 
     [WebFrame _createMainFrameWithPage:_private->page frameName:frameName frameView:frameView];
 
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index d42d6cd..ef708e0 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,12 @@
+2010-09-17  Matthew Delaney  <mdelaney at apple.com>
+
+        Reviewed by Simon Fraser.
+
+        Reduce minimum DOMTimer interval
+        https://bugs.webkit.org/show_bug.cgi?id=45362
+
+        * WebView.cpp: Added in a call to set the mimimum allowed DOMTimer to 4ms.
+
 2010-09-17  Simon Fraser  <simon.fraser at apple.com>
 
         Reviewed by Chris Marrin.
diff --git a/WebKit/win/WebView.cpp b/WebKit/win/WebView.cpp
index 17c686e..f06da33 100755
--- a/WebKit/win/WebView.cpp
+++ b/WebKit/win/WebView.cpp
@@ -2567,7 +2567,7 @@ HRESULT STDMETHODCALLTYPE WebView::initWithFrame(
 #endif
     WebKitSetApplicationCachePathIfNecessary();
     WebPlatformStrategies::initialize();
-    
+
 #if USE(SAFARI_THEME)
     BOOL shouldPaintNativeControls;
     if (SUCCEEDED(m_preferences->shouldPaintNativeControls(&shouldPaintNativeControls)))
@@ -2589,6 +2589,7 @@ HRESULT STDMETHODCALLTYPE WebView::initWithFrame(
     pageClients.geolocationControllerClient = new WebGeolocationControllerClient(this);
 #endif
     m_page = new Page(pageClients);
+    m_page->settings()->setMinDOMTimerInterval(0.004);
 
     BSTR localStoragePath;
     if (SUCCEEDED(m_preferences->localStorageDatabasePath(&localStoragePath))) {
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index cd4abb5..ff535e5 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,12 @@
+2010-09-17  Matthew Delaney  <mdelaney at apple.com>
+
+        Reviewed by Simon Fraser.
+
+        Reduce minimum DOMTimer interval
+        https://bugs.webkit.org/show_bug.cgi?id=45362
+
+        * WebProcess/WebPage/WebPage.cpp: Added in a call to set the mimimum allowed DOMTimer to 4ms.
+
 2010-09-17  Anders Carlsson  <andersca at apple.com>
 
         Reviewed by Sam Weinig.
diff --git a/WebKit2/WebProcess/WebPage/WebPage.cpp b/WebKit2/WebProcess/WebPage/WebPage.cpp
index 30d75d0..2eb8209 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -116,6 +116,7 @@ WebPage::WebPage(uint64_t pageID, const IntSize& viewSize, const WebPreferencesS
     m_page->settings()->setSansSerifFontFamily(store.sansSerifFontFamily);
     m_page->settings()->setSerifFontFamily(store.serifFontFamily);
     m_page->settings()->setJavaScriptCanOpenWindowsAutomatically(true);
+    m_page->settings()->setMinDOMTimerInterval(0.004);
 
     m_page->setGroupName("WebKit2Group");
     

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list