Index: base/message_pump_gtk.cc |
diff --git a/base/message_pump_gtk.cc b/base/message_pump_gtk.cc |
index e1cb7f65c4af05e9d3d09ac5db3a144df0c26a07..4f4f9816926aba321b59f22ad1f07929a5bca494 100644 |
--- a/base/message_pump_gtk.cc |
+++ b/base/message_pump_gtk.cc |
@@ -7,6 +7,58 @@ |
#include <gtk/gtk.h> |
#include <gdk/gdkx.h> |
+#include "base/profiler/scoped_profile.h" |
+#include "base/debug/trace_event.h" |
+ |
+namespace { |
+ |
+const char* EventToTypeString(const GdkEvent* event) { |
+ switch (event->type) { |
+ case GDK_NOTHING: return "GDK_NOTHING"; |
+ case GDK_DELETE: return "GDK_DELETE"; |
+ case GDK_DESTROY: return "GDK_DESTROY"; |
+ case GDK_EXPOSE: return "GDK_EXPOSE"; |
+ case GDK_MOTION_NOTIFY: return "GDK_MOTION_NOTIFY"; |
+ case GDK_BUTTON_PRESS: return "GDK_BUTTON_PRESS"; |
+ case GDK_2BUTTON_PRESS: return "GDK_2BUTTON_PRESS"; |
+ case GDK_3BUTTON_PRESS: return "GDK_3BUTTON_PRESS"; |
+ case GDK_BUTTON_RELEASE: return "GDK_BUTTON_RELEASE"; |
+ case GDK_KEY_PRESS: return "GDK_KEY_PRESS"; |
+ case GDK_KEY_RELEASE: return "GDK_KEY_RELEASE"; |
+ case GDK_ENTER_NOTIFY: return "GDK_ENTER_NOTIFY"; |
+ case GDK_LEAVE_NOTIFY: return "GDK_LEAVE_NOTIFY"; |
+ case GDK_FOCUS_CHANGE: return "GDK_FOCUS_CHANGE"; |
+ case GDK_CONFIGURE: return "GDK_CONFIGURE"; |
+ case GDK_MAP: return "GDK_MAP"; |
+ case GDK_UNMAP: return "GDK_UNMAP"; |
+ case GDK_PROPERTY_NOTIFY: return "GDK_PROPERTY_NOTIFY"; |
+ case GDK_SELECTION_CLEAR: return "GDK_SELECTION_CLEAR"; |
+ case GDK_SELECTION_REQUEST: return "GDK_SELECTION_REQUEST"; |
+ case GDK_SELECTION_NOTIFY: return "GDK_SELECTION_NOTIFY"; |
+ case GDK_PROXIMITY_IN: return "GDK_PROXIMITY_IN"; |
+ case GDK_PROXIMITY_OUT: return "GDK_PROXIMITY_OUT"; |
+ case GDK_DRAG_ENTER: return "GDK_DRAG_ENTER"; |
+ case GDK_DRAG_LEAVE: return "GDK_DRAG_LEAVE"; |
+ case GDK_DRAG_MOTION: return "GDK_DRAG_MOTION"; |
+ case GDK_DRAG_STATUS: return "GDK_DRAG_STATUS"; |
+ case GDK_DROP_START: return "GDK_DROP_START"; |
+ case GDK_DROP_FINISHED: return "GDK_DROP_FINISHED"; |
+ case GDK_CLIENT_EVENT: return "GDK_CLIENT_EVENT"; |
+ case GDK_VISIBILITY_NOTIFY: return "GDK_VISIBILITY_NOTIFY"; |
+ case GDK_NO_EXPOSE: return "GDK_NO_EXPOSE"; |
+ case GDK_SCROLL: return "GDK_SCROLL"; |
+ case GDK_WINDOW_STATE: return "GDK_WINDOW_STATE"; |
+ case GDK_SETTING: return "GDK_SETTING"; |
+ case GDK_OWNER_CHANGE: return "GDK_OWNER_CHANGE"; |
+ case GDK_GRAB_BROKEN: return "GDK_GRAB_BROKEN"; |
+ case GDK_DAMAGE: return "GDK_DAMAGE"; |
+ default: |
+ return "Unknown Gdk Event"; |
+ } |
+} |
+ |
+} |
+ |
namespace base { |
MessagePumpGtk::MessagePumpGtk() : MessagePumpGlib() { |
@@ -19,6 +71,9 @@ MessagePumpGtk::~MessagePumpGtk() { |
} |
void MessagePumpGtk::DispatchEvents(GdkEvent* event) { |
+ UNSHIPPED_TRACE_EVENT1("task", "MessagePumpGtk::DispatchEvents", |
+ "type", EventToTypeString(event)); |
+ |
WillProcessEvent(event); |
MessagePumpDispatcher* dispatcher = GetDispatcher(); |