OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/panels/base_panel_browser_test.h" | 5 #include "chrome/browser/ui/panels/base_panel_browser_test.h" |
6 #include "chrome/browser/ui/panels/detached_panel_strip.h" | 6 #include "chrome/browser/ui/panels/detached_panel_strip.h" |
7 #include "chrome/browser/ui/panels/native_panel.h" | 7 #include "chrome/browser/ui/panels/native_panel.h" |
8 #include "chrome/browser/ui/panels/panel.h" | 8 #include "chrome/browser/ui/panels/panel.h" |
9 #include "chrome/browser/ui/panels/panel_drag_controller.h" | 9 #include "chrome/browser/ui/panels/panel_drag_controller.h" |
10 #include "chrome/browser/ui/panels/panel_manager.h" | 10 #include "chrome/browser/ui/panels/panel_manager.h" |
11 | 11 |
12 class DetachedPanelBrowserTest : public BasePanelBrowserTest { | 12 class DetachedPanelBrowserTest : public BasePanelBrowserTest { |
13 }; | 13 }; |
14 | 14 |
15 IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, | 15 IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, CheckDetachedPanelProperties) { |
16 DISABLED_CheckDetachedPanelProperties) { | |
17 PanelManager* panel_manager = PanelManager::GetInstance(); | 16 PanelManager* panel_manager = PanelManager::GetInstance(); |
18 DetachedPanelStrip* detached_strip = panel_manager->detached_strip(); | 17 DetachedPanelStrip* detached_strip = panel_manager->detached_strip(); |
19 | 18 |
20 // Create 2 panels. | 19 // Create 2 panels. |
21 Panel* panel1 = CreatePanelWithBounds("Panel1", gfx::Rect(0, 0, 250, 200)); | 20 Panel* panel1 = CreatePanelWithBounds("Panel1", gfx::Rect(0, 0, 250, 200)); |
22 Panel* panel2 = CreatePanelWithBounds("Panel2", gfx::Rect(0, 0, 300, 200)); | 21 Panel* panel2 = CreatePanelWithBounds("Panel2", gfx::Rect(0, 0, 300, 200)); |
23 | 22 |
24 EXPECT_TRUE(panel1->draggable()); | 23 EXPECT_TRUE(panel1->draggable()); |
25 EXPECT_TRUE(panel2->draggable()); | 24 EXPECT_TRUE(panel2->draggable()); |
26 | 25 |
27 // Move panels to detached strip. | 26 // Move panels to detached strip. |
28 EXPECT_EQ(2, panel_manager->num_panels()); | 27 EXPECT_EQ(2, panel_manager->num_panels()); |
29 EXPECT_EQ(0, detached_strip->num_panels()); | 28 EXPECT_EQ(0, detached_strip->num_panels()); |
30 panel1->MoveToStrip(detached_strip); | 29 panel_manager->MovePanelToStrip(panel1, PanelStrip::DETACHED); |
31 panel2->MoveToStrip(detached_strip); | 30 panel_manager->MovePanelToStrip(panel2, PanelStrip::DETACHED); |
32 EXPECT_EQ(2, panel_manager->num_panels()); | 31 EXPECT_EQ(2, panel_manager->num_panels()); |
33 EXPECT_EQ(2, detached_strip->num_panels()); | 32 EXPECT_EQ(2, detached_strip->num_panels()); |
34 | 33 |
35 std::vector<Panel*> panels = panel_manager->panels(); | 34 EXPECT_TRUE(detached_strip->HasPanel(panel1)); |
36 EXPECT_EQ(panel1, panels[0]); | 35 EXPECT_TRUE(detached_strip->HasPanel(panel2)); |
37 EXPECT_EQ(panel2, panels[1]); | |
38 | 36 |
39 EXPECT_TRUE(panel1->draggable()); | 37 EXPECT_TRUE(panel1->draggable()); |
40 EXPECT_TRUE(panel2->draggable()); | 38 EXPECT_TRUE(panel2->draggable()); |
41 | 39 |
42 panel_manager->CloseAll(); | 40 panel_manager->CloseAll(); |
43 } | 41 } |
44 | 42 |
45 IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, DragDetachedPanel) { | 43 IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, DragDetachedPanel) { |
46 PanelManager* panel_manager = PanelManager::GetInstance(); | 44 PanelManager* panel_manager = PanelManager::GetInstance(); |
47 DetachedPanelStrip* detached_strip = panel_manager->detached_strip(); | |
48 | 45 |
49 // Create one detached panel. | 46 // Create one detached panel. |
50 Panel* panel = CreatePanelWithBounds("Panel1", gfx::Rect(0, 0, 250, 200)); | 47 Panel* panel = CreatePanelWithBounds("Panel1", gfx::Rect(0, 0, 250, 200)); |
51 panel->MoveToStrip(detached_strip); | 48 panel_manager->MovePanelToStrip(panel, PanelStrip::DETACHED); |
52 | 49 |
53 // Test that the detached panel can be dragged anywhere. | 50 // Test that the detached panel can be dragged anywhere. |
54 scoped_ptr<NativePanelTesting> panel_testing( | 51 scoped_ptr<NativePanelTesting> panel_testing( |
55 NativePanelTesting::Create(panel->native_panel())); | 52 NativePanelTesting::Create(panel->native_panel())); |
56 gfx::Point origin = panel->GetBounds().origin(); | 53 gfx::Point origin = panel->GetBounds().origin(); |
57 | 54 |
58 panel_testing->PressLeftMouseButtonTitlebar(origin); | 55 panel_testing->PressLeftMouseButtonTitlebar(origin); |
59 EXPECT_EQ(origin, panel->GetBounds().origin()); | 56 EXPECT_EQ(origin, panel->GetBounds().origin()); |
60 | 57 |
61 panel_testing->DragTitlebar(-51, 102); | 58 panel_testing->DragTitlebar(-51, 102); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, CloseDetachedPanelOnDrag) { | 91 IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, CloseDetachedPanelOnDrag) { |
95 PanelManager* panel_manager = PanelManager::GetInstance(); | 92 PanelManager* panel_manager = PanelManager::GetInstance(); |
96 PanelDragController* drag_controller = panel_manager->drag_controller(); | 93 PanelDragController* drag_controller = panel_manager->drag_controller(); |
97 DetachedPanelStrip* detached_strip = panel_manager->detached_strip(); | 94 DetachedPanelStrip* detached_strip = panel_manager->detached_strip(); |
98 | 95 |
99 // Create 4 detached panels. | 96 // Create 4 detached panels. |
100 Panel* panel1 = CreatePanelWithBounds("Panel1", gfx::Rect(0, 0, 100, 100)); | 97 Panel* panel1 = CreatePanelWithBounds("Panel1", gfx::Rect(0, 0, 100, 100)); |
101 Panel* panel2 = CreatePanelWithBounds("Panel2", gfx::Rect(0, 0, 110, 110)); | 98 Panel* panel2 = CreatePanelWithBounds("Panel2", gfx::Rect(0, 0, 110, 110)); |
102 Panel* panel3 = CreatePanelWithBounds("Panel3", gfx::Rect(0, 0, 120, 120)); | 99 Panel* panel3 = CreatePanelWithBounds("Panel3", gfx::Rect(0, 0, 120, 120)); |
103 Panel* panel4 = CreatePanelWithBounds("Panel4", gfx::Rect(0, 0, 130, 130)); | 100 Panel* panel4 = CreatePanelWithBounds("Panel4", gfx::Rect(0, 0, 130, 130)); |
104 panel1->MoveToStrip(detached_strip); | 101 panel_manager->MovePanelToStrip(panel1, PanelStrip::DETACHED); |
105 panel2->MoveToStrip(detached_strip); | 102 panel_manager->MovePanelToStrip(panel2, PanelStrip::DETACHED); |
106 panel3->MoveToStrip(detached_strip); | 103 panel_manager->MovePanelToStrip(panel3, PanelStrip::DETACHED); |
107 panel4->MoveToStrip(detached_strip); | 104 panel_manager->MovePanelToStrip(panel4, PanelStrip::DETACHED); |
108 ASSERT_EQ(4, detached_strip->num_panels()); | 105 ASSERT_EQ(4, detached_strip->num_panels()); |
109 | 106 |
110 scoped_ptr<NativePanelTesting> panel1_testing( | 107 scoped_ptr<NativePanelTesting> panel1_testing( |
111 NativePanelTesting::Create(panel1->native_panel())); | 108 NativePanelTesting::Create(panel1->native_panel())); |
112 gfx::Point panel1_old_position = panel1->GetBounds().origin(); | 109 gfx::Point panel1_old_position = panel1->GetBounds().origin(); |
113 gfx::Point panel2_position = panel2->GetBounds().origin(); | 110 gfx::Point panel2_position = panel2->GetBounds().origin(); |
114 gfx::Point panel3_position = panel3->GetBounds().origin(); | 111 gfx::Point panel3_position = panel3->GetBounds().origin(); |
115 gfx::Point panel4_position = panel4->GetBounds().origin(); | 112 gfx::Point panel4_position = panel4->GetBounds().origin(); |
116 | 113 |
117 // Test the scenario: drag a panel, close another panel, cancel the drag. | 114 // Test the scenario: drag a panel, close another panel, cancel the drag. |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 CloseWindowAndWait(panel1->browser()); | 222 CloseWindowAndWait(panel1->browser()); |
226 EXPECT_FALSE(drag_controller->IsDragging()); | 223 EXPECT_FALSE(drag_controller->IsDragging()); |
227 | 224 |
228 ASSERT_EQ(1, detached_strip->num_panels()); | 225 ASSERT_EQ(1, detached_strip->num_panels()); |
229 EXPECT_TRUE(detached_strip->HasPanel(panel4)); | 226 EXPECT_TRUE(detached_strip->HasPanel(panel4)); |
230 EXPECT_EQ(panel4_position, panel4->GetBounds().origin()); | 227 EXPECT_EQ(panel4_position, panel4->GetBounds().origin()); |
231 } | 228 } |
232 | 229 |
233 panel_manager->CloseAll(); | 230 panel_manager->CloseAll(); |
234 } | 231 } |
OLD | NEW |