Changeset 94380 in webkit
- Timestamp:
- Sep 1, 2011 6:35:10 PM (13 years ago)
- Location:
- trunk/Source/WebKit/efl
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/efl/ChangeLog
r94378 r94380 1 2011-09-01 Gyuyoung Kim <gyuyoung.kim@samsung.com> 2 3 [EFL] Allow controlling minimum DOMTimer interval on a per-page basis 4 https://bugs.webkit.org/show_bug.cgi?id=67012 5 6 Reviewed by Kenneth Russell. 7 8 Set default minimum DOMTimer interval to 4ms instead of 10ms. Because, 4ms is known 9 to better minimum value for performance. Mac, android, chromium and window ports already 10 use 4ms instead of 10ms. 11 12 It is desirable to be able to change the minimum DOMTimer interval on per-page basis 13 in order to avoid consuming excessive CPU and battery life on mobile devices. In addition, 14 other ports have already used this setting by means of Bug 54312. 15 16 * ewk/ewk_main.cpp: 17 (_ewk_init_body): 18 * ewk/ewk_settings.cpp: 19 (ewk_settings_default_timer_interval_get): 20 * ewk/ewk_settings.h: 21 * ewk/ewk_view.cpp: 22 (_ewk_view_priv_new): 23 (ewk_view_setting_minimum_timer_interval_set): 24 (ewk_view_setting_minimum_timer_interval_get): 25 * ewk/ewk_view.h: 26 1 27 2011-09-01 KwangHyuk Kim <hyuki.kim@samsung.com> 2 28 -
trunk/Source/WebKit/efl/ewk/ewk_main.cpp
r92473 r94380 162 162 WebCore::ScriptController::initializeThreading(); 163 163 WebCore::InitializeLoggingChannelsIfNecessary(); 164 WebCore::Settings::setDefaultMinDOMTimerInterval(0.004); 164 165 165 166 // Page cache capacity (in pages). Comment from Mac port: -
trunk/Source/WebKit/efl/ewk/ewk_settings.cpp
r92473 r94380 279 279 #endif 280 280 } 281 282 double ewk_settings_default_timer_interval_get(void) 283 { 284 return WebCore::Settings::defaultMinDOMTimerInterval(); 285 } -
trunk/Source/WebKit/efl/ewk/ewk_settings.h
r92473 r94380 195 195 EAPI void ewk_settings_repaint_throttling_set(double deferred_repaint_delay, double initial_deferred_repaint_delay_during_loading, double max_deferred_repaint_delay_during_loading, double deferred_repaint_delay_increment_during_loading); 196 196 197 /** 198 * Gets the default interval for DOMTimers on all pages. 199 * 200 * DOMTimer processes javascript function registered by setInterval() based on interval value. 201 * 202 * @return default minimum interval for DOMTimers 203 */ 204 EAPI double ewk_settings_default_timer_interval_get(void); 205 197 206 #ifdef __cplusplus 198 207 } -
trunk/Source/WebKit/efl/ewk/ewk_view.cpp
r94163 r94380 57 57 #include <eina_safety_checks.h> 58 58 #include <inttypes.h> 59 #include <limits> 60 #include <math.h> 59 61 #include <sys/time.h> 60 62 … … 150 152 } zoom_range; 151 153 float device_pixel_ratio; 154 double dom_timer_interval; 152 155 } settings; 153 156 struct { … … 656 659 priv->settings.device_pixel_ratio = DEVICE_PIXEL_RATIO; 657 660 661 priv->settings.dom_timer_interval = priv->page_settings->defaultMinDOMTimerInterval(); 662 658 663 priv->main_frame = _ewk_view_core_frame_new(sd, priv, 0).get(); 659 664 if (!priv->main_frame) { … … 2332 2337 } 2333 2338 2339 Eina_Bool ewk_view_setting_minimum_timer_interval_set(Evas_Object *o, double interval) 2340 { 2341 EWK_VIEW_SD_GET_OR_RETURN(o, sd, EINA_FALSE); 2342 EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv, EINA_FALSE); 2343 if (fabs(priv->settings.dom_timer_interval - interval) >= std::numeric_limits<double>::epsilon()) { 2344 priv->page_settings->setMinDOMTimerInterval(interval); 2345 priv->settings.dom_timer_interval = interval; 2346 } 2347 return EINA_TRUE; 2348 } 2349 2350 double ewk_view_setting_minimum_timer_interval_get(const Evas_Object *o) 2351 { 2352 EWK_VIEW_SD_GET_OR_RETURN(o, sd, EINA_FALSE); 2353 EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv, EINA_FALSE); 2354 return priv->settings.dom_timer_interval; 2355 } 2356 2334 2357 Ewk_View_Smart_Data *ewk_view_smart_data_get(const Evas_Object *o) 2335 2358 { -
trunk/Source/WebKit/efl/ewk/ewk_view.h
r94378 r94380 1811 1811 1812 1812 /** 1813 * Sets the minimum interval for DOMTimers on current page. 1814 * 1815 * @param o view object to set the minimum interval 1816 * 1817 * @return @c EINA_TRUE on success or @c EINA_FALSE on failure 1818 */ 1819 EAPI Eina_Bool ewk_view_setting_minimum_timer_interval_set(Evas_Object *o, double interval); 1820 1821 /** 1822 * Gets the minimum interval for DOMTimers on current page. 1823 * 1824 * @param o view object to get the minimum interval 1825 * 1826 * @return the minimum interval on success or @c 0 on failure 1827 */ 1828 EAPI double ewk_view_setting_minimum_timer_interval_get(const Evas_Object *o); 1829 1830 /** 1813 1831 * Gets the internal data of @a o. 1814 1832 *
Note: See TracChangeset
for help on using the changeset viewer.