Index: ash/wm/dock/docked_window_layout_manager.h |
diff --git a/ash/wm/dock/docked_window_layout_manager.h b/ash/wm/dock/docked_window_layout_manager.h |
index 399fa2d026c8f17ddf7c090b6c136e6f98213e6d..e4542b357cd270b8c0e202cd0000c56afb345d27 100644 |
--- a/ash/wm/dock/docked_window_layout_manager.h |
+++ b/ash/wm/dock/docked_window_layout_manager.h |
@@ -10,6 +10,7 @@ |
#include "ash/shell_observer.h" |
#include "ash/wm/dock/dock_types.h" |
#include "ash/wm/property_util.h" |
+#include "ash/wm/workspace/snap_types.h" |
#include "base/basictypes.h" |
#include "base/compiler_specific.h" |
#include "base/gtest_prod_util.h" |
@@ -61,6 +62,9 @@ class ASH_EXPORT DockedWindowLayoutManager |
public keyboard::KeyboardControllerObserver, |
public ash::ShelfLayoutManagerObserver { |
public: |
+ // Maximum width of the docked windows area. |
+ static const int kMaxDockWidth; |
+ |
explicit DockedWindowLayoutManager(aura::Window* dock_container); |
virtual ~DockedWindowLayoutManager(); |
@@ -94,6 +98,10 @@ class ASH_EXPORT DockedWindowLayoutManager |
// Used to snap docked windows to the side of screen during drag. |
DockedAlignment CalculateAlignment() const; |
+ // Returns true when a window can be docked. Windows cannot be docked at the |
+ // edge used by the launcher shelf or the edge opposite from existing dock. |
+ bool CanDockWindow(aura::Window* window, SnapType edge); |
+ |
aura::Window* dock_container() const { return dock_container_; } |
// Returns current bounding rectangle of docked windows area. |
@@ -102,6 +110,9 @@ class ASH_EXPORT DockedWindowLayoutManager |
// Returns last known coordinates of |dragged_window_| after Relayout. |
const gfx::Rect dragged_bounds() const { return dragged_bounds_;} |
+ // Returns true if currently dragged window is docked at the screen edge. |
+ bool is_dragged_window_docked() const { return is_dragged_window_docked_; } |
+ |
// aura::LayoutManager: |
virtual void OnWindowResized() OVERRIDE; |
virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE; |
@@ -141,8 +152,6 @@ class ASH_EXPORT DockedWindowLayoutManager |
FRIEND_TEST_ALL_PREFIXES(DockedWindowLayoutManagerTest, AutoPlacingLeft); |
FRIEND_TEST_ALL_PREFIXES(DockedWindowLayoutManagerTest, AutoPlacingRight); |
FRIEND_TEST_ALL_PREFIXES(DockedWindowLayoutManagerTest, |
- AutoPlacingLeftSecondScreen); |
- FRIEND_TEST_ALL_PREFIXES(DockedWindowLayoutManagerTest, |
AutoPlacingRightSecondScreen); |
friend class DockedWindowLayoutManagerTest; |
friend class DockedWindowResizerTest; |
@@ -150,9 +159,6 @@ class ASH_EXPORT DockedWindowLayoutManager |
// Minimum width of the docked windows area. |
static const int kMinDockWidth; |
- // Maximum width of the docked windows area. |
- static const int kMaxDockWidth; |
- |
// Width of the gap between the docked windows and a workspace. |
static const int kMinDockGap; |