Index: ui/views/test/test_views.cc |
diff --git a/ui/views/test/test_views.cc b/ui/views/test/test_views.cc |
index 555d4c67a276ce6f347366108ff7982f6f9fe950..d0ad7d53186134e23fd4e6e6f76a2b7f9ded69d7 100644 |
--- a/ui/views/test/test_views.cc |
+++ b/ui/views/test/test_views.cc |
@@ -64,4 +64,46 @@ void CloseWidgetView::OnEvent(ui::Event* event) { |
} |
} |
+EventCountView::EventCountView() |
+ : last_flags_(0), handle_mode_(PROPAGATE_EVENTS) {} |
+ |
+EventCountView::~EventCountView() {} |
+ |
+int EventCountView::GetEventCount(ui::EventType type) { |
+ return event_count_[type]; |
+} |
+ |
+void EventCountView::ResetCounts() { |
+ event_count_.clear(); |
+} |
+ |
+void EventCountView::OnMouseMoved(const ui::MouseEvent& event) { |
+ // MouseMove events are not re-dispatched from the RootView. |
+ ++event_count_[ui::ET_MOUSE_MOVED]; |
+ last_flags_ = 0; |
+} |
+ |
+void EventCountView::OnKeyEvent(ui::KeyEvent* event) { |
+ RecordEvent(event); |
+} |
+ |
+void EventCountView::OnMouseEvent(ui::MouseEvent* event) { |
+ RecordEvent(event); |
+} |
+ |
+void EventCountView::OnScrollEvent(ui::ScrollEvent* event) { |
+ RecordEvent(event); |
+} |
+ |
+void EventCountView::OnGestureEvent(ui::GestureEvent* event) { |
+ RecordEvent(event); |
+} |
+ |
+void EventCountView::RecordEvent(ui::Event* event) { |
+ ++event_count_[event->type()]; |
+ last_flags_ = event->flags(); |
+ if (handle_mode_ == CONSUME_EVENTS) |
+ event->SetHandled(); |
+} |
+ |
} // namespace views |