Index: content/browser/renderer_host/render_widget_host_view_android.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc |
index dd65887f78db5d47ad01b2adc5b5da168d243a18..65cc2601e8934012d36b8ee7f8636a9ca7d0364a 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_android.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc |
@@ -1304,6 +1304,12 @@ void RenderWidgetHostViewAndroid::OnSetNeedsFlushInput() { |
return; |
TRACE_EVENT0("input", "RenderWidgetHostViewAndroid::OnSetNeedsFlushInput"); |
flush_input_requested_ = true; |
+ |
+ if (!observing_root_window_) { |
+ content_view_core_->GetWindowAndroid()->AddObserver(this); |
no sievers
2014/08/21 18:01:22
Actually I'm not sure if this is a good idea, sinc
boliu
2014/08/21 18:04:56
Jared's patch came from this. And we should submit
no sievers
2014/08/21 18:11:00
What if OnSetNeedsFlushInput() gets called in Chro
boliu
2014/08/21 18:22:52
Hmm...webview should do what chrome does, which me
|
+ observing_root_window_ = true; |
+ } |
+ |
content_view_core_->GetWindowAndroid()->RequestVSyncUpdate(); |
} |
@@ -1529,6 +1535,9 @@ void RenderWidgetHostViewAndroid::OnVSync(base::TimeTicks frame_time, |
host_->FlushInput(); |
} |
+ if (using_synchronous_compositor_) |
+ return; |
+ |
TRACE_EVENT0("cc", "RenderWidgetHostViewAndroid::SendBeginFrame"); |
base::TimeTicks display_time = frame_time + vsync_period; |