From 3a8d056562f51c44bbbf8a1b7dd670af4d058350 Mon Sep 17 00:00:00 2001
From: khushalsagar <khushalsagar@chromium.org>
Date: Mon, 23 Nov 2015 14:50:36 -0800
Subject: Move content/renderer input handling for web input events to ui.

The InputHandlerProxy in content/renderer implements the logic for
sending the intercepted web input events to the compositor. Move this
logic to ui to be used by mus/blimp.

BUG=550531

Review URL: https://codereview.chromium.org/1415953004

Cr-Commit-Position: refs/heads/master@{#361207}
---
 content/browser/android/in_process/DEPS                        |  1 +
 .../browser/android/in_process/synchronous_compositor_impl.cc  |  2 +-
 .../browser/android/in_process/synchronous_compositor_impl.h   |  8 ++++----
 .../in_process/synchronous_compositor_registry_in_proc.cc      |  2 +-
 .../in_process/synchronous_compositor_registry_in_proc.h       | 10 +++++-----
 .../android/in_process/synchronous_input_event_filter.cc       |  3 ++-
 .../android/in_process/synchronous_input_event_filter.h        |  7 ++++++-
 7 files changed, 20 insertions(+), 13 deletions(-)

(limited to 'content/browser/android/in_process')

diff --git a/content/browser/android/in_process/DEPS b/content/browser/android/in_process/DEPS
index 868afbe..e200a5a 100644
--- a/content/browser/android/in_process/DEPS
+++ b/content/browser/android/in_process/DEPS
@@ -3,5 +3,6 @@ include_rules = [
   # Required for SynchronousCompositor (in --single-process mode only).
   "+content/public/renderer/android",
   "+content/renderer",
+  "+ui/events/blink/synchronous_input_handler_proxy.h",
   # Include boliu@chromium.org on the review for any additions to this file.
 ]
diff --git a/content/browser/android/in_process/synchronous_compositor_impl.cc b/content/browser/android/in_process/synchronous_compositor_impl.cc
index b07e2229..ae4fb61 100644
--- a/content/browser/android/in_process/synchronous_compositor_impl.cc
+++ b/content/browser/android/in_process/synchronous_compositor_impl.cc
@@ -114,7 +114,7 @@ void SynchronousCompositorImpl::SetGpuServiceInProc(
 void SynchronousCompositorImpl::DidInitializeRendererObjects(
     SynchronousCompositorOutputSurface* output_surface,
     SynchronousCompositorExternalBeginFrameSource* begin_frame_source,
-    SynchronousInputHandlerProxy* synchronous_input_handler_proxy) {
+    ui::SynchronousInputHandlerProxy* synchronous_input_handler_proxy) {
   DCHECK(!output_surface_);
   DCHECK(!begin_frame_source_);
   DCHECK(output_surface);
diff --git a/content/browser/android/in_process/synchronous_compositor_impl.h b/content/browser/android/in_process/synchronous_compositor_impl.h
index 099fe26..da2e15d 100644
--- a/content/browser/android/in_process/synchronous_compositor_impl.h
+++ b/content/browser/android/in_process/synchronous_compositor_impl.h
@@ -13,8 +13,8 @@
 #include "content/browser/android/synchronous_compositor_base.h"
 #include "content/renderer/android/synchronous_compositor_external_begin_frame_source.h"
 #include "content/renderer/android/synchronous_compositor_output_surface.h"
-#include "content/renderer/input/synchronous_input_handler_proxy.h"
 #include "ipc/ipc_message.h"
+#include "ui/events/blink/synchronous_input_handler_proxy.h"
 
 namespace cc {
 class InputHandler;
@@ -32,7 +32,7 @@ struct DidOverscrollParams;
 // This class is created on the main thread but most of the APIs are called
 // from the Compositor thread.
 class SynchronousCompositorImpl
-    : public SynchronousInputHandler,
+    : public ui::SynchronousInputHandler,
       public SynchronousCompositorBase,
       public SynchronousCompositorExternalBeginFrameSourceClient,
       public SynchronousCompositorOutputSurfaceClient {
@@ -50,7 +50,7 @@ class SynchronousCompositorImpl
   void DidInitializeRendererObjects(
       SynchronousCompositorOutputSurface* output_surface,
       SynchronousCompositorExternalBeginFrameSource* begin_frame_source,
-      SynchronousInputHandlerProxy* synchronous_input_handler_proxy);
+      ui::SynchronousInputHandlerProxy* synchronous_input_handler_proxy);
   void DidDestroyRendererObjects();
 
   // SynchronousCompositorExternalBeginFrameSourceClient overrides.
@@ -109,7 +109,7 @@ class SynchronousCompositorImpl
   SynchronousCompositorClient* const compositor_client_;
   SynchronousCompositorOutputSurface* output_surface_;
   SynchronousCompositorExternalBeginFrameSource* begin_frame_source_;
-  SynchronousInputHandlerProxy* synchronous_input_handler_proxy_;
+  ui::SynchronousInputHandlerProxy* synchronous_input_handler_proxy_;
   bool registered_with_client_;
   bool is_active_;
   bool renderer_needs_begin_frames_;
diff --git a/content/browser/android/in_process/synchronous_compositor_registry_in_proc.cc b/content/browser/android/in_process/synchronous_compositor_registry_in_proc.cc
index 5206cd3..4292a87 100644
--- a/content/browser/android/in_process/synchronous_compositor_registry_in_proc.cc
+++ b/content/browser/android/in_process/synchronous_compositor_registry_in_proc.cc
@@ -108,7 +108,7 @@ void SynchronousCompositorRegistryInProc::UnregisterOutputSurface(
 
 void SynchronousCompositorRegistryInProc::RegisterInputHandler(
     int routing_id,
-    SynchronousInputHandlerProxy* synchronous_input_handler_proxy) {
+    ui::SynchronousInputHandlerProxy* synchronous_input_handler_proxy) {
   DCHECK(CalledOnValidThread());
   DCHECK(synchronous_input_handler_proxy);
   Entry& entry = entry_map_[routing_id];
diff --git a/content/browser/android/in_process/synchronous_compositor_registry_in_proc.h b/content/browser/android/in_process/synchronous_compositor_registry_in_proc.h
index 397bf8c..c475f97 100644
--- a/content/browser/android/in_process/synchronous_compositor_registry_in_proc.h
+++ b/content/browser/android/in_process/synchronous_compositor_registry_in_proc.h
@@ -8,9 +8,10 @@
 #include "base/containers/hash_tables.h"
 #include "base/lazy_instance.h"
 #include "content/renderer/android/synchronous_compositor_registry.h"
+#include "ui/events/blink/synchronous_input_handler_proxy.h"
 
-namespace cc {
-class InputHandler;
+namespace ui {
+class SynchronousInputHandlerProxy;
 }
 
 namespace content {
@@ -18,7 +19,6 @@ namespace content {
 class SynchronousCompositorExternalBeginFrameSource;
 class SynchronousCompositorImpl;
 class SynchronousCompositorOutputSurface;
-class SynchronousInputHandlerProxy;
 
 class SynchronousCompositorRegistryInProc
     : public SynchronousCompositorRegistry {
@@ -31,7 +31,7 @@ class SynchronousCompositorRegistryInProc
                             SynchronousCompositorImpl* compositor);
   void RegisterInputHandler(
       int routing_id,
-      SynchronousInputHandlerProxy* synchronous_input_handler_proxy);
+      ui::SynchronousInputHandlerProxy* synchronous_input_handler_proxy);
   void UnregisterInputHandler(int routing_id);
 
   // SynchronousCompositorRegistry overrides.
@@ -58,7 +58,7 @@ class SynchronousCompositorRegistryInProc
     SynchronousCompositorImpl* compositor;
     SynchronousCompositorExternalBeginFrameSource* begin_frame_source;
     SynchronousCompositorOutputSurface* output_surface;
-    SynchronousInputHandlerProxy* synchronous_input_handler_proxy;
+    ui::SynchronousInputHandlerProxy* synchronous_input_handler_proxy;
 
     Entry();
     bool IsReady();
diff --git a/content/browser/android/in_process/synchronous_input_event_filter.cc b/content/browser/android/in_process/synchronous_input_event_filter.cc
index cbbcb2f..3ce1c61 100644
--- a/content/browser/android/in_process/synchronous_input_event_filter.cc
+++ b/content/browser/android/in_process/synchronous_input_event_filter.cc
@@ -8,6 +8,7 @@
 #include "content/browser/android/in_process/synchronous_compositor_impl.h"
 #include "content/browser/android/in_process/synchronous_compositor_registry_in_proc.h"
 #include "content/public/browser/browser_thread.h"
+#include "ui/events/blink/synchronous_input_handler_proxy.h"
 #include "ui/events/latency_info.h"
 
 using blink::WebInputEvent;
@@ -47,7 +48,7 @@ void SynchronousInputEventFilter::SetBoundHandlerOnUIThread(
 
 void SynchronousInputEventFilter::DidAddInputHandler(
     int routing_id,
-    SynchronousInputHandlerProxy* synchronous_input_handler_proxy) {
+    ui::SynchronousInputHandlerProxy* synchronous_input_handler_proxy) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   SynchronousCompositorRegistryInProc::GetInstance()->RegisterInputHandler(
       routing_id, synchronous_input_handler_proxy);
diff --git a/content/browser/android/in_process/synchronous_input_event_filter.h b/content/browser/android/in_process/synchronous_input_event_filter.h
index 89feee1..90e581c 100644
--- a/content/browser/android/in_process/synchronous_input_event_filter.h
+++ b/content/browser/android/in_process/synchronous_input_event_filter.h
@@ -16,6 +16,10 @@ namespace blink {
 class WebInputEvent;
 }
 
+namespace ui {
+class SynchronousInputHandlerProxy;
+}
+
 namespace content {
 
 // This class perform synchronous, in-process InputEvent handling.
@@ -35,7 +39,8 @@ class SynchronousInputEventFilter : public InputHandlerManagerClient {
   void SetBoundHandler(const Handler& handler) override;
   void DidAddInputHandler(
       int routing_id,
-      SynchronousInputHandlerProxy* synchronous_input_handler_proxy) override;
+      ui::SynchronousInputHandlerProxy*
+          synchronous_input_handler_proxy) override;
   void DidRemoveInputHandler(int routing_id) override;
   void DidOverscroll(int routing_id,
                      const DidOverscrollParams& params) override;
-- 
cgit v1.1