Index: chrome/browser/ui/panels/panel_manager.cc |
diff --git a/chrome/browser/ui/panels/panel_manager.cc b/chrome/browser/ui/panels/panel_manager.cc |
index 4b4848bebb78fea8ab0fc7cf86789c936013dd6f..2108e0be7acab764f7f5857dd7e32c30b7a93125 100644 |
--- a/chrome/browser/ui/panels/panel_manager.cc |
+++ b/chrome/browser/ui/panels/panel_manager.cc |
@@ -10,8 +10,10 @@ |
#include "chrome/browser/fullscreen.h" |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/browser_list.h" |
+#include "chrome/browser/ui/panels/detached_panel_strip.h" |
#include "chrome/browser/ui/panels/docked_panel_strip.h" |
#include "chrome/browser/ui/panels/overflow_panel_strip.h" |
+#include "chrome/browser/ui/panels/panel_drag_controller.h" |
#include "chrome/browser/ui/panels/panel_mouse_watcher.h" |
#include "chrome/common/chrome_notification_types.h" |
#include "chrome/common/chrome_switches.h" |
@@ -63,8 +65,10 @@ PanelManager::PanelManager() |
: panel_mouse_watcher_(PanelMouseWatcher::Create()), |
auto_sizing_enabled_(true), |
is_full_screen_(false) { |
+ detached_strip_.reset(new DetachedPanelStrip(this)); |
docked_strip_.reset(new DockedPanelStrip(this)); |
overflow_strip_.reset(new OverflowPanelStrip(this)); |
+ drag_controller_.reset(new PanelDragController()); |
auto_hiding_desktop_bar_ = AutoHidingDesktopBar::Create(this); |
OnDisplayChanged(); |
} |
@@ -159,16 +163,20 @@ void PanelManager::OnPanelRemoved(Panel* panel) { |
content::NotificationService::NoDetails()); |
} |
+bool PanelManager::CanDrag(Panel* panel) const { |
+ return drag_controller_->CanDrag(panel); |
+} |
+ |
void PanelManager::StartDragging(Panel* panel) { |
- docked_strip_->StartDragging(panel); |
+ drag_controller_->StartDragging(panel); |
} |
-void PanelManager::Drag(int delta_x) { |
- docked_strip_->Drag(delta_x); |
+void PanelManager::Drag(int delta_x, int delta_y) { |
+ drag_controller_->Drag(delta_x, delta_y); |
} |
void PanelManager::EndDragging(bool cancelled) { |
- docked_strip_->EndDragging(cancelled); |
+ drag_controller_->EndDragging(cancelled); |
} |
void PanelManager::OnPanelExpansionStateChanged(Panel* panel) { |
@@ -244,6 +252,7 @@ void PanelManager::OnAutoHidingDesktopBarVisibilityChanged( |
} |
void PanelManager::CloseAll() { |
+ detached_strip_->CloseAll(); |
docked_strip_->CloseAll(); |
overflow_strip_->CloseAll(); |
} |