| Index: third_party/WebKit/Source/core/frame/DOMTimer.cpp
|
| diff --git a/third_party/WebKit/Source/core/frame/DOMTimer.cpp b/third_party/WebKit/Source/core/frame/DOMTimer.cpp
|
| index 2b825894b8ecada2efd5d94fe852985c67e3694a..0eaea076e860f72ba9a4e822d3913c05b81356ee 100644
|
| --- a/third_party/WebKit/Source/core/frame/DOMTimer.cpp
|
| +++ b/third_party/WebKit/Source/core/frame/DOMTimer.cpp
|
| @@ -55,15 +55,16 @@ int DOMTimer::install(ExecutionContext* context, RawPtr<ScheduledAction> action,
|
| {
|
| int timeoutID = context->timers()->installNewTimeout(context, action, timeout, singleShot);
|
| TRACE_EVENT_INSTANT1("devtools.timeline", "TimerInstall", TRACE_EVENT_SCOPE_THREAD, "data", InspectorTimerInstallEvent::data(context, timeoutID, timeout, singleShot));
|
| - InspectorInstrumentation::didInstallTimer(context, timeoutID, timeout, singleShot);
|
| + InspectorInstrumentation::scheduleAsyncTask(context, "Timer", action, !singleShot);
|
| return timeoutID;
|
| }
|
|
|
| void DOMTimer::removeByID(ExecutionContext* context, int timeoutID)
|
| {
|
| - context->timers()->removeTimeoutByID(timeoutID);
|
| + DOMTimer* timer = context->timers()->removeTimeoutByID(timeoutID);
|
| TRACE_EVENT_INSTANT1("devtools.timeline", "TimerRemove", TRACE_EVENT_SCOPE_THREAD, "data", InspectorTimerRemoveEvent::data(context, timeoutID));
|
| - InspectorInstrumentation::didRemoveTimer(context, timeoutID);
|
| + if (timer)
|
| + InspectorInstrumentation::cancelAsyncTask(context, timer->m_action);
|
| }
|
|
|
| DOMTimer::DOMTimer(ExecutionContext* context, RawPtr<ScheduledAction> action, int interval, bool singleShot, int timeoutID)
|
| @@ -106,7 +107,7 @@ void DOMTimer::fired()
|
| UserGestureIndicator gestureIndicator(m_userGestureToken.release());
|
|
|
| TRACE_EVENT1("devtools.timeline", "TimerFire", "data", InspectorTimerFireEvent::data(context, m_timeoutID));
|
| - InspectorInstrumentationCookie cookie = InspectorInstrumentation::willFireTimer(context, m_timeoutID);
|
| + InspectorInstrumentation::AsyncTask asyncTask(context, m_action.get());
|
|
|
| // Simple case for non-one-shot timers.
|
| if (isActive()) {
|
| @@ -118,9 +119,6 @@ void DOMTimer::fired()
|
|
|
| // No access to member variables after this point, it can delete the timer.
|
| m_action->execute(context);
|
| -
|
| - InspectorInstrumentation::didFireTimer(cookie);
|
| -
|
| return;
|
| }
|
|
|
| @@ -133,7 +131,6 @@ void DOMTimer::fired()
|
|
|
| action->execute(context);
|
|
|
| - InspectorInstrumentation::didFireTimer(cookie);
|
| TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "UpdateCounters", TRACE_EVENT_SCOPE_THREAD, "data", InspectorUpdateCountersEvent::data());
|
|
|
| // ExecutionContext might be already gone when we executed action->execute().
|
|
|