| Index: ui/aura_shell/workspace/workspace_manager.h
|
| diff --git a/ui/aura_shell/workspace/workspace_manager.h b/ui/aura_shell/workspace/workspace_manager.h
|
| index 925fea24925d445180e7eb5e2fb4385bb8f81b26..ace5ea69a9ddc22fc61a6cebc33cd0b1f7c30a04 100644
|
| --- a/ui/aura_shell/workspace/workspace_manager.h
|
| +++ b/ui/aura_shell/workspace/workspace_manager.h
|
| @@ -44,6 +44,9 @@ class AURA_SHELL_EXPORT WorkspaceManager : public aura::DesktopObserver {
|
| // Returns the workspace that contanis the |window|.
|
| Workspace* FindBy(aura::Window* window) const;
|
|
|
| + // Returns the window for swap operation based on the |location|.
|
| + aura::Window* FindSwapWindowForLocation(const gfx::Point& location);
|
| +
|
| // Sets the bounds of all workspaces.
|
| void LayoutWorkspaces();
|
|
|
| @@ -54,6 +57,11 @@ class AURA_SHELL_EXPORT WorkspaceManager : public aura::DesktopObserver {
|
| void SetOverview(bool overview);
|
| bool is_overview() const { return is_overview_; }
|
|
|
| + // Swaps the |drag| and |target|. If they're in the same workspace,
|
| + // this simply swaps the layout location. If they're in the different
|
| + // workspaces, these windows move between workspaces.
|
| + void SwapWindow(aura::Window* drag, aura::Window* target);
|
| +
|
| // Overridden from aura::DesktopObserver:
|
| virtual void OnDesktopResized(const gfx::Size& new_size) OVERRIDE;
|
| virtual void OnActiveWindowChanged(aura::Window* active) OVERRIDE;
|
| @@ -62,6 +70,7 @@ class AURA_SHELL_EXPORT WorkspaceManager : public aura::DesktopObserver {
|
| friend class Workspace;
|
| FRIEND_TEST_ALL_PREFIXES(WorkspaceManagerTest, Overview);
|
| FRIEND_TEST_ALL_PREFIXES(WorkspaceManagerTest, LayoutWorkspaces);
|
| + FRIEND_TEST_ALL_PREFIXES(WorkspaceManagerTest, FindSwapWindow);
|
|
|
| void AddWorkspace(Workspace* workspace);
|
| void RemoveWorkspace(Workspace* workspace);
|
|
|