Re-enable option for message pump optimization
authorPawel Forysiuk <p.forysiuk@samsung.com>
Thu, 30 Jul 2015 14:11:29 +0000 (16:11 +0200)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Tue, 10 Jul 2018 07:55:23 +0000 (07:55 +0000)
It was disabled by [1] because of regression in touch/click behaviour
in WCS test pages like gesture.html and select_picker_test.html.

1.  Fix the implementation of timer delay code. The code previously tried to
micro-manage timer delays. The intention of those delays was to make code
more robust. Unfortunately it would lead to perpetually postponing one task
instead of spawning new ones. Drop the code adding arbitrary delays.

2.  Make "limit-memory-allocation-in-schedule-delayed-work" flag be enabled
by default again.

[1] http://165.213.202.130/gerrit/#/c/83920/

Original beta/m42 patch: http://165.213.202.130/gerrit/#/c/84369/

Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14786

Reviewed by: a1.gomes, msu.koo, sns.park

Change-Id: I1be8b12e84d6a1678e6ab070cf79868076bae5c4
Signed-off-by: Pawel Forysiuk <p.forysiuk@samsung.com>
tizen_src/ewk/efl_integration/command_line_efl.cc
tizen_src/ewk/efl_integration/message_pump_for_ui_efl.cc

index 88580022f22f7ee026b1f6f2ca1479bcfcfd8e05..9aa24471ec8f51789ae8d62fc2c4b223e4afc64b 100644 (file)
@@ -137,6 +137,9 @@ void CommandLineEfl::AppendMemoryOptimizationSwitches(
   command_line->AppendSwitchASCII(switches::kImageCacheSize, "0");
 #endif
 
+  // For reuse of timers with message pump
+  command_line->AppendSwitch(switches::kLimitMemoryAllocationInScheduleDelayedWork);
+
   // For testing link disambiguation popup
   command_line->AppendSwitch(switches::kEnableLinkDisambiguationPopup);
 
index 1c829de4ea0ff19524e114242a159a3ada436a8d..b624657dd8e7e559379528ad026d87a757dd601b 100644 (file)
@@ -89,11 +89,10 @@ void MessagePumpForUIEfl::ScheduleDelayedWork(const base::TimeTicks& delayed_wor
     new_pair->second = ecore_timer_add(delay, &TimerCallback, new_pair);
     pending_timers_.insert(new_pair);
   } else {
-    if (schedule_delayed_work_timer_) {
-        ecore_timer_delay(schedule_delayed_work_timer_, delay - ecore_timer_pending_get(schedule_delayed_work_timer_));
-    } else {
-        schedule_delayed_work_timer_ = ecore_timer_add(delay, &TimerCallback, this);
-    }
+    if (schedule_delayed_work_timer_)
+      ecore_timer_del(schedule_delayed_work_timer_);
+
+    schedule_delayed_work_timer_ = ecore_timer_add(delay, &TimerCallback, this);
   }
 }