| 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 7667e0fb6cca2e8d199bc0ac2c827e1a6042e63e..83d68c57b38786b23fc676cb924cf9832e7c068d 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_aura.h
|
| +++ b/content/browser/renderer_host/render_widget_host_view_aura.h
|
| @@ -35,22 +35,14 @@
|
| #include "ui/aura/client/cursor_client_observer.h"
|
| #include "ui/aura/client/focus_change_observer.h"
|
| #include "ui/aura/window_delegate.h"
|
| -#include "ui/aura/window_tracker.h"
|
| #include "ui/aura/window_tree_host_observer.h"
|
| #include "ui/base/ime/text_input_client.h"
|
| #include "ui/display/display_observer.h"
|
| -#include "ui/events/gestures/motion_event_aura.h"
|
| #include "ui/gfx/geometry/insets.h"
|
| #include "ui/gfx/geometry/rect.h"
|
| #include "ui/gfx/selection_bound.h"
|
| #include "ui/wm/public/activation_delegate.h"
|
|
|
| -namespace aura {
|
| -namespace client {
|
| -class ScopedTooltipDisabler;
|
| -}
|
| -}
|
| -
|
| namespace cc {
|
| class CopyOutputRequest;
|
| class CopyOutputResult;
|
| @@ -80,6 +72,7 @@ class TouchSelectionController;
|
| }
|
|
|
| namespace content {
|
| +class RenderWidgetHostViewEventHandler;
|
| #if defined(OS_WIN)
|
| class LegacyRenderWidgetHostHWND;
|
| #endif
|
| @@ -129,6 +122,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
|
| bool IsShowing() override;
|
| gfx::Rect GetViewBounds() const override;
|
| void SetBackgroundColor(SkColor color) override;
|
| + bool IsMouseLocked() override;
|
| gfx::Size GetVisibleViewportSize() const override;
|
| void SetInsets(const gfx::Insets& insets) override;
|
| void FocusedNodeTouched(const gfx::Point& location_dips_screen,
|
| @@ -331,6 +325,30 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
|
| // Exposed for tests.
|
| cc::SurfaceId SurfaceIdForTesting() const override;
|
|
|
| + // Converts |rect| from window coordinate to screen coordinate.
|
| + gfx::Rect ConvertRectToScreen(const gfx::Rect& rect) const;
|
| +
|
| + RenderFrameHostImpl* GetFocusedFrame();
|
| +
|
| + // Before calling RenderWidgetHost::ForwardKeyboardEvent(), this method
|
| + // calls our keybindings handler against the event and send matched
|
| + // edit commands to renderer instead.
|
| + void ForwardKeyboardEvent(const NativeWebKeyboardEvent& event);
|
| +
|
| + // Returns whether the widget needs to grab mouse capture to work properly.
|
| + bool NeedsMouseCapture();
|
| +
|
| + // Sends shutdown request.
|
| + void Shutdown();
|
| +
|
| + RenderWidgetHostViewEventHandler* event_handler() {
|
| + return event_handler_.get();
|
| + }
|
| +
|
| + bool is_fullscreen() { return is_fullscreen_; }
|
| +
|
| + blink::WebPopupType popup_type() { return popup_type_; }
|
| +
|
| protected:
|
| ~RenderWidgetHostViewAura() override;
|
|
|
| @@ -341,8 +359,6 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
|
| return delegated_frame_host_.get();
|
| }
|
|
|
| - const ui::MotionEventAura& pointer_state() const { return pointer_state_; }
|
| -
|
| private:
|
| friend class InputMethodAuraTestBase;
|
| friend class RenderWidgetHostViewAuraCopyRequestTest;
|
| @@ -408,23 +424,9 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
|
|
|
| ui::InputMethod* GetInputMethod() const;
|
|
|
| - // Sends shutdown request.
|
| - void Shutdown();
|
| -
|
| // Returns whether the widget needs an input grab to work properly.
|
| bool NeedsInputGrab();
|
|
|
| - // Returns whether the widget needs to grab mouse capture to work properly.
|
| - bool NeedsMouseCapture();
|
| -
|
| - // Confirm existing composition text in the webpage and ask the input method
|
| - // to cancel its ongoing composition session.
|
| - void FinishImeCompositionSession();
|
| -
|
| - // This method computes movementX/Y and keeps track of mouse location for
|
| - // mouse lock on all mouse move events.
|
| - void ModifyEventMovementAndCoords(blink::WebMouseEvent* event);
|
| -
|
| // Sends an IPC to the renderer process to communicate whether or not
|
| // the mouse cursor is visible anywhere on the screen.
|
| void NotifyRendererOfCursorVisibilityState(bool is_visible);
|
| @@ -433,10 +435,6 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
|
| // SchedulePaint() is invoked for |rect|.
|
| void SchedulePaintIfNotInClip(const gfx::Rect& rect, const gfx::Rect& clip);
|
|
|
| - // Helper method to determine if, in mouse locked mode, the cursor should be
|
| - // moved to center.
|
| - bool ShouldMoveToCenter();
|
| -
|
| // Called after |window_| is parented to a WindowEventDispatcher.
|
| void AddedToRootWindow();
|
|
|
| @@ -480,34 +478,13 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
|
| // Detaches |this| from the input method object.
|
| void DetachFromInputMethod();
|
|
|
| - // Before calling RenderWidgetHost::ForwardKeyboardEvent(), this method
|
| - // calls our keybindings handler against the event and send matched
|
| - // edit commands to renderer instead.
|
| - void ForwardKeyboardEvent(const NativeWebKeyboardEvent& event);
|
| -
|
| // Dismisses a Web Popup on a mouse or touch press outside the popup and its
|
| // parent.
|
| void ApplyEventFilterForPopupExit(ui::LocatedEvent* event);
|
|
|
| - // Converts |rect| from window coordinate to screen coordinate.
|
| - gfx::Rect ConvertRectToScreen(const gfx::Rect& rect) const;
|
| -
|
| // Converts |rect| from screen coordinate to window coordinate.
|
| gfx::Rect ConvertRectFromScreen(const gfx::Rect& rect) const;
|
|
|
| - // Helper function to set keyboard focus to the main window.
|
| - void SetKeyboardFocus();
|
| -
|
| - RenderFrameHostImpl* GetFocusedFrame();
|
| -
|
| - // Returns true if the |event| passed in can be forwarded to the renderer.
|
| - bool CanRendererHandleEvent(const ui::MouseEvent* event,
|
| - bool mouse_locked,
|
| - bool selection_popup) const;
|
| -
|
| - // Returns true when we can do SurfaceHitTesting for the event type.
|
| - bool ShouldRouteEvent(const ui::Event* event) const;
|
| -
|
| // Called when the parent window bounds change.
|
| void HandleParentBoundsChanged();
|
|
|
| @@ -524,16 +501,9 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
|
| // Helper function to create a selection controller.
|
| void CreateSelectionController();
|
|
|
| - // Performs gesture handling needed for touch text selection. Sets event as
|
| - // handled if it should not be further processed.
|
| - void HandleGestureForTouchSelection(ui::GestureEvent* event);
|
| -
|
| - // Forwards a mouse event to this view's parent window delegate.
|
| - void ForwardMouseEventToParent(ui::MouseEvent* event);
|
| -
|
| - // Returns the RenderViewHostDelegateView instance for this view. Returns
|
| - // NULL on failure.
|
| - RenderViewHostDelegateView* GetRenderViewHostDelegateView();
|
| + // Used to set the |popup_child_host_view_| on the |popup_parent_host_view_|
|
| + // and to notify the |event_handler_|.
|
| + void SetPopupChildHostView(RenderWidgetHostViewAura* popup_child_host_view);
|
|
|
| // The model object.
|
| RenderWidgetHostImpl* const host_;
|
| @@ -574,17 +544,9 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
|
| // The cursor for the page. This is passed up from the renderer.
|
| WebCursor current_cursor_;
|
|
|
| - // Stores the current state of the active pointers targeting this
|
| - // object.
|
| - ui::MotionEventAura pointer_state_;
|
| -
|
| -
|
| // Indicates if there is onging composition text.
|
| bool has_composition_text_;
|
|
|
| - // Whether return characters should be passed on to the RenderWidgetHostImpl.
|
| - bool accept_return_character_;
|
| -
|
| // Current tooltip text.
|
| base::string16 tooltip_;
|
|
|
| @@ -593,25 +555,6 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
|
| cc::BeginFrameArgs last_begin_frame_args_;
|
| bool needs_begin_frames_;
|
|
|
| - // Used to record the last position of the mouse.
|
| - // While the mouse is locked, they store the last known position just as mouse
|
| - // lock was entered.
|
| - // Relative to the upper-left corner of the view.
|
| - gfx::Point unlocked_mouse_position_;
|
| - // Relative to the upper-left corner of the screen.
|
| - gfx::Point unlocked_global_mouse_position_;
|
| - // Last cursor position relative to screen. Used to compute movementX/Y.
|
| - gfx::Point global_mouse_position_;
|
| - // In mouse locked mode, we synthetically move the mouse cursor to the center
|
| - // of the window when it reaches the window borders to avoid it going outside.
|
| - // This flag is used to differentiate between these synthetic mouse move
|
| - // events vs. normal mouse move events.
|
| - bool synthetic_move_sent_;
|
| -
|
| - // Used to track the state of the window we're created from. Only used when
|
| - // created fullscreen.
|
| - std::unique_ptr<aura::WindowTracker> host_tracker_;
|
| -
|
| // Used to track the last cursor visibility update that was sent to the
|
| // renderer via NotifyRendererOfCursorVisibilityState().
|
| enum CursorVisibilityState {
|
| @@ -663,28 +606,21 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
|
|
|
| std::vector<ui::LatencyInfo> software_latency_info_;
|
|
|
| - std::unique_ptr<aura::client::ScopedTooltipDisabler> tooltip_disabler_;
|
| -
|
| // True when this view acts as a platform view hack for a
|
| // RenderWidgetHostViewGuest.
|
| bool is_guest_view_hack_;
|
|
|
| - // This flag when set ensures that we send over a notification to blink that
|
| - // the current view has focus. Defaults to false.
|
| - bool set_focus_on_mouse_down_or_key_event_;
|
| -
|
| float device_scale_factor_;
|
|
|
| - // Allows tests to send gesture events for testing without first sending a
|
| - // corresponding touch sequence, as would be required by
|
| - // RenderWidgetHostInputEventRouter.
|
| - bool disable_input_event_router_for_testing_;
|
| -
|
| // The routing and process IDs for the last RenderWidgetHost which had a
|
| // TextInputState of non-NONE.
|
| int32_t last_active_widget_process_id_;
|
| int32_t last_active_widget_routing_id_;
|
|
|
| + // While this is an ui::EventHandler for targetting, |event_handler_| actually
|
| + // provides an implementation, and directs events to |host_|.
|
| + std::unique_ptr<RenderWidgetHostViewEventHandler> event_handler_;
|
| +
|
| base::WeakPtrFactory<RenderWidgetHostViewAura> weak_ptr_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAura);
|
|
|