Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4408)

Unified Diff: chrome/browser/ui/panels/panel_drag_controller.cc

Issue 14175016: Change to update panel positions after panels moved to the new collection when the unstacking happe… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/panels/panel_drag_controller.cc
diff --git a/chrome/browser/ui/panels/panel_drag_controller.cc b/chrome/browser/ui/panels/panel_drag_controller.cc
index d45798cce8e5a4cf007c26972547ea0cedfef38d..0e19fdd3641071a42a49c4af5846fd2f0638ab96 100644
--- a/chrome/browser/ui/panels/panel_drag_controller.cc
+++ b/chrome/browser/ui/panels/panel_drag_controller.cc
@@ -446,16 +446,6 @@ bool PanelDragController::TryUnstackFromTop(const gfx::Point& target_position) {
return false;
}
- // Move the panel (and all the panels below if in a stack) to the new
- // position.
- for (StackedPanelCollection::Panels::const_iterator iter =
- dragging_stack->panels().begin();
- iter != dragging_stack->panels().end(); ++iter) {
- if (!(*iter)->in_preview_mode())
- break;
- (*iter)->MoveByInstantly(delta);
- }
-
int num_panels_in_stack = dragging_stack->num_panels();
DCHECK_GE(num_panels_in_stack, 2);
@@ -472,6 +462,7 @@ bool PanelDragController::TryUnstackFromTop(const gfx::Point& target_position) {
MovePanelAndBelowToCollection(dragging_panel_,
detached_collection,
PanelCollection::KNOWN_POSITION);
+ dragging_panel_->MoveByInstantly(delta);
return true;
}
@@ -480,8 +471,9 @@ bool PanelDragController::TryUnstackFromTop(const gfx::Point& target_position) {
// If only one panel (top panel) needs to unstack, move it out of the stack.
if (num_panels_to_unstack == 1) {
panel_manager_->MovePanelToCollection(dragging_panel_,
- panel_manager_->detached_collection(),
+ detached_collection,
PanelCollection::KNOWN_POSITION);
+ dragging_panel_->MoveByInstantly(delta);
return true;
}
@@ -489,8 +481,9 @@ bool PanelDragController::TryUnstackFromTop(const gfx::Point& target_position) {
// bottom panel out of the stack.
if (num_panels_in_stack - num_panels_to_unstack == 1) {
panel_manager_->MovePanelToCollection(dragging_stack->bottom_panel(),
- panel_manager_->detached_collection(),
+ detached_collection,
PanelCollection::KNOWN_POSITION);
+ dragging_panel_->stack()->MoveAllDraggingPanelsInstantly(delta);
return true;
}
@@ -513,6 +506,7 @@ bool PanelDragController::TryUnstackFromTop(const gfx::Point& target_position) {
new_stack,
PanelCollection::KNOWN_POSITION);
}
+ dragging_panel_->stack()->MoveAllDraggingPanelsInstantly(delta);
return true;
}
@@ -546,13 +540,7 @@ bool PanelDragController::TryUnstackFromBottom(
return false;
}
- // Move the panel (and all the panels below if in a stack) to the new
- // position.
gfx::Vector2d delta = target_position - dragging_panel_->GetBounds().origin();
- if (dragging_stack)
- dragging_stack->MoveAllDraggingPanelsInstantly(delta);
- else
- dragging_panel_->MoveByInstantly(delta);
// If there're only 2 panels in the stack, both panels should move out the
// stack and the stack should be removed.
@@ -562,6 +550,7 @@ bool PanelDragController::TryUnstackFromBottom(
MovePanelAndBelowToCollection(dragging_stack->top_panel(),
detached_collection,
PanelCollection::KNOWN_POSITION);
+ dragging_panel_->MoveByInstantly(delta);
return true;
}
@@ -573,6 +562,7 @@ bool PanelDragController::TryUnstackFromBottom(
panel_manager_->MovePanelToCollection(dragging_panel_,
detached_collection,
PanelCollection::KNOWN_POSITION);
+ dragging_panel_->MoveByInstantly(delta);
return true;
}
@@ -583,6 +573,7 @@ bool PanelDragController::TryUnstackFromBottom(
panel_manager_->MovePanelToCollection(dragging_stack->top_panel(),
detached_collection,
PanelCollection::KNOWN_POSITION);
+ dragging_panel_->stack()->MoveAllDraggingPanelsInstantly(delta);
return true;
}
@@ -595,6 +586,7 @@ bool PanelDragController::TryUnstackFromBottom(
MovePanelAndBelowToCollection(dragging_panel_,
new_stack,
PanelCollection::KNOWN_POSITION);
+ dragging_panel_->stack()->MoveAllDraggingPanelsInstantly(delta);
return true;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698