Title: [137185] trunk/Source
Revision
137185
Author
[email protected]
Date
2012-12-10 11:05:44 -0800 (Mon, 10 Dec 2012)

Log Message

Source/WebCore: Make hiddenPageDomTimerInterval a setting
https://bugs.webkit.org/show_bug.cgi?id=104555

Patch by Parth Patel <[email protected]> on 2012-12-10
Reviewed by Yong Li.

Make hiddenPageDomTimerInterval a setting so client can customize it.

No new tests are needed.

* page/Page.cpp:
(WebCore):
(WebCore::Page::setVisibilityState):
* page/Settings.cpp:
(WebCore):
(WebCore::Settings::setHiddenPageDOMTimerAlignmentInterval):
(WebCore::Settings::hiddenPageDOMTimerAlignmentInterval):
* page/Settings.h:
(Settings):

Source/WebKit/blackberry: [BlackBerry] Make hiddenPageDomTimerInterval a setting
https://bugs.webkit.org/show_bug.cgi?id=104555

Patch by Parth Patel <[email protected]> on 2012-12-10
Reviewed by Yong Li.

HiddenPageDomTimerInterval in setting in webcore can be utilized by browser application
when needed.

* Api/BlackBerryGlobal.cpp:
(BlackBerry::WebKit::globalInitialize):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (137184 => 137185)


--- trunk/Source/WebCore/ChangeLog	2012-12-10 19:04:57 UTC (rev 137184)
+++ trunk/Source/WebCore/ChangeLog	2012-12-10 19:05:44 UTC (rev 137185)
@@ -1,3 +1,24 @@
+2012-12-10  Parth Patel  <[email protected]>
+
+        Make hiddenPageDomTimerInterval a setting
+        https://bugs.webkit.org/show_bug.cgi?id=104555
+
+        Reviewed by Yong Li.
+
+        Make hiddenPageDomTimerInterval a setting so client can customize it.
+
+        No new tests are needed.
+
+        * page/Page.cpp:
+        (WebCore):
+        (WebCore::Page::setVisibilityState):
+        * page/Settings.cpp:
+        (WebCore):
+        (WebCore::Settings::setHiddenPageDOMTimerAlignmentInterval):
+        (WebCore::Settings::hiddenPageDOMTimerAlignmentInterval):
+        * page/Settings.h:
+        (Settings):
+
 2012-12-10  [email protected]  <[email protected]>
 
         [WinCairo] Compile fix in ImageCairoWin.cpp

Modified: trunk/Source/WebCore/page/Page.cpp (137184 => 137185)


--- trunk/Source/WebCore/page/Page.cpp	2012-12-10 19:04:57 UTC (rev 137184)
+++ trunk/Source/WebCore/page/Page.cpp	2012-12-10 19:05:44 UTC (rev 137185)
@@ -82,7 +82,6 @@
 namespace WebCore {
 
 static HashSet<Page*>* allPages;
-static const double hiddenPageTimerAlignmentInterval = 1.0; // once a second
 
 DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, pageCounter, ("Page"));
 
@@ -1129,7 +1128,7 @@
 
 #if ENABLE(HIDDEN_PAGE_DOM_TIMER_THROTTLING)
     if (visibilityState == WebCore::PageVisibilityStateHidden)
-        setTimerAlignmentInterval(hiddenPageTimerAlignmentInterval);
+        setTimerAlignmentInterval(Settings::hiddenPageDOMTimerAlignmentInterval());
     else
         setTimerAlignmentInterval(Settings::defaultDOMTimerAlignmentInterval());
 #if !ENABLE(PAGE_VISIBILITY_API)

Modified: trunk/Source/WebCore/page/Settings.cpp (137184 => 137185)


--- trunk/Source/WebCore/page/Settings.cpp	2012-12-10 19:04:57 UTC (rev 137184)
+++ trunk/Source/WebCore/page/Settings.cpp	2012-12-10 19:05:44 UTC (rev 137185)
@@ -83,6 +83,7 @@
 
 double Settings::gDefaultMinDOMTimerInterval = 0.010; // 10 milliseconds
 double Settings::gDefaultDOMTimerAlignmentInterval = 0;
+double Settings::gHiddenPageDOMTimerAlignmentInterval = 1.0;
 
 #if USE(SAFARI_THEME)
 bool Settings::gShouldPaintNativeControls = true;
@@ -199,6 +200,16 @@
     return adoptPtr(new Settings(page));
 } 
 
+void Settings::setHiddenPageDOMTimerAlignmentInterval(double hiddenPageDOMTimerAlignmentinterval)
+{
+    gHiddenPageDOMTimerAlignmentInterval = hiddenPageDOMTimerAlignmentinterval;
+}
+
+double Settings::hiddenPageDOMTimerAlignmentInterval()
+{
+    return gHiddenPageDOMTimerAlignmentInterval;
+}
+
 #if !PLATFORM(MAC) && !PLATFORM(BLACKBERRY)
 void Settings::initializeDefaultFontFamilies()
 {

Modified: trunk/Source/WebCore/page/Settings.h (137184 => 137185)


--- trunk/Source/WebCore/page/Settings.h	2012-12-10 19:04:57 UTC (rev 137184)
+++ trunk/Source/WebCore/page/Settings.h	2012-12-10 19:05:44 UTC (rev 137185)
@@ -192,6 +192,9 @@
         static void setDefaultMinDOMTimerInterval(double); // Interval specified in seconds.
         static double defaultMinDOMTimerInterval();
         
+        static void setHiddenPageDOMTimerAlignmentInterval(double); // Interval specified in seconds.
+        static double hiddenPageDOMTimerAlignmentInterval();
+
         void setMinDOMTimerInterval(double); // Per-page; initialized to default value.
         double minDOMTimerInterval();
 
@@ -385,6 +388,8 @@
 #if USE(JSC)
         static bool gShouldRespectPriorityInCSSAttributeSetters;
 #endif
+
+        static double gHiddenPageDOMTimerAlignmentInterval;
     };
 
 } // namespace WebCore

Modified: trunk/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp (137184 => 137185)


--- trunk/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp	2012-12-10 19:04:57 UTC (rev 137184)
+++ trunk/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp	2012-12-10 19:05:44 UTC (rev 137185)
@@ -57,6 +57,7 @@
         return;
     gIsGlobalInitialized = true;
 
+    WebCore::Settings::setHiddenPageDOMTimerAlignmentInterval(BlackBerry::Platform::Settings::instance()->isChromeProcess() ? 0 : 1);
 #if ENABLE(BLACKBERRY_DEBUG_MEMORY)
     blackberryDebugInitialize();
 #endif

Modified: trunk/Source/WebKit/blackberry/ChangeLog (137184 => 137185)


--- trunk/Source/WebKit/blackberry/ChangeLog	2012-12-10 19:04:57 UTC (rev 137184)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2012-12-10 19:05:44 UTC (rev 137185)
@@ -1,3 +1,16 @@
+2012-12-10  Parth Patel  <[email protected]>
+
+        [BlackBerry] Make hiddenPageDomTimerInterval a setting 
+        https://bugs.webkit.org/show_bug.cgi?id=104555
+
+        Reviewed by Yong Li.
+
+        HiddenPageDomTimerInterval in setting in webcore can be utilized by browser application
+        when needed.
+
+        * Api/BlackBerryGlobal.cpp:
+        (BlackBerry::WebKit::globalInitialize):
+
 2012-12-10  Nima Ghanavatian  <[email protected]>
 
         [BlackBerry] Fix warning for comparison between signed and unsigned
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to