| Index: ui/views/cocoa/bridged_native_widget.h
|
| diff --git a/ui/views/cocoa/bridged_native_widget.h b/ui/views/cocoa/bridged_native_widget.h
|
| index 8f6523042de9eead7500964bd6d0daee8883ae63..76b56f2c9f49dde91691689c6f6e7a5ffc6aed7e 100644
|
| --- a/ui/views/cocoa/bridged_native_widget.h
|
| +++ b/ui/views/cocoa/bridged_native_widget.h
|
| @@ -34,6 +34,7 @@ class BridgedNativeWidgetTestApi;
|
| }
|
|
|
| class CocoaMouseCapture;
|
| +class CocoaWindowMoveLoop;
|
| class NativeWidgetMac;
|
| class View;
|
|
|
| @@ -96,6 +97,11 @@ class VIEWS_EXPORT BridgedNativeWidget
|
| void ReleaseCapture();
|
| bool HasCapture();
|
|
|
| + // Start moving the window, pinned to the mouse cursor, and monitor events.
|
| + // Return MOVE_LOOP_SUCCESSFUL on mouse up or MOVE_LOOP_CANCELED on escape.
|
| + Widget::MoveLoopResult RunMoveLoop(const gfx::Vector2d& drag_offset);
|
| + void EndMoveLoop();
|
| +
|
| // See views::Widget.
|
| void SetNativeWindowProperty(const char* key, void* value);
|
| void* GetNativeWindowProperty(const char* key) const;
|
| @@ -122,6 +128,10 @@ class VIEWS_EXPORT BridgedNativeWidget
|
| // Called by the NSWindowDelegate when the size of the window changes.
|
| void OnSizeChanged();
|
|
|
| + // Called once by the NSWindowDelegate when the position of the window has
|
| + // changed. Called for each mouse event during RunMoveLoop().
|
| + void OnPositionChanged();
|
| +
|
| // Called by the NSWindowDelegate when the visibility of the window may have
|
| // changed. For example, due to a (de)miniaturize operation, or the window
|
| // being reordered in (or out of) the screen list.
|
| @@ -178,6 +188,7 @@ class VIEWS_EXPORT BridgedNativeWidget
|
|
|
| private:
|
| friend class test::BridgedNativeWidgetTestApi;
|
| + friend class CocoaWindowMoveLoop;
|
|
|
| // Closes all child windows. BridgedNativeWidget children will be destroyed.
|
| void RemoveOrDestroyChildren();
|
| @@ -253,6 +264,7 @@ class VIEWS_EXPORT BridgedNativeWidget
|
| base::scoped_nsobject<BridgedContentView> bridged_view_;
|
| scoped_ptr<ui::InputMethod> input_method_;
|
| scoped_ptr<CocoaMouseCapture> mouse_capture_;
|
| + scoped_ptr<CocoaWindowMoveLoop> window_move_loop_;
|
| scoped_ptr<TooltipManager> tooltip_manager_;
|
| FocusManager* focus_manager_; // Weak. Owned by our Widget.
|
| Widget::InitParams::Type widget_type_;
|
| @@ -269,6 +281,8 @@ class VIEWS_EXPORT BridgedNativeWidget
|
| // has its own copy, but doesn't provide access to it).
|
| gfx::Rect bounds_before_fullscreen_;
|
|
|
| + base::RunLoop* drag_run_loop_ = nullptr;
|
| +
|
| // Whether this window wants to be fullscreen. If a fullscreen animation is in
|
| // progress then it might not be actually fullscreen.
|
| bool target_fullscreen_state_;
|
|
|