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

Unified Diff: content/browser/renderer_host/render_widget_host_impl.cc

Issue 2856423002: input: Change how synthesized events are dispatched in telemetry tests. (Closed)
Patch Set: . Created 3 years, 7 months 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: content/browser/renderer_host/render_widget_host_impl.cc
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index c0369142836fa3dc09a86ca9fdd1f2e2bfdc35a6..d35ded620b35e961a6a1fc3b735e69ba50610335 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -489,15 +489,9 @@ void RenderWidgetHostImpl::SendScreenRects() {
waiting_for_screen_rects_ack_ = true;
}
-void RenderWidgetHostImpl::FlushInput() {
- input_router_->RequestNotificationWhenFlushed();
- if (synthetic_gesture_controller_)
- synthetic_gesture_controller_->Flush(base::TimeTicks::Now());
-}
-
-void RenderWidgetHostImpl::SetNeedsFlush() {
- if (view_)
- view_->OnSetNeedsFlushInput();
+void RenderWidgetHostImpl::OnBeginFrame() {
+ if (begin_frame_callback_)
+ std::move(begin_frame_callback_).Run();
}
void RenderWidgetHostImpl::Init() {
@@ -1316,8 +1310,12 @@ void RenderWidgetHostImpl::QueueSyntheticGesture(
std::unique_ptr<SyntheticGesture> synthetic_gesture,
const base::Callback<void(SyntheticGesture::Result)>& on_complete) {
if (!synthetic_gesture_controller_ && view_) {
- synthetic_gesture_controller_.reset(
- new SyntheticGestureController(view_->CreateSyntheticGestureTarget()));
+ synthetic_gesture_controller_ =
+ base::MakeUnique<SyntheticGestureController>(
+ view_->CreateSyntheticGestureTarget(),
+ base::Bind(
+ &RenderWidgetHostImpl::RequestBeginFrameForSynthesizedInput,
+ base::Unretained(this)));
}
if (synthetic_gesture_controller_) {
synthetic_gesture_controller_->QueueSyntheticGesture(
@@ -1862,6 +1860,13 @@ void RenderWidgetHostImpl::OnGpuSwapBuffersCompletedInternal(
latency_tracker_.OnGpuSwapBuffersCompleted(latency_info);
}
+void RenderWidgetHostImpl::RequestBeginFrameForSynthesizedInput(
+ base::OnceClosure begin_frame_callback) {
+ DCHECK(view_);
+ begin_frame_callback_ = std::move(begin_frame_callback);
+ view_->OnSetNeedsFlushInput();
+}
+
void RenderWidgetHostImpl::OnRenderProcessGone(int status, int exit_code) {
// RenderFrameHost owns a RenderWidgetHost when it needs one, in which case
// it handles destruction.
@@ -2215,8 +2220,6 @@ void RenderWidgetHostImpl::OnHasTouchEventHandlers(bool has_handlers) {
}
void RenderWidgetHostImpl::DidFlush() {
- if (synthetic_gesture_controller_)
- synthetic_gesture_controller_->OnDidFlushInput();
}
void RenderWidgetHostImpl::DidOverscroll(

Powered by Google App Engine
This is Rietveld 408576698