Move compositor InputHandler from RenderViewImpl to RenderWidget.

At present the input handler for cross-process iframes is installed
only on the RenderViewImpl, meaning that events sent to them can only
be handled on the main thread (instead of the compositor thread).

Note: The compositor layer tree on the RenderViewImpl for a cross-
process frame renderer is actually empty.

This CL attaches an input handler to each RenderWidget instead,
allowing compositor-thread handling of input events for all
the frames. This is a precursor for handling GesturePinch events for
subframes.

[email protected]
BUG=654917
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2479663002
Cr-Commit-Position: refs/heads/master@{#445295}
diff --git a/content/renderer/gpu/render_widget_compositor.h b/content/renderer/gpu/render_widget_compositor.h
index ae14ea5..a87b545 100644
--- a/content/renderer/gpu/render_widget_compositor.h
+++ b/content/renderer/gpu/render_widget_compositor.h
@@ -113,6 +113,7 @@
   void SetFrameSinkId(const cc::FrameSinkId& frame_sink_id);
   void SetPaintedDeviceScaleFactor(float device_scale);
   void SetDeviceColorSpace(const gfx::ColorSpace& color_space);
+  void SetIsForOopif(bool is_for_oopif);
 
   // WebLayerTreeView implementation.
   void setRootLayer(const blink::WebLayer& layer) override;
@@ -157,6 +158,7 @@
   void setEventListenerProperties(
       blink::WebEventListenerClass eventClass,
       blink::WebEventListenerProperties properties) override;
+  void updateTouchRectsForSubframeIfNecessary() override;
   blink::WebEventListenerProperties eventListenerProperties(
       blink::WebEventListenerClass eventClass) const override;
   void setHaveScrollEventHandlers(bool) override;
@@ -227,6 +229,7 @@
   std::unique_ptr<cc::AnimationHost> animation_host_;
   std::unique_ptr<cc::LayerTreeHost> layer_tree_host_;
   bool never_visible_;
+  bool is_for_oopif_;
 
   blink::WebLayoutAndPaintAsyncCallback* layout_and_paint_async_callback_;