Chromium Code Reviews| Index: content/browser/frame_host/render_widget_host_view_child_frame.h |
| diff --git a/content/browser/frame_host/render_widget_host_view_child_frame.h b/content/browser/frame_host/render_widget_host_view_child_frame.h |
| index 551c56cc266c651eca89701fd7e04db5eb9ba763..523753584a16cc86cc5b016b5df571fc69cac1ec 100644 |
| --- a/content/browser/frame_host/render_widget_host_view_child_frame.h |
| +++ b/content/browser/frame_host/render_widget_host_view_child_frame.h |
| @@ -23,6 +23,7 @@ |
| #include "cc/surfaces/surface_sequence.h" |
| #include "content/browser/compositor/image_transport_factory.h" |
| #include "content/browser/renderer_host/event_with_latency_info.h" |
| +#include "content/browser/renderer_host/input/touch_selection_controller_client_manager.h" |
| #include "content/browser/renderer_host/render_widget_host_view_base.h" |
| #include "content/common/content_export.h" |
| #include "content/common/input/input_event_ack_state.h" |
| @@ -40,6 +41,7 @@ class RenderWidgetHost; |
| class RenderWidgetHostImpl; |
| class RenderWidgetHostViewChildFrameTest; |
| class RenderWidgetHostViewGuestSurfaceTest; |
| +class TouchSelectionControllerClientChildFrame; |
| // RenderWidgetHostViewChildFrame implements the view for a RenderWidgetHost |
| // associated with content being rendered in a separate process from |
| @@ -51,6 +53,7 @@ class RenderWidgetHostViewGuestSurfaceTest; |
| // See comments in render_widget_host_view.h about this class and its members. |
| class CONTENT_EXPORT RenderWidgetHostViewChildFrame |
| : public RenderWidgetHostViewBase, |
| + public TouchSelectionControllerClientManager::Observer, |
| public NON_EXPORTED_BASE(cc::CompositorFrameSinkSupportClient) { |
| public: |
| static RenderWidgetHostViewChildFrame* Create(RenderWidgetHost* widget); |
| @@ -68,6 +71,10 @@ class CONTENT_EXPORT RenderWidgetHostViewChildFrame |
| // types, such as RenderWidgetHostViewAura. |
| void RegisterFrameSwappedCallback(std::unique_ptr<base::Closure> callback); |
| + // TouchSelectionControllerClientManager::Observer implementation. |
| + void OnManagerWillDestroy( |
| + TouchSelectionControllerClientManager* manager) override; |
| + |
| // RenderWidgetHostView implementation. |
| void InitAsChild(gfx::NativeView parent_view) override; |
| RenderWidgetHost* GetRenderWidgetHost() const override; |
| @@ -191,6 +198,12 @@ class CONTENT_EXPORT RenderWidgetHostViewChildFrame |
| bool has_frame() { return has_frame_; } |
| + ui::TextInputType GetTextInputType() const; |
| + bool GetSelectionRange(gfx::Range* range) const; |
| + // This returns the origin of this view in the coordinates of the root |
|
kenrb
2017/05/24 14:54:28
nit: "origin of this view" could be confusing, may
wjmaclean
2017/05/24 17:10:08
Done.
|
| + // RenderWidgetHostView. |
| + gfx::Point GetViewOriginInRoot() const; |
| + |
| protected: |
| friend class RenderWidgetHostView; |
| friend class RenderWidgetHostViewChildFrameTest; |
| @@ -249,6 +262,7 @@ class CONTENT_EXPORT RenderWidgetHostViewChildFrame |
| void CreateCompositorFrameSinkSupport(); |
| void ResetCompositorFrameSinkSupport(); |
| + void DetachFromTouchSelectionClientManagerIfNecessary(); |
| virtual bool HasEmbedderChanged(); |
| @@ -267,6 +281,9 @@ class CONTENT_EXPORT RenderWidgetHostViewChildFrame |
| // The background color of the widget. |
| SkColor background_color_; |
| + std::unique_ptr<TouchSelectionControllerClientChildFrame> |
| + selection_controller_client_; |
| + |
| base::WeakPtrFactory<RenderWidgetHostViewChildFrame> weak_factory_; |
| DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewChildFrame); |
| }; |