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

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

Issue 2429953002: Implement compositor thread VSync aligned event queue (Closed)
Patch Set: dtapuska's review: Non-template CompositorThreadEventQueue; Added blink_features.h; UMA only when e… 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
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 84df86dcfed637b4b836587e72fd0fd7410aff4b..882e42b39cf75111f383d626b88a35b5e54e636a 100644
--- a/ui/events/blink/input_handler_proxy.h
+++ b/ui/events/blink/input_handler_proxy.h
@@ -14,6 +14,7 @@
#include "third_party/WebKit/public/platform/WebGestureCurveTarget.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"
@@ -22,8 +23,11 @@ namespace ui {
namespace test {
class InputHandlerProxyTest;
+class InputHandlerProxyEventQueueTest;
}
+class CompositorThreadEventQueue;
+class EventWithCallback;
class InputHandlerProxyClient;
class InputScrollElasticityController;
class SynchronousInputHandler;
@@ -79,6 +83,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(
@@ -103,6 +108,10 @@ class InputHandlerProxy
private:
friend class test::InputHandlerProxyTest;
+ friend class test::InputHandlerProxyEventQueueTest;
+
+ void DispatchSingleInputEvent(std::unique_ptr<EventWithCallback>);
+ void DispatchQueuedInputEvent();
// Helper functions for handling more complicated input events.
EventDisposition HandleMouseWheel(
@@ -227,6 +236,10 @@ class InputHandlerProxy
// supporting overscroll IPC notifications due to fling animation updates.
std::unique_ptr<DidOverscrollParams> current_overscroll_params_;
+ std::unique_ptr<CompositorThreadEventQueue> event_queue_;
+ bool has_ongoing_compositor_scroll_pinch;
tdresser 2016/11/01 18:12:44 Missing trailing _
chongz 2016/11/02 21:29:33 Done.
+ bool compositor_event_queue_enabled_;
+
DISALLOW_COPY_AND_ASSIGN(InputHandlerProxy);
};

Powered by Google App Engine
This is Rietveld 408576698