| Index: ui/events/blink/input_handler_proxy.h
|
| diff --git a/ui/events/blink/input_handler_proxy.h b/ui/events/blink/input_handler_proxy.h
|
| index a74be1c1232c91676f9f358d9fe29c78a2969680..a24ceb96e8cee797a821d0aa0b87514274886b59 100644
|
| --- a/ui/events/blink/input_handler_proxy.h
|
| +++ b/ui/events/blink/input_handler_proxy.h
|
| @@ -15,16 +15,24 @@
|
| #include "third_party/WebKit/public/platform/WebGestureEvent.h"
|
| #include "third_party/WebKit/public/platform/WebInputEvent.h"
|
| #include "third_party/WebKit/public/web/WebActiveWheelFlingParameters.h"
|
| +#include "ui/events/blink/blink_features.h"
|
| #include "ui/events/blink/input_scroll_elasticity_controller.h"
|
| #include "ui/events/blink/scoped_web_input_event.h"
|
| #include "ui/events/blink/synchronous_input_handler_proxy.h"
|
|
|
| +namespace base {
|
| +class TickClock;
|
| +}
|
| +
|
| namespace ui {
|
|
|
| namespace test {
|
| class InputHandlerProxyTest;
|
| +class InputHandlerProxyEventQueueTest;
|
| }
|
|
|
| +class CompositorThreadEventQueue;
|
| +class EventWithCallback;
|
| class InputHandlerProxyClient;
|
| class InputScrollElasticityController;
|
| class SynchronousInputHandler;
|
| @@ -81,6 +89,7 @@ class InputHandlerProxy
|
| float page_scale_factor,
|
| float min_page_scale_factor,
|
| float max_page_scale_factor) override;
|
| + void DeliverInputForBeginFrame() override;
|
|
|
| // SynchronousInputHandlerProxy implementation.
|
| void SetOnlySynchronouslyAnimateRootFlings(
|
| @@ -105,6 +114,11 @@ class InputHandlerProxy
|
|
|
| private:
|
| friend class test::InputHandlerProxyTest;
|
| + friend class test::InputHandlerProxyEventQueueTest;
|
| +
|
| + void DispatchSingleInputEvent(std::unique_ptr<EventWithCallback>,
|
| + const base::TimeTicks);
|
| + void DispatchQueuedInputEvents();
|
|
|
| // Helper functions for handling more complicated input events.
|
| EventDisposition HandleMouseWheel(
|
| @@ -163,6 +177,8 @@ class InputHandlerProxy
|
| const blink::WebGestureEvent& gesture_event,
|
| const cc::InputHandlerScrollResult& scroll_result);
|
|
|
| + void SetTickClockForTesting(std::unique_ptr<base::TickClock> tick_clock);
|
| +
|
| std::unique_ptr<blink::WebGestureCurve> fling_curve_;
|
| // Parameters for the active fling animation, stored in case we need to
|
| // transfer it out later.
|
| @@ -229,6 +245,11 @@ class InputHandlerProxy
|
| // supporting overscroll IPC notifications due to fling animation updates.
|
| std::unique_ptr<DidOverscrollParams> current_overscroll_params_;
|
|
|
| + std::unique_ptr<CompositorThreadEventQueue> compositor_event_queue_;
|
| + bool has_ongoing_compositor_scroll_pinch_;
|
| +
|
| + std::unique_ptr<base::TickClock> tick_clock_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(InputHandlerProxy);
|
| };
|
|
|
|
|