diff options
author | oshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-04 00:10:47 +0000 |
---|---|---|
committer | oshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-04 00:10:47 +0000 |
commit | 2e5597c7a7dad2a5255979752de155358c485ad4 (patch) | |
tree | 13ba82ec946edc07c058ed35cf2999d402914033 /views | |
parent | 8e1eaf972ae4e682b00a75fe4bfc54b2da2199b3 (diff) | |
download | chromium_src-2e5597c7a7dad2a5255979752de155358c485ad4.zip chromium_src-2e5597c7a7dad2a5255979752de155358c485ad4.tar.gz chromium_src-2e5597c7a7dad2a5255979752de155358c485ad4.tar.bz2 |
Consolidate message observer API for MessagePumpX and MessagePumWin
This is an attempt to simplify the code around message pump observer.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8021009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103825 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r-- | views/mouse_watcher.cc | 27 | ||||
-rw-r--r-- | views/widget/native_widget_gtk.cc | 9 | ||||
-rw-r--r-- | views/widget/native_widget_win.cc | 6 | ||||
-rw-r--r-- | views/widget/native_widget_win.h | 5 | ||||
-rw-r--r-- | views/widget/tooltip_manager_views.cc | 19 | ||||
-rw-r--r-- | views/widget/tooltip_manager_views.h | 10 |
6 files changed, 48 insertions, 28 deletions
diff --git a/views/mouse_watcher.cc b/views/mouse_watcher.cc index df5adeb..5daab25 100644 --- a/views/mouse_watcher.cc +++ b/views/mouse_watcher.cc @@ -35,10 +35,12 @@ class MouseWatcher::Observer : public MessageLoopForUI::Observer { // MessageLoop::Observer implementation: #if defined(OS_WIN) - void WillProcessMessage(const MSG& msg) OVERRIDE { + virtual base::EventStatus WillProcessEvent( + const base::NativeEvent& event) OVERRIDE { + return base::EVENT_CONTINUE; } - void DidProcessMessage(const MSG& msg) OVERRIDE { + virtual void DidProcessEvent(const base::NativeEvent& event) OVERRIDE { // We spy on three different Windows messages here to see if the mouse has // moved out of the bounds of the view. The messages are: // @@ -50,7 +52,7 @@ class MouseWatcher::Observer : public MessageLoopForUI::Observer { // WM_NCMOUSELEAVE: // For notification when the mouse leaves the _non-client_ area. // - switch (msg.message) { + switch (event.message) { case WM_MOUSEMOVE: HandleGlobalMouseMoveEvent(false); break; @@ -61,7 +63,7 @@ class MouseWatcher::Observer : public MessageLoopForUI::Observer { } } #elif defined(USE_WAYLAND) - MessageLoopForUI::Observer::EventStatus WillProcessEvent( + virtual MessageLoopForUI::Observer::EventStatus WillProcessEvent( ui::WaylandEvent* event) OVERRIDE { switch (event->type) { case ui::WAYLAND_MOTION: @@ -76,11 +78,19 @@ class MouseWatcher::Observer : public MessageLoopForUI::Observer { } return EVENT_CONTINUE; } +#elif defined(TOUCH_UI) || defined(USE_AURA) + virtual base::EventStatus WillProcessEvent( + const base::NativeEvent& event) OVERRIDE { + return base::EVENT_CONTINUE; + } + virtual void DidProcessEvent(const base::NativeEvent& event) OVERRIDE { + NOTIMPLEMENTED(); + } #elif defined(TOOLKIT_USES_GTK) - void WillProcessEvent(GdkEvent* event) OVERRIDE { + virtual void WillProcessEvent(GdkEvent* event) OVERRIDE { } - void DidProcessEvent(GdkEvent* event) OVERRIDE { + virtual void DidProcessEvent(GdkEvent* event) OVERRIDE { switch (event->type) { case GDK_MOTION_NOTIFY: HandleGlobalMouseMoveEvent(false); @@ -92,11 +102,6 @@ class MouseWatcher::Observer : public MessageLoopForUI::Observer { break; } } -#else - EventStatus WillProcessXEvent(XEvent* event) OVERRIDE { - // TODO(davemoore) Implement. - return EVENT_CONTINUE; - } #endif private: diff --git a/views/widget/native_widget_gtk.cc b/views/widget/native_widget_gtk.cc index 0b4abe8..6ca4190 100644 --- a/views/widget/native_widget_gtk.cc +++ b/views/widget/native_widget_gtk.cc @@ -260,7 +260,15 @@ class NativeWidgetGtk::DropObserver : public MessageLoopForUI::Observer { static DropObserver* GetInstance() { return Singleton<DropObserver>::get(); } +#if defined(TOUCH_UI) + virtual base::EventStatus WillProcessEvent( + const base::NativeEvent& event) OVERRIDE { + return base::EVENT_CONTINUE; + } + virtual void DidProcessEvent(const base::NativeEvent& event) OVERRIDE { + } +#else virtual void WillProcessEvent(GdkEvent* event) { if (event->type == GDK_DROP_START) { NativeWidgetGtk* widget = GetNativeWidgetGtkForEvent(event); @@ -271,6 +279,7 @@ class NativeWidgetGtk::DropObserver : public MessageLoopForUI::Observer { virtual void DidProcessEvent(GdkEvent* event) { } +#endif private: NativeWidgetGtk* GetNativeWidgetGtkForEvent(GdkEvent* event) { diff --git a/views/widget/native_widget_win.cc b/views/widget/native_widget_win.cc index 1acf3c9..1afcb41 100644 --- a/views/widget/native_widget_win.cc +++ b/views/widget/native_widget_win.cc @@ -1121,10 +1121,12 @@ gfx::Rect NativeWidgetWin::GetWorkAreaBoundsInScreen() const { //////////////////////////////////////////////////////////////////////////////// // NativeWidgetWin, MessageLoop::Observer implementation: -void NativeWidgetWin::WillProcessMessage(const MSG& msg) { +base::EventStatus NativeWidgetWin::WillProcessEvent( + const base::NativeEvent& event) { + return base::EVENT_CONTINUE; } -void NativeWidgetWin::DidProcessMessage(const MSG& msg) { +void NativeWidgetWin::DidProcessEvent(const base::NativeEvent& event) { RedrawInvalidRect(); } diff --git a/views/widget/native_widget_win.h b/views/widget/native_widget_win.h index 252d6cd..c9f056f 100644 --- a/views/widget/native_widget_win.h +++ b/views/widget/native_widget_win.h @@ -279,8 +279,9 @@ class VIEWS_EXPORT NativeWidgetWin : public ui::WindowImpl, }; // Overridden from MessageLoop::Observer: - void WillProcessMessage(const MSG& msg) OVERRIDE; - virtual void DidProcessMessage(const MSG& msg) OVERRIDE; + virtual base::EventStatus WillProcessEvent( + const base::NativeEvent& event) OVERRIDE; + virtual void DidProcessEvent(const base::NativeEvent& event) OVERRIDE; // Overridden from WindowImpl: virtual HICON GetDefaultWindowIcon() const OVERRIDE; diff --git a/views/widget/tooltip_manager_views.cc b/views/widget/tooltip_manager_views.cc index 2537d7e..2a1c95a 100644 --- a/views/widget/tooltip_manager_views.cc +++ b/views/widget/tooltip_manager_views.cc @@ -114,23 +114,28 @@ base::MessagePumpObserver::EventStatus TooltipManagerViews::WillProcessEvent( return base::MessagePumpObserver::EVENT_CONTINUE; } #elif defined(USE_X11) -base::MessagePumpObserver::EventStatus TooltipManagerViews::WillProcessXEvent( - XEvent* xevent) { - XGenericEventCookie* cookie = &xevent->xcookie; +base::EventStatus TooltipManagerViews::WillProcessEvent( + const base::NativeEvent& event) { + XGenericEventCookie* cookie = &event->xcookie; if (cookie->evtype == XI_Motion) { - XIDeviceEvent* xievent = static_cast<XIDeviceEvent*>(cookie->data); + const XIDeviceEvent* xievent = static_cast<XIDeviceEvent*>(cookie->data); OnMouseMoved(static_cast<int>(xievent->event_x), static_cast<int>(xievent->event_y)); } - return base::MessagePumpObserver::EVENT_CONTINUE; + return base::EVENT_CONTINUE; +} + +void TooltipManagerViews::DidProcessEvent(const base::NativeEvent& event) { } #elif defined(OS_WIN) -void TooltipManagerViews::WillProcessMessage(const MSG& msg) { +base::EventStatus TooltipManagerViews::WillProcessEvent( + const base::NativeEvent& event) { if (msg.message == WM_MOUSEMOVE) OnMouseMoved(GET_X_LPARAM(msg.lParam), GET_Y_LPARAM(msg.lParam)); + return base::EVENT_CONTINUE; } -void TooltipManagerViews::DidProcessMessage(const MSG& msg) { +void TooltipManagerViews::DidProcessEvent(const base::NativeEvent& event) { } #endif diff --git a/views/widget/tooltip_manager_views.h b/views/widget/tooltip_manager_views.h index ced0ea2..c2d63cd 100644 --- a/views/widget/tooltip_manager_views.h +++ b/views/widget/tooltip_manager_views.h @@ -45,13 +45,11 @@ class TooltipManagerViews : public TooltipManager, #if defined(USE_WAYLAND) virtual base::MessagePumpObserver::EventStatus WillProcessEvent( ui::WaylandEvent* event) OVERRIDE; -#elif defined(USE_X11) +#else // MessageLoopForUI::Observer - virtual base::MessagePumpObserver::EventStatus WillProcessXEvent( - XEvent* xevent) OVERRIDE; -#elif defined(OS_WIN) - virtual void WillProcessMessage(const MSG& msg) OVERRIDE; - virtual void DidProcessMessage(const MSG& msg) OVERRIDE; + virtual base::EventStatus WillProcessEvent( + const base::NativeEvent& event) OVERRIDE; + virtual void DidProcessEvent(const base::NativeEvent& event) OVERRIDE; #endif private: |