Index: chrome/browser/ui/panels/docked_panel_strip.cc |
diff --git a/chrome/browser/ui/panels/docked_panel_strip.cc b/chrome/browser/ui/panels/docked_panel_strip.cc |
index 40fbb2599e92b3b74cc5e7630a17c0b283e1fa67..9e3fcbea43f0acb8f41970b892203ae360b0c396 100644 |
--- a/chrome/browser/ui/panels/docked_panel_strip.cc |
+++ b/chrome/browser/ui/panels/docked_panel_strip.cc |
@@ -183,7 +183,6 @@ void DockedPanelStrip::AddPanel(Panel* panel) { |
// Set panel properties for this strip. |
panel->SetAppIconVisibility(true); |
- panel->set_draggable(!panel->has_temporary_layout()); |
panel->ApplyVisualStyleForStrip(); |
if (panel->has_temporary_layout()) |
@@ -252,7 +251,14 @@ bool DockedPanelStrip::DoRemove(Panel* panel) { |
return true; |
} |
-void DockedPanelStrip::StartDragging(Panel* panel) { |
+bool DockedPanelStrip::CanDragPanel(Panel* panel) const { |
+ // Only the panels having temporary layout can't be dragged. |
+ return !panel->has_temporary_layout(); |
+} |
+ |
+void DockedPanelStrip::StartDraggingPanel(Panel* panel) { |
+ DCHECK(!dragging_panel_); |
+ |
dragging_panel_iterator_ = find(panels_.begin(), panels_.end(), panel); |
DCHECK(dragging_panel_iterator_ != panels_.end()); |
@@ -261,7 +267,7 @@ void DockedPanelStrip::StartDragging(Panel* panel) { |
dragging_panel_original_x_ = dragging_panel_bounds_.x(); |
} |
-void DockedPanelStrip::Drag(int delta_x) { |
+void DockedPanelStrip::DragPanel(int delta_x, int delta_y) { |
DCHECK(dragging_panel_); |
if (!delta_x) |
@@ -356,11 +362,11 @@ void DockedPanelStrip::DragRight() { |
dragging_panel_bounds_.set_x(current_panel_left_boundary); |
} |
-void DockedPanelStrip::EndDragging(bool cancelled) { |
+void DockedPanelStrip::EndDraggingPanel(bool cancelled) { |
DCHECK(dragging_panel_); |
if (cancelled) |
- Drag(dragging_panel_original_x_ - dragging_panel_->GetBounds().x()); |
+ DragPanel(dragging_panel_original_x_ - dragging_panel_->GetBounds().x(), 0); |
else |
dragging_panel_->SetPanelBounds(dragging_panel_bounds_); |