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

Unified Diff: android_webview/browser/in_process_renderer/in_process_renderer_client.cc

Issue 15920002: Fix WebView compositor input handling (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make InputEventAckState public Created 7 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: android_webview/browser/in_process_renderer/in_process_renderer_client.cc
diff --git a/android_webview/browser/in_process_renderer/in_process_renderer_client.cc b/android_webview/browser/in_process_renderer/in_process_renderer_client.cc
index 631a58c9726fde2a0fa57dd604dcbad63f8472f1..ff7dd4ee08b9ec7ab890e31c46e46ee503f76f3e 100644
--- a/android_webview/browser/in_process_renderer/in_process_renderer_client.cc
+++ b/android_webview/browser/in_process_renderer/in_process_renderer_client.cc
@@ -29,6 +29,13 @@ int GetInProcessRendererId() {
}
+InProcessRendererClient::InProcessRendererClient()
+ : input_event_handler_(NULL) {
+}
+
+InProcessRendererClient::~InProcessRendererClient() {
+}
+
MessageLoop* InProcessRendererClient::OverrideCompositorMessageLoop() const {
MessageLoop* rv = content::BrowserThread::UnsafeGetMessageLoopForThread(
content::BrowserThread::UI);
@@ -41,15 +48,16 @@ void InProcessRendererClient::DidCreateSynchronousCompositor(
content::SynchronousCompositor* compositor) {
InProcessViewRenderer* view_renderer =
InProcessViewRenderer::FromId(GetInProcessRendererId(), render_view_id);
- if (view_renderer)
+ if (view_renderer) {
view_renderer->BindSynchronousCompositor(compositor);
+ view_renderer->BindSynchronousInputEventHandler(input_event_handler_);
+ }
}
-bool InProcessRendererClient::ShouldCreateCompositorInputHandler() const {
- // Compositor input handling will be performed by the renderer host
- // when UI and compositor threads are merged, so we disable client compositor
- // input handling in this case.
- return false;
+void InProcessRendererClient::DidCreateSynchronousInputEventHandler(
+ content::SynchronousInputEventHandler* input_event_handler) {
+ DCHECK(!input_event_handler_ || !input_event_handler);
+ input_event_handler_ = input_event_handler;
}
} // namespace android_webview

Powered by Google App Engine
This is Rietveld 408576698