Index: ash/wm/dock/docked_window_resizer.cc |
diff --git a/ash/wm/dock/docked_window_resizer.cc b/ash/wm/dock/docked_window_resizer.cc |
index 28d043848b298463ceae29a7f7289faed357b3df..a1de2398c961e1b074a7ef4e50274fc3b8dfd83c 100644 |
--- a/ash/wm/dock/docked_window_resizer.cc |
+++ b/ash/wm/dock/docked_window_resizer.cc |
@@ -4,7 +4,6 @@ |
#include "ash/wm/dock/docked_window_resizer.h" |
-#include "ash/ash_switches.h" |
#include "ash/display/display_controller.h" |
#include "ash/launcher/launcher.h" |
#include "ash/root_window_controller.h" |
@@ -124,8 +123,7 @@ void DockedWindowResizer::CompleteDrag(int event_flags) { |
// windows. |
wm::WindowState* window_state = wm::GetWindowState(GetTarget()); |
bool was_tracked_by_workspace = window_state->tracked_by_workspace(); |
- if (was_docked_) |
- window_state->SetTrackedByWorkspace(false); |
+ window_state->SetTrackedByWorkspace(false); |
varkha
2013/11/05 20:47:24
This change is from https://codereview.chromium.or
|
// The root window can change when dragging into a different screen. |
next_window_resizer_->CompleteDrag(event_flags); |
FinishedDragging(); |
@@ -138,13 +136,15 @@ void DockedWindowResizer::RevertDrag() { |
// windows. |
wm::WindowState* window_state = wm::GetWindowState(GetTarget()); |
bool was_tracked_by_workspace = window_state->tracked_by_workspace(); |
- if (was_docked_) |
- window_state->SetTrackedByWorkspace(false); |
+ window_state->SetTrackedByWorkspace(false); |
varkha
2013/11/05 20:47:24
This change is from https://codereview.chromium.or
|
next_window_resizer_->RevertDrag(); |
// Restore docked state to what it was before the drag if necessary. |
- if (was_docked_ && !is_docked_) { |
- dock_layout_->DockDraggedWindow(GetTarget()); |
+ if (was_docked_ != is_docked_) { |
is_docked_ = was_docked_; |
+ if (is_docked_) |
+ dock_layout_->DockDraggedWindow(GetTarget()); |
+ else |
+ dock_layout_->UndockDraggedWindow(); |
} |
FinishedDragging(); |
window_state->SetTrackedByWorkspace(was_tracked_by_workspace); |