Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1028)

Unified Diff: Source/core/events/GenericEventQueue.cpp

Issue 335963004: DevTools: Instrument GenericEventQueue for async stacks. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « LayoutTests/inspector/sources/debugger/async-callstack-events-expected.txt ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/events/GenericEventQueue.cpp
diff --git a/Source/core/events/GenericEventQueue.cpp b/Source/core/events/GenericEventQueue.cpp
index 9fdc3f22050b8264e8071d4225440f311cc0c20b..3a7b8a65bd33a71506200a704c0ec3868ebdd694 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);
}
}
@@ -118,7 +122,9 @@ void GenericEventQueue::cancelAllEvents()
for (size_t i = 0; i < m_pendingEvents.size(); ++i) {
Event* event = m_pendingEvents[i].get();
+ EventTarget* target = event->target() ? event->target() : m_owner.get();
yurys 2014/06/19 13:26:45 Inline this like in other places?
aandrey 2014/06/19 14:16:20 Done.
TRACE_EVENT_ASYNC_END2("event", "GenericEventQueue:enqueueEvent", event, "type", event->type().ascii(), "status", "cancelled");
+ InspectorInstrumentation::didRemoveEvent(target, event);
}
m_pendingEvents.clear();
}
« no previous file with comments | « LayoutTests/inspector/sources/debugger/async-callstack-events-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698