| // Copyright 2012 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "ui/events/event_handler.h" |
| |
| #include "base/logging.h" |
| #include "base/strings/string_util.h" |
| #include "ui/events/event.h" |
| #include "ui/events/event_dispatcher.h" |
| |
| namespace ui { |
| |
| EventHandler::EventHandler() = default; |
| |
| EventHandler::~EventHandler() { |
| while (!dispatchers_.empty()) { |
| EventDispatcher* dispatcher = dispatchers_.top(); |
| dispatchers_.pop(); |
| dispatcher->OnHandlerDestroyed(this); |
| } |
| } |
| |
| void EventHandler::OnEvent(Event* event) { |
| // You may uncomment the following line if more detailed logging is necessary |
| // for diagnosing event processing. This code is a critical path and the added |
| // overhead from the logging can introduce other issues. Please do not commit |
| // with the following line commented without first discussing with OWNERs. |
| // See crbug/1210633 for details. |
| // VLOG(5) << GetLogContext() << "::OnEvent(" << event->ToString() << ")"; |
| if (event->IsKeyEvent()) |
| OnKeyEvent(event->AsKeyEvent()); |
| else if (event->IsMouseEvent()) |
| OnMouseEvent(event->AsMouseEvent()); |
| else if (event->IsScrollEvent()) |
| OnScrollEvent(event->AsScrollEvent()); |
| else if (event->IsTouchEvent()) |
| OnTouchEvent(event->AsTouchEvent()); |
| else if (event->IsGestureEvent()) |
| OnGestureEvent(event->AsGestureEvent()); |
| else if (event->IsCancelModeEvent()) |
| OnCancelMode(event->AsCancelModeEvent()); |
| } |
| |
| void EventHandler::OnKeyEvent(KeyEvent* event) { |
| } |
| |
| void EventHandler::OnMouseEvent(MouseEvent* event) { |
| } |
| |
| void EventHandler::OnScrollEvent(ScrollEvent* event) { |
| } |
| |
| void EventHandler::OnTouchEvent(TouchEvent* event) { |
| } |
| |
| void EventHandler::OnGestureEvent(GestureEvent* event) { |
| } |
| |
| void EventHandler::OnCancelMode(CancelModeEvent* event) { |
| } |
| |
| base::StringPiece EventHandler::GetLogContext() const { |
| return "(Unknown EventHandler)"; // Please override |
| } |
| |
| } // namespace ui |