| 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/i18n/time_formatting.h" | 5 #include "base/i18n/time_formatting.h" |
| 6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
| 7 #include "chrome/browser/extensions/extension_service.h" | 7 #include "chrome/browser/extensions/extension_service.h" |
| 8 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
| 9 #include "chrome/browser/ui/browser_window.h" | 9 #include "chrome/browser/ui/browser_window.h" |
| 10 #include "chrome/browser/ui/panels/base_panel_browser_test.h" | 10 #include "chrome/browser/ui/panels/base_panel_browser_test.h" |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 content::Source<Browser>(panel->browser())); | 168 content::Source<Browser>(panel->browser())); |
| 169 panel->Close(); | 169 panel->Close(); |
| 170 signal.Wait(); | 170 signal.Wait(); |
| 171 } | 171 } |
| 172 | 172 |
| 173 // We put all the testing logic in this class instead of the test so that | 173 // We put all the testing logic in this class instead of the test so that |
| 174 // we do not need to declare each new test as a friend of PanelBrowserView | 174 // we do not need to declare each new test as a friend of PanelBrowserView |
| 175 // for the purpose of accessing its private members. | 175 // for the purpose of accessing its private members. |
| 176 void TestMinimizeAndRestore(bool enable_auto_hiding) { | 176 void TestMinimizeAndRestore(bool enable_auto_hiding) { |
| 177 PanelManager* panel_manager = PanelManager::GetInstance(); | 177 PanelManager* panel_manager = PanelManager::GetInstance(); |
| 178 int expected_bottom_on_minimized = testing_work_area().height(); | 178 int expected_bottom_on_expanded = testing_work_area().height(); |
| 179 int expected_bottom_on_unminimized = expected_bottom_on_minimized; | 179 int expected_bottom_on_title_only = expected_bottom_on_expanded; |
| 180 int expected_bottom_on_minimized = expected_bottom_on_expanded; |
| 180 | 181 |
| 181 // Turn on auto-hiding if requested. | 182 // Turn on auto-hiding if requested. |
| 182 static const int bottom_thickness = 40; | 183 static const int bottom_thickness = 40; |
| 183 mock_auto_hiding_desktop_bar()->EnableAutoHiding( | 184 mock_auto_hiding_desktop_bar()->EnableAutoHiding( |
| 184 AutoHidingDesktopBar::ALIGN_BOTTOM, | 185 AutoHidingDesktopBar::ALIGN_BOTTOM, |
| 185 enable_auto_hiding, | 186 enable_auto_hiding, |
| 186 bottom_thickness); | 187 bottom_thickness); |
| 187 if (enable_auto_hiding) | 188 if (enable_auto_hiding) |
| 188 expected_bottom_on_unminimized -= bottom_thickness; | 189 expected_bottom_on_title_only -= bottom_thickness; |
| 189 | 190 |
| 190 // Create and test one panel first. | 191 // Create and test one panel first. |
| 191 Panel* panel1 = CreatePanel("PanelTest1"); | 192 Panel* panel1 = CreatePanel("PanelTest1"); |
| 192 PanelBrowserView* browser_view1 = GetBrowserView(panel1); | 193 PanelBrowserView* browser_view1 = GetBrowserView(panel1); |
| 193 PanelBrowserFrameView* frame_view1 = browser_view1->GetFrameView(); | 194 PanelBrowserFrameView* frame_view1 = browser_view1->GetFrameView(); |
| 194 | 195 |
| 195 // Test minimizing/restoring an individual panel. | 196 // Test minimizing/restoring an individual panel. |
| 196 EXPECT_EQ(Panel::EXPANDED, panel1->expansion_state()); | 197 EXPECT_EQ(Panel::EXPANDED, panel1->expansion_state()); |
| 197 EXPECT_EQ(0, panel_manager->minimized_panel_count()); | 198 EXPECT_EQ(0, panel_manager->minimized_panel_count()); |
| 198 int initial_height = panel1->GetBounds().height(); | 199 int initial_height = panel1->GetBounds().height(); |
| 199 int titlebar_height = frame_view1->NonClientTopBorderHeight(); | 200 int titlebar_height = frame_view1->NonClientTopBorderHeight(); |
| 200 | 201 |
| 201 panel1->SetExpansionState(Panel::MINIMIZED); | 202 panel1->SetExpansionState(Panel::MINIMIZED); |
| 202 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); | 203 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); |
| 203 EXPECT_LT(panel1->GetBounds().height(), titlebar_height); | 204 EXPECT_LT(panel1->GetBounds().height(), titlebar_height); |
| 204 EXPECT_GT(panel1->GetBounds().height(), 0); | 205 EXPECT_GT(panel1->GetBounds().height(), 0); |
| 205 EXPECT_EQ(expected_bottom_on_minimized, panel1->GetBounds().bottom()); | 206 EXPECT_EQ(expected_bottom_on_minimized, panel1->GetBounds().bottom()); |
| 206 EXPECT_EQ(1, panel_manager->minimized_panel_count()); | 207 EXPECT_EQ(1, panel_manager->minimized_panel_count()); |
| 207 WaitTillBoundsAnimationFinished(panel1); | 208 WaitTillBoundsAnimationFinished(panel1); |
| 208 EXPECT_FALSE(panel1->IsActive()); | 209 EXPECT_FALSE(panel1->IsActive()); |
| 209 | 210 |
| 210 panel1->SetExpansionState(Panel::TITLE_ONLY); | 211 panel1->SetExpansionState(Panel::TITLE_ONLY); |
| 211 EXPECT_EQ(Panel::TITLE_ONLY, panel1->expansion_state()); | 212 EXPECT_EQ(Panel::TITLE_ONLY, panel1->expansion_state()); |
| 212 EXPECT_EQ(titlebar_height, panel1->GetBounds().height()); | 213 EXPECT_EQ(titlebar_height, panel1->GetBounds().height()); |
| 213 EXPECT_EQ(expected_bottom_on_unminimized, panel1->GetBounds().bottom()); | 214 EXPECT_EQ(expected_bottom_on_title_only, panel1->GetBounds().bottom()); |
| 214 EXPECT_EQ(1, panel_manager->minimized_panel_count()); | 215 EXPECT_EQ(1, panel_manager->minimized_panel_count()); |
| 215 WaitTillBoundsAnimationFinished(panel1); | 216 WaitTillBoundsAnimationFinished(panel1); |
| 216 EXPECT_TRUE(frame_view1->close_button_->IsVisible()); | 217 EXPECT_TRUE(frame_view1->close_button_->IsVisible()); |
| 217 EXPECT_TRUE(frame_view1->title_icon_->IsVisible()); | 218 EXPECT_TRUE(frame_view1->title_icon_->IsVisible()); |
| 218 EXPECT_TRUE(frame_view1->title_label_->IsVisible()); | 219 EXPECT_TRUE(frame_view1->title_label_->IsVisible()); |
| 219 | 220 |
| 220 panel1->SetExpansionState(Panel::EXPANDED); | 221 panel1->SetExpansionState(Panel::EXPANDED); |
| 221 EXPECT_EQ(Panel::EXPANDED, panel1->expansion_state()); | 222 EXPECT_EQ(Panel::EXPANDED, panel1->expansion_state()); |
| 222 EXPECT_EQ(initial_height, panel1->GetBounds().height()); | 223 EXPECT_EQ(initial_height, panel1->GetBounds().height()); |
| 223 EXPECT_EQ(expected_bottom_on_unminimized, panel1->GetBounds().bottom()); | 224 EXPECT_EQ(expected_bottom_on_expanded, panel1->GetBounds().bottom()); |
| 224 EXPECT_EQ(0, panel_manager->minimized_panel_count()); | 225 EXPECT_EQ(0, panel_manager->minimized_panel_count()); |
| 225 WaitTillBoundsAnimationFinished(panel1); | 226 WaitTillBoundsAnimationFinished(panel1); |
| 226 EXPECT_TRUE(frame_view1->close_button_->IsVisible()); | 227 EXPECT_TRUE(frame_view1->close_button_->IsVisible()); |
| 227 EXPECT_TRUE(frame_view1->title_icon_->IsVisible()); | 228 EXPECT_TRUE(frame_view1->title_icon_->IsVisible()); |
| 228 EXPECT_TRUE(frame_view1->title_label_->IsVisible()); | 229 EXPECT_TRUE(frame_view1->title_label_->IsVisible()); |
| 229 | 230 |
| 230 panel1->SetExpansionState(Panel::MINIMIZED); | 231 panel1->SetExpansionState(Panel::MINIMIZED); |
| 231 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); | 232 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); |
| 232 EXPECT_LT(panel1->GetBounds().height(), titlebar_height); | 233 EXPECT_LT(panel1->GetBounds().height(), titlebar_height); |
| 233 EXPECT_GT(panel1->GetBounds().height(), 0); | 234 EXPECT_GT(panel1->GetBounds().height(), 0); |
| 234 EXPECT_EQ(expected_bottom_on_minimized, panel1->GetBounds().bottom()); | 235 EXPECT_EQ(expected_bottom_on_minimized, panel1->GetBounds().bottom()); |
| 235 EXPECT_EQ(1, panel_manager->minimized_panel_count()); | 236 EXPECT_EQ(1, panel_manager->minimized_panel_count()); |
| 236 | 237 |
| 237 panel1->SetExpansionState(Panel::TITLE_ONLY); | 238 panel1->SetExpansionState(Panel::TITLE_ONLY); |
| 238 EXPECT_EQ(Panel::TITLE_ONLY, panel1->expansion_state()); | 239 EXPECT_EQ(Panel::TITLE_ONLY, panel1->expansion_state()); |
| 239 EXPECT_EQ(titlebar_height, panel1->GetBounds().height()); | 240 EXPECT_EQ(titlebar_height, panel1->GetBounds().height()); |
| 240 EXPECT_EQ(expected_bottom_on_unminimized, panel1->GetBounds().bottom()); | 241 EXPECT_EQ(expected_bottom_on_title_only, panel1->GetBounds().bottom()); |
| 241 EXPECT_EQ(1, panel_manager->minimized_panel_count()); | 242 EXPECT_EQ(1, panel_manager->minimized_panel_count()); |
| 242 | 243 |
| 243 // Create 2 more panels for more testing. | 244 // Create 2 more panels for more testing. |
| 244 Panel* panel2 = CreatePanel("PanelTest2"); | 245 Panel* panel2 = CreatePanel("PanelTest2"); |
| 245 Panel* panel3 = CreatePanel("PanelTest3"); | 246 Panel* panel3 = CreatePanel("PanelTest3"); |
| 246 | 247 |
| 247 // Test bringing up or down the title-bar of all minimized panels. | 248 // Test bringing up or down the title-bar of all minimized panels. |
| 248 EXPECT_EQ(Panel::EXPANDED, panel2->expansion_state()); | 249 EXPECT_EQ(Panel::EXPANDED, panel2->expansion_state()); |
| 249 panel3->SetExpansionState(Panel::MINIMIZED); | 250 panel3->SetExpansionState(Panel::MINIMIZED); |
| 250 EXPECT_EQ(Panel::MINIMIZED, panel3->expansion_state()); | 251 EXPECT_EQ(Panel::MINIMIZED, panel3->expansion_state()); |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 int right_bar_thickness = 30; | 367 int right_bar_thickness = 30; |
| 367 mock_auto_hiding_desktop_bar()->EnableAutoHiding( | 368 mock_auto_hiding_desktop_bar()->EnableAutoHiding( |
| 368 AutoHidingDesktopBar::ALIGN_BOTTOM, true, bottom_bar_thickness); | 369 AutoHidingDesktopBar::ALIGN_BOTTOM, true, bottom_bar_thickness); |
| 369 mock_auto_hiding_desktop_bar()->EnableAutoHiding( | 370 mock_auto_hiding_desktop_bar()->EnableAutoHiding( |
| 370 AutoHidingDesktopBar::ALIGN_RIGHT, true, right_bar_thickness); | 371 AutoHidingDesktopBar::ALIGN_RIGHT, true, right_bar_thickness); |
| 371 EXPECT_EQ( | 372 EXPECT_EQ( |
| 372 initial_starting_right_position - manager->StartingRightPosition(), | 373 initial_starting_right_position - manager->StartingRightPosition(), |
| 373 right_bar_thickness); | 374 right_bar_thickness); |
| 374 | 375 |
| 375 Panel* panel = CreatePanel("PanelTest"); | 376 Panel* panel = CreatePanel("PanelTest"); |
| 377 panel->SetExpansionState(Panel::TITLE_ONLY); |
| 378 WaitTillBoundsAnimationFinished(panel); |
| 379 |
| 376 EXPECT_EQ(testing_work_area().height() - bottom_bar_thickness, | 380 EXPECT_EQ(testing_work_area().height() - bottom_bar_thickness, |
| 377 panel->GetBounds().bottom()); | 381 panel->GetBounds().bottom()); |
| 378 EXPECT_GT(testing_work_area().right() - right_bar_thickness, | 382 EXPECT_GT(testing_work_area().right() - right_bar_thickness, |
| 379 panel->GetBounds().right()); | 383 panel->GetBounds().right()); |
| 380 | 384 |
| 381 initial_starting_right_position = manager->StartingRightPosition(); | 385 initial_starting_right_position = manager->StartingRightPosition(); |
| 382 int bottom_bar_thickness_delta = 10; | 386 int bottom_bar_thickness_delta = 10; |
| 383 bottom_bar_thickness += bottom_bar_thickness_delta; | 387 bottom_bar_thickness += bottom_bar_thickness_delta; |
| 384 int right_bar_thickness_delta = 15; | 388 int right_bar_thickness_delta = 15; |
| 385 right_bar_thickness += right_bar_thickness_delta; | 389 right_bar_thickness += right_bar_thickness_delta; |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 608 // TODO(jianli): Investigate why this fails on win trunk build. | 612 // TODO(jianli): Investigate why this fails on win trunk build. |
| 609 // http://crbug.com/102734 | 613 // http://crbug.com/102734 |
| 610 IN_PROC_BROWSER_TEST_F(PanelBrowserViewTest, DISABLED_DrawAttention) { | 614 IN_PROC_BROWSER_TEST_F(PanelBrowserViewTest, DISABLED_DrawAttention) { |
| 611 TestDrawAttention(); | 615 TestDrawAttention(); |
| 612 } | 616 } |
| 613 | 617 |
| 614 IN_PROC_BROWSER_TEST_F(PanelBrowserViewTest, ChangeAutoHideTaskBarThickness) { | 618 IN_PROC_BROWSER_TEST_F(PanelBrowserViewTest, ChangeAutoHideTaskBarThickness) { |
| 615 TestChangeAutoHideTaskBarThickness(); | 619 TestChangeAutoHideTaskBarThickness(); |
| 616 } | 620 } |
| 617 #endif | 621 #endif |
| OLD | NEW |