summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-01 03:32:34 +0000
committersadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-01 03:32:34 +0000
commit2fce7fb80483cfe61bc86c5183b1477989d4a789 (patch)
treee90a0f3eba141570db482b9d595e580560c2a7c6
parent6c7523a5b54cced532540231f6ca596e746d432a (diff)
downloadchromium_src-2fce7fb80483cfe61bc86c5183b1477989d4a789.zip
chromium_src-2fce7fb80483cfe61bc86c5183b1477989d4a789.tar.gz
chromium_src-2fce7fb80483cfe61bc86c5183b1477989d4a789.tar.bz2
Revert 170641 because it broke mac-debug build.
> events: Dispatch all events through EventHandler::OnEvent from the dispatcher. > > The EventDispatcher dispatches all events to EventHandler::OnEvent. The default > implementation routes various events to more appropriate handlers (e.g. OnKeyEvent > for KeyEvent etc.) > > BUG=163606 > > Review URL: https://codereview.chromium.org/11299285 TBR=sadrul@chromium.org Review URL: https://codereview.chromium.org/11414283 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170647 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--ui/base/events/event.h4
-rw-r--r--ui/base/events/event_dispatcher.cc25
-rw-r--r--ui/base/events/event_dispatcher.h10
-rw-r--r--ui/base/events/event_handler.cc12
-rw-r--r--ui/base/events/event_handler.h4
5 files changed, 36 insertions, 19 deletions
diff --git a/ui/base/events/event.h b/ui/base/events/event.h
index 06687be..77edf2b 100644
--- a/ui/base/events/event.h
+++ b/ui/base/events/event.h
@@ -97,8 +97,7 @@ class UI_EXPORT Event {
type_ == ET_MOUSE_MOVED ||
type_ == ET_MOUSE_ENTERED ||
type_ == ET_MOUSE_EXITED ||
- type_ == ET_MOUSEWHEEL ||
- type_ == ET_MOUSE_CAPTURE_CHANGED;
+ type_ == ET_MOUSEWHEEL;
}
bool IsTouchEvent() const {
@@ -115,7 +114,6 @@ class UI_EXPORT Event {
case ET_GESTURE_SCROLL_END:
case ET_GESTURE_SCROLL_UPDATE:
case ET_GESTURE_TAP:
- case ET_GESTURE_TAP_CANCEL:
case ET_GESTURE_TAP_DOWN:
case ET_GESTURE_BEGIN:
case ET_GESTURE_END:
diff --git a/ui/base/events/event_dispatcher.cc b/ui/base/events/event_dispatcher.cc
index 188523d..3308ac9 100644
--- a/ui/base/events/event_dispatcher.cc
+++ b/ui/base/events/event_dispatcher.cc
@@ -24,6 +24,31 @@ EventResult EventDispatcher::DispatchEventToSingleHandler(EventHandler* handler,
return handler->OnEvent(event);
}
+EventResult EventDispatcher::DispatchEventToSingleHandler(EventHandler* handler,
+ KeyEvent* event) {
+ return handler->OnKeyEvent(event);
+}
+
+EventResult EventDispatcher::DispatchEventToSingleHandler(EventHandler* handler,
+ MouseEvent* event) {
+ return handler->OnMouseEvent(event);
+}
+
+EventResult EventDispatcher::DispatchEventToSingleHandler(EventHandler* handler,
+ ScrollEvent* event) {
+ return handler->OnScrollEvent(event);
+}
+
+EventResult EventDispatcher::DispatchEventToSingleHandler(EventHandler* handler,
+ TouchEvent* event) {
+ return handler->OnTouchEvent(event);
+}
+
+EventResult EventDispatcher::DispatchEventToSingleHandler(EventHandler* handler,
+ GestureEvent* event) {
+ return handler->OnGestureEvent(event);
+}
+
////////////////////////////////////////////////////////////////////////////////
// EventDispatcher::ScopedDispatchHelper
diff --git a/ui/base/events/event_dispatcher.h b/ui/base/events/event_dispatcher.h
index 4177848..42d208c 100644
--- a/ui/base/events/event_dispatcher.h
+++ b/ui/base/events/event_dispatcher.h
@@ -115,6 +115,16 @@ class UI_EXPORT EventDispatcher {
}
EventResult DispatchEventToSingleHandler(EventHandler* handler, Event* event);
+ EventResult DispatchEventToSingleHandler(EventHandler* handler,
+ KeyEvent* event);
+ EventResult DispatchEventToSingleHandler(EventHandler* handler,
+ MouseEvent* event);
+ EventResult DispatchEventToSingleHandler(EventHandler* handler,
+ ScrollEvent* event);
+ EventResult DispatchEventToSingleHandler(EventHandler* handler,
+ TouchEvent* event);
+ EventResult DispatchEventToSingleHandler(EventHandler* handler,
+ GestureEvent* event);
// This is used to track whether the dispatcher has been destroyed in the
// middle of dispatching an event.
diff --git a/ui/base/events/event_handler.cc b/ui/base/events/event_handler.cc
index ea9048e..93347a5 100644
--- a/ui/base/events/event_handler.cc
+++ b/ui/base/events/event_handler.cc
@@ -4,8 +4,6 @@
#include "ui/base/events/event_handler.h"
-#include "ui/base/events/event.h"
-
namespace ui {
EventHandler::EventHandler() {
@@ -15,16 +13,6 @@ EventHandler::~EventHandler() {
}
EventResult EventHandler::OnEvent(Event* event) {
- if (event->IsKeyEvent())
- return OnKeyEvent(static_cast<KeyEvent*>(event));
- if (event->IsMouseEvent())
- return OnMouseEvent(static_cast<MouseEvent*>(event));
- if (event->IsScrollEvent())
- return OnScrollEvent(static_cast<ScrollEvent*>(event));
- if (event->IsTouchEvent())
- return OnTouchEvent(static_cast<TouchEvent*>(event));
- if (event->IsGestureEvent())
- return OnGestureEvent(static_cast<GestureEvent*>(event));
return ui::ER_UNHANDLED;
}
diff --git a/ui/base/events/event_handler.h b/ui/base/events/event_handler.h
index 5f06521..567474f 100644
--- a/ui/base/events/event_handler.h
+++ b/ui/base/events/event_handler.h
@@ -28,10 +28,6 @@ class UI_EXPORT EventHandler {
EventHandler();
virtual ~EventHandler();
- // This is called for all events. The default implementation routes the event
- // to one of the event-specific callbacks (OnKeyEvent, OnMouseEvent etc.). If
- // this is overridden, then normally, the override should chain into the
- // default implementation for un-handled events.
virtual EventResult OnEvent(Event* event);
virtual EventResult OnKeyEvent(KeyEvent* event);