Chromium Code Reviews| Index: chrome/browser/ui/panels/panel_browsertest.cc |
| diff --git a/chrome/browser/ui/panels/panel_browsertest.cc b/chrome/browser/ui/panels/panel_browsertest.cc |
| index 041021d8c373cfec33f884bf1e97865da5f9d2a3..aa96c01dbbbc2cc624ff582f902dc765ec178c3b 100644 |
| --- a/chrome/browser/ui/panels/panel_browsertest.cc |
| +++ b/chrome/browser/ui/panels/panel_browsertest.cc |
| @@ -770,7 +770,8 @@ IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DragThreePanels) { |
| IN_PROC_BROWSER_TEST_F(PanelBrowserTest, NotDraggable) { |
| Panel* panel = CreatePanel("panel"); |
| - panel->set_draggable(false); |
| + // This is used to simulate making a docked panel not draggable. |
| + panel->set_has_temporary_layout(true); |
| Panel* panel2 = CreatePanel("panel2"); |
| scoped_ptr<NativePanelTesting> panel_testing( |
| @@ -783,10 +784,33 @@ IN_PROC_BROWSER_TEST_F(PanelBrowserTest, NotDraggable) { |
| panel_testing->FinishDragTitlebar(); |
| EXPECT_EQ(bounds.x(), panel->GetBounds().x()); |
| + // Reset the simulation hack so that the panel can be closed correctly. |
| + panel->set_has_temporary_layout(false); |
| panel->Close(); |
| panel2->Close(); |
| } |
| +IN_PROC_BROWSER_TEST_F(PanelBrowserTest, CloseDraggingPanel) { |
| + PanelManager* panel_manager = PanelManager::GetInstance(); |
| + |
| + // Create one panel. |
| + Panel* panel = CreatePanel("panel"); |
| + |
| + // Start dragging the panel. |
| + scoped_ptr<NativePanelTesting> panel_testing( |
| + NativePanelTesting::Create(panel->native_panel())); |
| + panel_testing->PressLeftMouseButtonTitlebar(panel->GetBounds().origin()); |
| + panel_testing->DragTitlebar(-51, 102); |
| + |
| + // Closing the panel while drag in progress will keep the panel intact. |
| + panel->Close(); |
|
jennb
2012/02/17 21:28:45
Close is async so this will always continue with n
jianli
2012/02/17 23:52:56
ditto.
|
| + EXPECT_EQ(1, panel_manager->num_panels()); |
| + |
| + // It should be closed right after the drag ends. |
| + panel_testing->FinishDragTitlebar(); |
| + EXPECT_EQ(0, panel_manager->num_panels()); |
| +} |
| + |
| IN_PROC_BROWSER_TEST_F(PanelBrowserTest, CreateSettingsMenu) { |
| TestCreateSettingsMenuForExtension( |
| FILE_PATH_LITERAL("extension1"), Extension::EXTERNAL_POLICY_DOWNLOAD, |