Index: ash/wm/workspace/workspace_window_resizer.cc |
diff --git a/ash/wm/workspace/workspace_window_resizer.cc b/ash/wm/workspace/workspace_window_resizer.cc |
index 731fcb37a92ac3e24bc558ee1c89428d34e25b00..e788b6301b9b0fdffc85af96ac8937b656ef8b7a 100644 |
--- a/ash/wm/workspace/workspace_window_resizer.cc |
+++ b/ash/wm/workspace/workspace_window_resizer.cc |
@@ -95,8 +95,7 @@ scoped_ptr<WindowResizer> CreateWindowResizer( |
window_resizer = PanelWindowResizer::Create( |
window_resizer, window, point_in_parent, window_component, source); |
} |
- if (CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kAshEnableDockedWindows) && |
+ if (switches::UseDockedWindows() && |
window_resizer && window->parent() && |
!window->transient_parent() && |
(window->parent()->id() == internal::kShellWindowId_DefaultContainer || |
@@ -120,9 +119,8 @@ const int kScreenEdgeInsetForTouchResize = 32; |
// Returns true if the window should stick to the edge. |
bool ShouldStickToEdge(int distance_from_edge, int sticky_size) { |
if (CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kAshEnableStickyEdges) || |
- CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kAshEnableDockedWindows)) { |
+ switches::kAshEnableStickyEdges)) { |
+ // TODO(varkha): Consider keeping snapping behavior for touch drag. |
return distance_from_edge < 0 && |
distance_from_edge > -sticky_size; |
} |
@@ -273,6 +271,9 @@ const int WorkspaceWindowResizer::kScreenEdgeInset = 8; |
// static |
const int WorkspaceWindowResizer::kStickyDistancePixels = 64; |
+// static |
+WorkspaceWindowResizer* WorkspaceWindowResizer::instance_ = NULL; |
+ |
// Represents the width or height of a window with constraints on its minimum |
// and maximum size. 0 represents a lack of a constraint. |
class WindowSize { |
@@ -345,6 +346,8 @@ class WindowSize { |
WorkspaceWindowResizer::~WorkspaceWindowResizer() { |
Shell* shell = Shell::GetInstance(); |
shell->cursor_manager()->UnlockCursor(); |
+ if (instance_ == this) |
+ instance_ = NULL; |
} |
// static |
@@ -367,9 +370,7 @@ void WorkspaceWindowResizer::Drag(const gfx::Point& location_in_parent, |
if (event_flags & ui::EF_CONTROL_DOWN) { |
sticky_size = 0; |
} else if (CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kAshEnableStickyEdges) || |
- CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kAshEnableDockedWindows)) { |
+ switches::kAshEnableStickyEdges)) { |
sticky_size = kStickyDistancePixels; |
} else if ((details_.bounds_change & kBoundsChange_Resizes) && |
details_.source == aura::client::WINDOW_MOVE_SOURCE_TOUCH) { |
@@ -542,6 +543,7 @@ WorkspaceWindowResizer::WorkspaceWindowResizer( |
total_initial_size_ += initial_size; |
total_available += std::max(min_size, initial_size) - min_size; |
} |
+ instance_ = this; |
} |
gfx::Rect WorkspaceWindowResizer::GetFinalBounds( |