Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_view_aura.h | 
| diff --git a/content/browser/renderer_host/render_widget_host_view_aura.h b/content/browser/renderer_host/render_widget_host_view_aura.h | 
| index d3e72e276c095cad708097abc5a6c84aad00f730..6f9a32ae9f6cba788d9c554a87a232fe46ae7133 100644 | 
| --- a/content/browser/renderer_host/render_widget_host_view_aura.h | 
| +++ b/content/browser/renderer_host/render_widget_host_view_aura.h | 
| @@ -65,6 +65,8 @@ class CompositorLock; | 
| class InputMethod; | 
| class LocatedEvent; | 
| class Texture; | 
| +class TouchSelectionControllerAura; | 
| +class TouchSelectionControllerAuraClient; | 
| } | 
| namespace content { | 
| @@ -90,49 +92,6 @@ class CONTENT_EXPORT RenderWidgetHostViewAura | 
| public aura::client::FocusChangeObserver, | 
| public aura::client::CursorClientObserver { | 
| public: | 
| - // Displays and controls touch editing elements such as selection handles. | 
| - class TouchEditingClient { | 
| - public: | 
| - TouchEditingClient() {} | 
| - | 
| - // Tells the client to start showing touch editing handles. | 
| - virtual void StartTouchEditing() = 0; | 
| - | 
| - // Notifies the client that touch editing is no longer needed. |quick| | 
| - // determines whether the handles should fade out quickly or slowly. | 
| - virtual void EndTouchEditing(bool quick) = 0; | 
| - | 
| - // Notifies the client that the selection bounds need to be updated. | 
| - virtual void OnSelectionOrCursorChanged( | 
| - const ui::SelectionBound& anchor, | 
| - const ui::SelectionBound& focus) = 0; | 
| - | 
| - // Notifies the client that the current text input type as changed. | 
| - virtual void OnTextInputTypeChanged(ui::TextInputType type) = 0; | 
| - | 
| - // Notifies the client that an input event is about to be sent to the | 
| - // renderer. Returns true if the client wants to stop event propagation. | 
| - virtual bool HandleInputEvent(const ui::Event* event) = 0; | 
| - | 
| - // Notifies the client that a gesture event ack was received. | 
| - virtual void GestureEventAck(int gesture_event_type) = 0; | 
| - | 
| - // Notifies the client that the fling has ended, so it can activate touch | 
| - // editing if needed. | 
| - virtual void DidStopFlinging() = 0; | 
| - | 
| - // This is called when the view is destroyed, so that the client can | 
| - // perform any necessary clean-up. | 
| - virtual void OnViewDestroyed() = 0; | 
| - | 
| - protected: | 
| - virtual ~TouchEditingClient() {} | 
| - }; | 
| - | 
| - void set_touch_editing_client(TouchEditingClient* client) { | 
| - touch_editing_client_ = client; | 
| - } | 
| - | 
| // When |is_guest_view_hack| is true, this view isn't really the view for | 
| // the |widget|, a RenderWidgetHostViewGuest is. | 
| // | 
| @@ -352,6 +311,13 @@ class CONTENT_EXPORT RenderWidgetHostViewAura | 
| void SnapToPhysicalPixelBoundary(); | 
| + void InitSelectionController( | 
| + ui::TouchSelectionControllerAuraClient* selection_controller_client); | 
| 
 
sadrul
2015/03/05 12:37:03
scoped_ptr<> so ownership transfer is clear.
 
mohsen
2015/03/06 23:10:08
Done.
 
 | 
| + | 
| + ui::TouchSelectionControllerAura* selection_controller() const { | 
| + return selection_controller_.get(); | 
| + } | 
| + | 
| OverscrollController* overscroll_controller() const { | 
| return overscroll_controller_.get(); | 
| } | 
| @@ -496,6 +462,11 @@ class CONTENT_EXPORT RenderWidgetHostViewAura | 
| RenderFrameHostImpl* GetFocusedFrame(); | 
| + // Helper function to be called whenever new selection bound information is | 
| + // received. It will update selection controller and notify IME. | 
| + void SelectionBoundsUpdated(const ui::SelectionBound& start, | 
| + const ui::SelectionBound& end); | 
| + | 
| // The model object. | 
| RenderWidgetHostImpl* host_; | 
| @@ -545,8 +516,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAura | 
| bool can_compose_inline_; | 
| // Bounds for the selection. | 
| - ui::SelectionBound selection_anchor_; | 
| - ui::SelectionBound selection_focus_; | 
| + ui::SelectionBound selection_start_; | 
| + ui::SelectionBound selection_end_; | 
| // The current composition character bounds. | 
| std::vector<gfx::Rect> composition_character_bounds_; | 
| @@ -626,7 +597,9 @@ class CONTENT_EXPORT RenderWidgetHostViewAura | 
| bool has_snapped_to_boundary_; | 
| - TouchEditingClient* touch_editing_client_; | 
| + scoped_ptr<ui::TouchSelectionControllerAuraClient> | 
| + selection_controller_client_; | 
| + scoped_ptr<ui::TouchSelectionControllerAura> selection_controller_; | 
| scoped_ptr<OverscrollController> overscroll_controller_; |