Index: Source/core/events/GenericEventQueue.cpp |
diff --git a/Source/core/events/GenericEventQueue.cpp b/Source/core/events/GenericEventQueue.cpp |
index 9fdc3f22050b8264e8071d4225440f311cc0c20b..bc53048ddf43032f11d30b8919ac3dce0760947d 100644 |
--- a/Source/core/events/GenericEventQueue.cpp |
+++ b/Source/core/events/GenericEventQueue.cpp |
@@ -28,6 +28,7 @@ |
#include "core/events/GenericEventQueue.h" |
#include "core/events/Event.h" |
+#include "core/inspector/InspectorInstrumentation.h" |
#include "platform/TraceEvent.h" |
namespace WebCore { |
@@ -64,6 +65,7 @@ bool GenericEventQueue::enqueueEvent(PassRefPtrWillBeRawPtr<Event> event) |
event->setTarget(nullptr); |
TRACE_EVENT_ASYNC_BEGIN1("event", "GenericEventQueue:enqueueEvent", event.get(), "type", event->type().ascii()); |
+ InspectorInstrumentation::didEnqueueEvent(event->target() ? event->target() : m_owner.get(), event.get()); |
m_pendingEvents.append(event); |
if (!m_timer.isActive()) |
@@ -77,6 +79,7 @@ bool GenericEventQueue::cancelEvent(Event* event) |
bool found = m_pendingEvents.contains(event); |
if (found) { |
+ InspectorInstrumentation::didRemoveEvent(event->target() ? event->target() : m_owner.get(), event); |
m_pendingEvents.remove(m_pendingEvents.find(event)); |
TRACE_EVENT_ASYNC_END2("event", "GenericEventQueue:enqueueEvent", event, "type", event->type().ascii(), "status", "cancelled"); |
} |
@@ -101,8 +104,9 @@ void GenericEventQueue::timerFired(Timer<GenericEventQueue>*) |
EventTarget* target = event->target() ? event->target() : m_owner.get(); |
CString type(event->type().ascii()); |
TRACE_EVENT_ASYNC_STEP_INTO1("event", "GenericEventQueue:enqueueEvent", event, "dispatch", "type", type); |
- target->dispatchEvent(pendingEvents[i].release()); |
+ target->dispatchEvent(pendingEvents[i]); |
TRACE_EVENT_ASYNC_END1("event", "GenericEventQueue:enqueueEvent", event, "type", type); |
+ InspectorInstrumentation::didRemoveEvent(target, event); |
} |
} |
@@ -119,6 +123,7 @@ void GenericEventQueue::cancelAllEvents() |
for (size_t i = 0; i < m_pendingEvents.size(); ++i) { |
Event* event = m_pendingEvents[i].get(); |
TRACE_EVENT_ASYNC_END2("event", "GenericEventQueue:enqueueEvent", event, "type", event->type().ascii(), "status", "cancelled"); |
+ InspectorInstrumentation::didRemoveEvent(event->target() ? event->target() : m_owner.get(), event); |
} |
m_pendingEvents.clear(); |
} |