Changeset 212464 in webkit for trunk/Source/JavaScriptCore/heap/HeapTimer.cpp
- Timestamp:
- Feb 16, 2017, 2:28:54 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/heap/HeapTimer.cpp
r208306 r212464 35 35 #include <wtf/Threading.h> 36 36 37 #if PLATFORM(EFL) 38 #include <Ecore.h> 39 #elif USE(GLIB) 37 #if USE(GLIB) 40 38 #include <glib.h> 41 39 #endif … … 109 107 } 110 108 111 #elif PLATFORM(EFL)112 113 HeapTimer::HeapTimer(VM* vm)114 : m_vm(vm)115 , m_apiLock(&vm->apiLock())116 , m_timer(0)117 {118 }119 120 HeapTimer::~HeapTimer()121 {122 stop();123 }124 125 Ecore_Timer* HeapTimer::add(double delay, void* agent)126 {127 return ecore_timer_add(delay, reinterpret_cast<Ecore_Task_Cb>(timerEvent), agent);128 }129 130 void HeapTimer::stop()131 {132 if (!m_timer)133 return;134 135 ecore_timer_del(m_timer);136 m_timer = 0;137 }138 139 bool HeapTimer::timerEvent(void* info)140 {141 HeapTimer* agent = static_cast<HeapTimer*>(info);142 143 JSLockHolder locker(agent->m_vm);144 agent->doWork();145 agent->m_timer = 0;146 147 return ECORE_CALLBACK_CANCEL;148 }149 150 void HeapTimer::scheduleTimer(double intervalInSeconds)151 {152 if (ecore_timer_freeze_get(m_timer))153 ecore_timer_thaw(m_timer);154 155 double targetTime = currentTime() + intervalInSeconds;156 ecore_timer_interval_set(m_timer, targetTime);157 m_isScheduled = true;158 }159 160 void HeapTimer::cancelTimer()161 {162 ecore_timer_freeze(m_timer);163 m_isScheduled = false;164 }165 109 #elif USE(GLIB) 166 110
Note:
See TracChangeset
for help on using the changeset viewer.