diff options
author | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-21 19:33:43 +0000 |
---|---|---|
committer | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-21 19:33:43 +0000 |
commit | b2a566e6ed4dfe3c3afd17c9872c2762193152a4 (patch) | |
tree | f25cadcd5bf55d21f3fbc593d8d361d7fe010531 /base/message_pump_x.cc | |
parent | 76b70f91d71f6e36489dd5c9876a54e65af46f7c (diff) | |
download | chromium_src-b2a566e6ed4dfe3c3afd17c9872c2762193152a4.zip chromium_src-b2a566e6ed4dfe3c3afd17c9872c2762193152a4.tar.gz chromium_src-b2a566e6ed4dfe3c3afd17c9872c2762193152a4.tar.bz2 |
Some dead-code removal from message_pump_x and touch_factory.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8575017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110980 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/message_pump_x.cc')
-rw-r--r-- | base/message_pump_x.cc | 149 |
1 files changed, 5 insertions, 144 deletions
diff --git a/base/message_pump_x.cc b/base/message_pump_x.cc index 15276e4..06dea11 100644 --- a/base/message_pump_x.cc +++ b/base/message_pump_x.cc @@ -9,10 +9,6 @@ #include "base/basictypes.h" #include "base/message_loop.h" -#if defined(TOOLKIT_USES_GTK) -#include <gdk/gdkx.h> -#endif - namespace { gboolean XSourcePrepare(GSource* source, gint* timeout_ms) { @@ -46,17 +42,8 @@ GSourceFuncs XSourceFuncs = { // The opcode used for checking events. int xiopcode = -1; -#if defined(TOOLKIT_USES_GTK) -gboolean PlaceholderDispatch(GSource* source, - GSourceFunc cb, - gpointer data) { - return TRUE; -} -#else -// If the GTK/GDK event processing is not present, the message-pump opens a -// connection to the display and owns it. +// The message-pump opens a connection to the display and owns it. Display* g_xdisplay = NULL; -#endif // defined(TOOLKIT_USES_GTK) void InitializeXInput2(void) { Display* display = base::MessagePumpX::GetDefaultXDisplay(); @@ -97,46 +84,23 @@ void InitializeXInput2(void) { namespace base { MessagePumpX::MessagePumpX() : MessagePumpGlib(), -#if defined(TOOLKIT_USES_GTK) - gdksource_(NULL), - dispatching_event_(false), - capture_x_events_(0), - capture_gdk_events_(0), -#endif x_source_(NULL) { InitializeXInput2(); -#if defined(TOOLKIT_USES_GTK) - gdk_window_add_filter(NULL, &GdkEventFilter, this); - gdk_event_handler_set(&EventDispatcherX, this, NULL); - InitializeEventsToCapture(); -#else InitXSource(); -#endif } MessagePumpX::~MessagePumpX() { -#if defined(TOOLKIT_USES_GTK) - gdk_window_remove_filter(NULL, &GdkEventFilter, this); - gdk_event_handler_set(reinterpret_cast<GdkEventFunc>(gtk_main_do_event), - this, NULL); -#else g_source_destroy(x_source_); g_source_unref(x_source_); XCloseDisplay(g_xdisplay); g_xdisplay = NULL; -#endif } // static Display* MessagePumpX::GetDefaultXDisplay() { -#if defined(TOOLKIT_USES_GTK) - static GdkDisplay* display = gdk_display_get_default(); - return display ? GDK_DISPLAY_XDISPLAY(display) : NULL; -#else if (!g_xdisplay) g_xdisplay = XOpenDisplay(NULL); return g_xdisplay; -#endif } // static @@ -158,17 +122,6 @@ void MessagePumpX::InitXSource() { g_source_attach(x_source_, g_main_context_default()); } -bool MessagePumpX::ShouldCaptureXEvent(XEvent* xev) { -#if defined(TOOLKIT_USES_GTK) - return capture_x_events_[xev->type] && - (xev->type != GenericEvent || xev->xcookie.extension == xiopcode); -#else - // When not using GTK, we always handle all events ourselves, and always have - // to remove it from the queue, whether we do anything with it or not. - return true; -#endif -} - bool MessagePumpX::ProcessXEvent(XEvent* xev) { bool should_quit = false; @@ -207,49 +160,12 @@ bool MessagePumpX::RunOnce(GMainContext* context, bool block) { // the tasks. This is what happens in the message_pump_glib case. while (XPending(display)) { XEvent xev; - XPeekEvent(display, &xev); - - if (ShouldCaptureXEvent(&xev)) { - XNextEvent(display, &xev); - if (ProcessXEvent(&xev)) - return true; -#if defined(TOOLKIT_USES_GTK) - } else if (gdksource_) { - // TODO(sad): A couple of extra events can still sneak in during this. - // Those should be sent back to the X queue from the dispatcher - // EventDispatcherX. - gdksource_->source_funcs->dispatch = gdkdispatcher_; - g_main_context_iteration(context, FALSE); -#endif - } -#if defined(TOOLKIT_USES_GTK) - // In the GTK case, we only want to process one event at a time. - break; -#endif - } - - bool retvalue; -#if defined(TOOLKIT_USES_GTK) - if (gdksource_) { - // Replace the dispatch callback of the GDK event source temporarily so that - // it doesn't read events from X. - gboolean (*cb)(GSource*, GSourceFunc, void*) = - gdksource_->source_funcs->dispatch; - gdksource_->source_funcs->dispatch = PlaceholderDispatch; - - dispatching_event_ = true; - retvalue = g_main_context_iteration(context, block); - dispatching_event_ = false; - - gdksource_->source_funcs->dispatch = cb; - } else { - retvalue = g_main_context_iteration(context, block); + XNextEvent(display, &xev); + if (ProcessXEvent(&xev)) + return true; } -#else - retvalue = g_main_context_iteration(context, block); -#endif - return retvalue; + return g_main_context_iteration(context, block); } bool MessagePumpX::WillProcessXEvent(XEvent* xevent) { @@ -270,59 +186,4 @@ void MessagePumpX::DidProcessXEvent(XEvent* xevent) { } } -#if defined(TOOLKIT_USES_GTK) -GdkFilterReturn MessagePumpX::GdkEventFilter(GdkXEvent* gxevent, - GdkEvent* gevent, - gpointer data) { - MessagePumpX* pump = static_cast<MessagePumpX*>(data); - XEvent* xev = static_cast<XEvent*>(gxevent); - - if (pump->ShouldCaptureXEvent(xev) && pump->GetDispatcher()) { - pump->ProcessXEvent(xev); - return GDK_FILTER_REMOVE; - } - return GDK_FILTER_CONTINUE; -} - -void MessagePumpX::EventDispatcherX(GdkEvent* event, gpointer data) { - MessagePumpX* pump_x = reinterpret_cast<MessagePumpX*>(data); - if (!pump_x->gdksource_) { - pump_x->gdksource_ = g_main_current_source(); - if (pump_x->gdksource_) - pump_x->gdkdispatcher_ = pump_x->gdksource_->source_funcs->dispatch; - } else if (!pump_x->IsDispatchingEvent()) { - if (event->type != GDK_NOTHING && - pump_x->capture_gdk_events_[event->type]) { - NOTREACHED() << "GDK received an event it shouldn't have:" << event->type; - } - } - - gtk_main_do_event(event); -} - -void MessagePumpX::InitializeEventsToCapture(void) { - // TODO(sad): Decide which events we want to capture and update the tables - // accordingly. - capture_x_events_[KeyPress] = true; - capture_gdk_events_[GDK_KEY_PRESS] = true; - - capture_x_events_[KeyRelease] = true; - capture_gdk_events_[GDK_KEY_RELEASE] = true; - - capture_x_events_[ButtonPress] = true; - capture_gdk_events_[GDK_BUTTON_PRESS] = true; - - capture_x_events_[ButtonRelease] = true; - capture_gdk_events_[GDK_BUTTON_RELEASE] = true; - - capture_x_events_[MotionNotify] = true; - capture_gdk_events_[GDK_MOTION_NOTIFY] = true; - - capture_x_events_[GenericEvent] = true; -} - -COMPILE_ASSERT(XLASTEvent >= LASTEvent, XLASTEvent_too_small); - -#endif // defined(TOOLKIT_USES_GTK) - } // namespace base |