Index: content/browser/renderer_host/input/mock_input_router_client.cc |
diff --git a/content/browser/renderer_host/input/mock_input_router_client.cc b/content/browser/renderer_host/input/mock_input_router_client.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..86fb53b6b58e4cfd0c570ff37768db853ac821a0 |
--- /dev/null |
+++ b/content/browser/renderer_host/input/mock_input_router_client.cc |
@@ -0,0 +1,148 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "content/browser/renderer_host/input/mock_input_router_client.h" |
+ |
+#include "content/browser/renderer_host/input/input_router.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+using base::TimeDelta; |
+using WebKit::WebGestureEvent; |
+using WebKit::WebInputEvent; |
+using WebKit::WebMouseEvent; |
+using WebKit::WebMouseWheelEvent; |
+using WebKit::WebTouchEvent; |
+using WebKit::WebTouchPoint; |
+ |
+namespace content { |
+ |
+MockInputRouterClient::MockInputRouterClient() |
+ : input_router_(NULL), |
+ in_flight_event_count_(0), |
+ has_touch_handler_(false), |
+ filter_state_(INPUT_EVENT_ACK_STATE_NOT_CONSUMED), |
+ is_shortcut_(false), |
+ allow_send_event_(true), |
+ send_called_(false), |
+ send_immediately_called_(false), |
+ did_flush_called_(false), |
+ set_needs_flush_called_(false) {} |
+ |
+MockInputRouterClient::~MockInputRouterClient() {} |
+ |
+InputEventAckState MockInputRouterClient::FilterInputEvent( |
+ const WebInputEvent& input_event, |
+ const ui::LatencyInfo& latency_info) { |
+ return filter_state_; |
+} |
+ |
+void MockInputRouterClient::IncrementInFlightEventCount() { |
+ ++in_flight_event_count_; |
+} |
+ |
+void MockInputRouterClient::DecrementInFlightEventCount() { |
+ --in_flight_event_count_; |
+} |
+ |
+void MockInputRouterClient::OnHasTouchEventHandlers( |
+ bool has_handlers) { |
+ has_touch_handler_ = has_handlers; |
+} |
+ |
+bool MockInputRouterClient::OnSendKeyboardEvent( |
+ const NativeWebKeyboardEvent& key_event, |
+ const ui::LatencyInfo& latency_info, |
+ bool* is_shortcut) { |
+ send_called_ = true; |
+ sent_key_event_ = key_event; |
+ *is_shortcut = is_shortcut_; |
+ |
+ return allow_send_event_; |
+} |
+ |
+bool MockInputRouterClient::OnSendWheelEvent( |
+ const MouseWheelEventWithLatencyInfo& wheel_event) { |
+ send_called_ = true; |
+ sent_wheel_event_ = wheel_event; |
+ |
+ return allow_send_event_; |
+} |
+ |
+bool MockInputRouterClient::OnSendMouseEvent( |
+ const MouseEventWithLatencyInfo& mouse_event) { |
+ send_called_ = true; |
+ sent_mouse_event_ = mouse_event; |
+ |
+ return allow_send_event_; |
+} |
+ |
+bool MockInputRouterClient::OnSendTouchEvent( |
+ const TouchEventWithLatencyInfo& touch_event) { |
+ send_called_ = true; |
+ sent_touch_event_ = touch_event; |
+ |
+ return allow_send_event_; |
+} |
+ |
+bool MockInputRouterClient::OnSendGestureEvent( |
+ const GestureEventWithLatencyInfo& gesture_event) { |
+ send_called_ = true; |
+ sent_gesture_event_ = gesture_event; |
+ |
+ return allow_send_event_ && |
+ input_router_->ShouldForwardGestureEvent(gesture_event); |
+} |
+ |
+bool MockInputRouterClient::OnSendMouseEventImmediately( |
+ const MouseEventWithLatencyInfo& mouse_event) { |
+ send_immediately_called_ = true; |
+ immediately_sent_mouse_event_ = mouse_event; |
+ |
+ return allow_send_event_; |
+} |
+ |
+bool MockInputRouterClient::OnSendTouchEventImmediately( |
+ const TouchEventWithLatencyInfo& touch_event) { |
+ send_immediately_called_ = true; |
+ immediately_sent_touch_event_ = touch_event; |
+ |
+ return allow_send_event_; |
+} |
+ |
+bool MockInputRouterClient::OnSendGestureEventImmediately( |
+ const GestureEventWithLatencyInfo& gesture_event) { |
+ send_immediately_called_ = true; |
+ immediately_sent_gesture_event_ = gesture_event; |
+ return allow_send_event_; |
+} |
+ |
+void MockInputRouterClient::ExpectSendCalled(bool called) { |
+ EXPECT_EQ(called, send_called_); |
+ send_called_ = false; |
+} |
+ |
+void MockInputRouterClient::ExpectSendImmediatelyCalled(bool called) { |
+ EXPECT_EQ(called, send_immediately_called_); |
+ send_immediately_called_ = false; |
+} |
+ |
+void MockInputRouterClient::ExpectNeedsFlushCalled(bool called) { |
+ EXPECT_EQ(called, set_needs_flush_called_); |
+ set_needs_flush_called_ = false; |
+} |
+ |
+void MockInputRouterClient::ExpectDidFlushCalled(bool called) { |
+ EXPECT_EQ(called, did_flush_called_); |
+ did_flush_called_ = false; |
+} |
+ |
+void MockInputRouterClient::DidFlush() { |
+ did_flush_called_ = true; |
+} |
+ |
+void MockInputRouterClient::SetNeedsFlush() { |
+ set_needs_flush_called_ = true; |
+} |
+ |
+} // namespace content |