1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_MOCK_INPUT_ROUTER_CLIENT_H_ 6 #define CONTENT_BROWSER_RENDERER_HOST_INPUT_MOCK_INPUT_ROUTER_CLIENT_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "content/browser/renderer_host/input/input_router_client.h" 10 #include "content/common/input/did_overscroll_params.h" 11 12 namespace content { 13 14 class InputEvent; 15 class InputRouter; 16 17 class MockInputRouterClient : public InputRouterClient { 18 public: 19 MockInputRouterClient(); 20 virtual ~MockInputRouterClient(); 21 22 // InputRouterClient 23 virtual InputEventAckState FilterInputEvent( 24 const blink::WebInputEvent& input_event, 25 const ui::LatencyInfo& latency_info) OVERRIDE; 26 virtual void IncrementInFlightEventCount() OVERRIDE; 27 virtual void DecrementInFlightEventCount() OVERRIDE; 28 virtual void OnHasTouchEventHandlers(bool has_handlers) OVERRIDE; 29 virtual void SetNeedsFlush() OVERRIDE; 30 virtual void DidFlush() OVERRIDE; 31 virtual void DidOverscroll(const DidOverscrollParams& params) OVERRIDE; 32 33 bool GetAndResetFilterEventCalled(); 34 size_t GetAndResetDidFlushCount(); 35 DidOverscrollParams GetAndResetOverscroll(); 36 37 void set_input_router(InputRouter* input_router) { 38 input_router_ = input_router; 39 } 40 41 bool has_touch_handler() const { return has_touch_handler_; } 42 void set_filter_state(InputEventAckState filter_state) { 43 filter_state_ = filter_state; 44 } 45 int in_flight_event_count() const { 46 return in_flight_event_count_; 47 } 48 void set_allow_send_event(bool allow) { 49 filter_state_ = INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS; 50 } 51 52 private: 53 InputRouter* input_router_; 54 int in_flight_event_count_; 55 bool has_touch_handler_; 56 57 InputEventAckState filter_state_; 58 59 bool filter_input_event_called_; 60 scoped_ptr<InputEvent> last_filter_event_; 61 62 size_t did_flush_called_count_; 63 bool set_needs_flush_called_; 64 65 DidOverscrollParams overscroll_; 66 }; 67 68 } // namespace content 69 70 #endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_MOCK_INPUT_ROUTER_CLIENT_H_ 71