Home | History | Annotate | Download | only in input
      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