Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1470)

Unified Diff: ui/events/blink/input_handler_proxy.h

Issue 2429953002: Implement compositor thread VSync aligned event queue (Closed)
Patch Set: dtapuska&enne's review: Call |Now()| once per loop; Chromium style; Remove parameterized test Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/events/blink/event_with_callback.cc ('k') | ui/events/blink/input_handler_proxy.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
};
« no previous file with comments | « ui/events/blink/event_with_callback.cc ('k') | ui/events/blink/input_handler_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698