OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/string_number_conversions.h" | 6 #include "base/string_number_conversions.h" |
7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
8 #include "chrome/browser/browser_process.h" | 8 #include "chrome/browser/browser_process.h" |
9 #include "chrome/browser/download/download_service.h" | 9 #include "chrome/browser/download/download_service.h" |
10 #include "chrome/browser/download/download_service_factory.h" | 10 #include "chrome/browser/download/download_service_factory.h" |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 web_app::GenerateApplicationNameFromExtensionId(extension2->id()), | 108 web_app::GenerateApplicationNameFromExtensionId(extension2->id()), |
109 gfx::Rect(0, 0, 300, 200)); | 109 gfx::Rect(0, 0, 300, 200)); |
110 Panel* panel3 = CreatePanelWithBounds( | 110 Panel* panel3 = CreatePanelWithBounds( |
111 web_app::GenerateApplicationNameFromExtensionId(extension1->id()), | 111 web_app::GenerateApplicationNameFromExtensionId(extension1->id()), |
112 gfx::Rect(0, 0, 200, 200)); | 112 gfx::Rect(0, 0, 200, 200)); |
113 ASSERT_EQ(3, panel_manager->num_panels()); | 113 ASSERT_EQ(3, panel_manager->num_panels()); |
114 EXPECT_EQ(3, panel_strip->num_panels()); | 114 EXPECT_EQ(3, panel_strip->num_panels()); |
115 EXPECT_EQ(0, panel_overflow_strip->num_panels()); | 115 EXPECT_EQ(0, panel_overflow_strip->num_panels()); |
116 | 116 |
117 // Open a panel that would overflow. | 117 // Open a panel that would overflow. |
118 Panel* panel4 = CreatePanelWithBounds( | 118 CreatePanelParams params4( |
119 web_app::GenerateApplicationNameFromExtensionId(extension2->id()), | 119 web_app::GenerateApplicationNameFromExtensionId(extension2->id()), |
120 gfx::Rect(0, 0, 280, 200)); | 120 gfx::Rect(0, 0, 280, 200), |
| 121 SHOW_AS_INACTIVE); |
| 122 Panel* panel4 = CreatePanelWithParams(params4); |
| 123 WaitForExpansionStateChanged(panel4, Panel::IN_OVERFLOW); |
121 ASSERT_EQ(4, panel_manager->num_panels()); | 124 ASSERT_EQ(4, panel_manager->num_panels()); |
122 EXPECT_EQ(3, panel_strip->num_panels()); | 125 EXPECT_EQ(3, panel_strip->num_panels()); |
123 EXPECT_EQ(1, panel_overflow_strip->num_panels()); | 126 EXPECT_EQ(1, panel_overflow_strip->num_panels()); |
124 EXPECT_EQ(Panel::IN_OVERFLOW, panel4->expansion_state()); | |
125 | 127 |
126 // Open another panel that would overflow. | 128 // Open another panel that would overflow. |
127 Panel* panel5 = CreatePanelWithBounds( | 129 CreatePanelParams params5( |
128 web_app::GenerateApplicationNameFromExtensionId(extension3->id()), | 130 web_app::GenerateApplicationNameFromExtensionId(extension3->id()), |
129 gfx::Rect(0, 0, 300, 200)); | 131 gfx::Rect(0, 0, 300, 200), |
| 132 SHOW_AS_INACTIVE); |
| 133 Panel* panel5 = CreatePanelWithParams(params5); |
| 134 WaitForExpansionStateChanged(panel5, Panel::IN_OVERFLOW); |
130 ASSERT_EQ(5, panel_manager->num_panels()); | 135 ASSERT_EQ(5, panel_manager->num_panels()); |
131 EXPECT_EQ(3, panel_strip->num_panels()); | 136 EXPECT_EQ(3, panel_strip->num_panels()); |
132 EXPECT_EQ(2, panel_overflow_strip->num_panels()); | 137 EXPECT_EQ(2, panel_overflow_strip->num_panels()); |
133 EXPECT_EQ(Panel::IN_OVERFLOW, panel4->expansion_state()); | 138 EXPECT_EQ(Panel::IN_OVERFLOW, panel4->expansion_state()); |
134 EXPECT_EQ(Panel::IN_OVERFLOW, panel5->expansion_state()); | |
135 | 139 |
136 // Close a visible panel. Expect an overflow panel to move over. | 140 // Close a visible panel. Expect an overflow panel to move over. |
137 CloseWindowAndWait(panel2->browser()); | 141 CloseWindowAndWait(panel2->browser()); |
138 ASSERT_EQ(4, panel_manager->num_panels()); | 142 ASSERT_EQ(4, panel_manager->num_panels()); |
139 EXPECT_EQ(3, panel_strip->num_panels()); | 143 EXPECT_EQ(3, panel_strip->num_panels()); |
140 EXPECT_EQ(1, panel_overflow_strip->num_panels()); | 144 EXPECT_EQ(1, panel_overflow_strip->num_panels()); |
141 EXPECT_NE(Panel::IN_OVERFLOW, panel4->expansion_state()); | 145 EXPECT_NE(Panel::IN_OVERFLOW, panel4->expansion_state()); |
142 EXPECT_EQ(Panel::IN_OVERFLOW, panel5->expansion_state()); | 146 EXPECT_EQ(Panel::IN_OVERFLOW, panel5->expansion_state()); |
143 | 147 |
144 // Close another visible panel. Remaining overflow panel cannot move over | 148 // Close another visible panel. Remaining overflow panel cannot move over |
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
539 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, FindBar) { | 543 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, FindBar) { |
540 Panel* panel = CreatePanelWithBounds("PanelTest", gfx::Rect(0, 0, 400, 400)); | 544 Panel* panel = CreatePanelWithBounds("PanelTest", gfx::Rect(0, 0, 400, 400)); |
541 Browser* browser = panel->browser(); | 545 Browser* browser = panel->browser(); |
542 // FindBar needs tab contents. | 546 // FindBar needs tab contents. |
543 CreateTestTabContents(browser); | 547 CreateTestTabContents(browser); |
544 browser->ShowFindBar(); | 548 browser->ShowFindBar(); |
545 ASSERT_TRUE(browser->GetFindBarController()->find_bar()->IsFindBarVisible()); | 549 ASSERT_TRUE(browser->GetFindBarController()->find_bar()->IsFindBarVisible()); |
546 panel->Close(); | 550 panel->Close(); |
547 } | 551 } |
548 | 552 |
549 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DISABLED_CreatePanelOnOverflow) { | 553 // TODO(jianli): remove the guard when overflow support is enabled on other |
| 554 // platforms. http://crbug.com/105073 |
| 555 #if defined(OS_WIN) |
| 556 #define MAYBE_CreatePanelOnOverflow CreatePanelOnOverflow |
| 557 #else |
| 558 #define MAYBE_CreatePanelOnOverflow DISABLED_CreatePanelOnOverflow |
| 559 #endif |
| 560 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MAYBE_CreatePanelOnOverflow) { |
550 TestCreatePanelOnOverflow(); | 561 TestCreatePanelOnOverflow(); |
551 } | 562 } |
552 | 563 |
553 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DragPanels) { | 564 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DragPanels) { |
554 static const int max_panels = 3; | 565 static const int max_panels = 3; |
555 static const int zero_delta = 0; | 566 static const int zero_delta = 0; |
556 static const int small_delta = 10; | 567 static const int small_delta = 10; |
557 static const int big_delta = 70; | 568 static const int big_delta = 70; |
558 static const int bigger_delta = 120; | 569 static const int bigger_delta = 120; |
559 static const int biggest_delta = 200; | 570 static const int biggest_delta = 200; |
(...skipping 1387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1947 // position when tall panel brings up its titlebar. | 1958 // position when tall panel brings up its titlebar. |
1948 CloseWindowAndWait(panel1->browser()); | 1959 CloseWindowAndWait(panel1->browser()); |
1949 EXPECT_EQ(balloon_bottom_after_tall_panel_titlebar_up, | 1960 EXPECT_EQ(balloon_bottom_after_tall_panel_titlebar_up, |
1950 GetBalloonBottomPosition(balloon)); | 1961 GetBalloonBottomPosition(balloon)); |
1951 | 1962 |
1952 // Closing the remaining tall panel should move the notification balloon back | 1963 // Closing the remaining tall panel should move the notification balloon back |
1953 // to its original position. | 1964 // to its original position. |
1954 CloseWindowAndWait(panel2->browser()); | 1965 CloseWindowAndWait(panel2->browser()); |
1955 EXPECT_EQ(original_balloon_bottom, GetBalloonBottomPosition(balloon)); | 1966 EXPECT_EQ(original_balloon_bottom, GetBalloonBottomPosition(balloon)); |
1956 } | 1967 } |
OLD | NEW |