| 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 "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/prefs/pref_service.h" | 6 #include "base/prefs/pref_service.h" |
| 7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
| 8 #include "chrome/app/chrome_command_ids.h" | 8 #include "chrome/app/chrome_command_ids.h" |
| 9 #include "chrome/browser/devtools/devtools_window.h" | 9 #include "chrome/browser/devtools/devtools_window.h" |
| 10 #include "chrome/browser/extensions/extension_apitest.h" | 10 #include "chrome/browser/extensions/extension_apitest.h" |
| (...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 267 EXPECT_EQ(Panel::TITLE_ONLY, panel2->expansion_state()); | 267 EXPECT_EQ(Panel::TITLE_ONLY, panel2->expansion_state()); |
| 268 panel3->SetExpansionState(Panel::MINIMIZED); | 268 panel3->SetExpansionState(Panel::MINIMIZED); |
| 269 EXPECT_EQ(Panel::MINIMIZED, panel3->expansion_state()); | 269 EXPECT_EQ(Panel::MINIMIZED, panel3->expansion_state()); |
| 270 scoped_ptr<NativePanelTesting> panel1_testing( | 270 scoped_ptr<NativePanelTesting> panel1_testing( |
| 271 CreateNativePanelTesting(panel1)); | 271 CreateNativePanelTesting(panel1)); |
| 272 scoped_ptr<NativePanelTesting> panel2_testing( | 272 scoped_ptr<NativePanelTesting> panel2_testing( |
| 273 CreateNativePanelTesting(panel2)); | 273 CreateNativePanelTesting(panel2)); |
| 274 scoped_ptr<NativePanelTesting> panel3_testing( | 274 scoped_ptr<NativePanelTesting> panel3_testing( |
| 275 CreateNativePanelTesting(panel3)); | 275 CreateNativePanelTesting(panel3)); |
| 276 | 276 |
| 277 // Ensure that the layout message can get a chance to be processed so that | |
| 278 // the button visibility can be updated. | |
| 279 MessageLoop::current()->RunUntilIdle(); | |
| 280 | |
| 281 EXPECT_EQ(3, panel_manager->num_panels()); | 277 EXPECT_EQ(3, panel_manager->num_panels()); |
| 282 EXPECT_TRUE(docked_collection->HasPanel(panel1)); | 278 EXPECT_TRUE(docked_collection->HasPanel(panel1)); |
| 283 EXPECT_TRUE(docked_collection->HasPanel(panel2)); | 279 EXPECT_TRUE(docked_collection->HasPanel(panel2)); |
| 284 EXPECT_TRUE(docked_collection->HasPanel(panel3)); | 280 EXPECT_TRUE(docked_collection->HasPanel(panel3)); |
| 285 | 281 |
| 286 EXPECT_EQ(Panel::EXPANDED, panel1->expansion_state()); | 282 EXPECT_EQ(Panel::EXPANDED, panel1->expansion_state()); |
| 287 EXPECT_EQ(Panel::TITLE_ONLY, panel2->expansion_state()); | 283 EXPECT_EQ(Panel::TITLE_ONLY, panel2->expansion_state()); |
| 288 EXPECT_EQ(Panel::MINIMIZED, panel3->expansion_state()); | 284 EXPECT_EQ(Panel::MINIMIZED, panel3->expansion_state()); |
| 289 | 285 |
| 290 EXPECT_TRUE(panel1->IsAlwaysOnTop()); | 286 EXPECT_TRUE(panel1->IsAlwaysOnTop()); |
| (...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 907 int bottom_bar_thickness_delta = 10; | 903 int bottom_bar_thickness_delta = 10; |
| 908 bottom_bar_thickness += bottom_bar_thickness_delta; | 904 bottom_bar_thickness += bottom_bar_thickness_delta; |
| 909 int right_bar_thickness_delta = 15; | 905 int right_bar_thickness_delta = 15; |
| 910 right_bar_thickness += right_bar_thickness_delta; | 906 right_bar_thickness += right_bar_thickness_delta; |
| 911 mock_display_settings_provider()->SetDesktopBarThickness( | 907 mock_display_settings_provider()->SetDesktopBarThickness( |
| 912 DisplaySettingsProvider::DESKTOP_BAR_ALIGNED_BOTTOM, | 908 DisplaySettingsProvider::DESKTOP_BAR_ALIGNED_BOTTOM, |
| 913 bottom_bar_thickness); | 909 bottom_bar_thickness); |
| 914 mock_display_settings_provider()->SetDesktopBarThickness( | 910 mock_display_settings_provider()->SetDesktopBarThickness( |
| 915 DisplaySettingsProvider::DESKTOP_BAR_ALIGNED_RIGHT, | 911 DisplaySettingsProvider::DESKTOP_BAR_ALIGNED_RIGHT, |
| 916 right_bar_thickness); | 912 right_bar_thickness); |
| 917 MessageLoopForUI::current()->RunUntilIdle(); | |
| 918 EXPECT_EQ(initial_starting_right_position, | 913 EXPECT_EQ(initial_starting_right_position, |
| 919 docked_collection->StartingRightPosition()); | 914 docked_collection->StartingRightPosition()); |
| 920 EXPECT_EQ(docked_collection->work_area().bottom() - bottom_bar_thickness, | 915 EXPECT_EQ(docked_collection->work_area().bottom() - bottom_bar_thickness, |
| 921 panel->GetBounds().bottom()); | 916 panel->GetBounds().bottom()); |
| 922 EXPECT_EQ(docked_collection->StartingRightPosition(), | 917 EXPECT_EQ(docked_collection->StartingRightPosition(), |
| 923 panel->GetBounds().right()); | 918 panel->GetBounds().right()); |
| 924 | 919 |
| 925 initial_starting_right_position = docked_collection->StartingRightPosition(); | 920 initial_starting_right_position = docked_collection->StartingRightPosition(); |
| 926 bottom_bar_thickness_delta = 20; | 921 bottom_bar_thickness_delta = 20; |
| 927 bottom_bar_thickness -= bottom_bar_thickness_delta; | 922 bottom_bar_thickness -= bottom_bar_thickness_delta; |
| 928 right_bar_thickness_delta = 10; | 923 right_bar_thickness_delta = 10; |
| 929 right_bar_thickness -= right_bar_thickness_delta; | 924 right_bar_thickness -= right_bar_thickness_delta; |
| 930 mock_display_settings_provider()->SetDesktopBarThickness( | 925 mock_display_settings_provider()->SetDesktopBarThickness( |
| 931 DisplaySettingsProvider::DESKTOP_BAR_ALIGNED_BOTTOM, | 926 DisplaySettingsProvider::DESKTOP_BAR_ALIGNED_BOTTOM, |
| 932 bottom_bar_thickness); | 927 bottom_bar_thickness); |
| 933 mock_display_settings_provider()->SetDesktopBarThickness( | 928 mock_display_settings_provider()->SetDesktopBarThickness( |
| 934 DisplaySettingsProvider::DESKTOP_BAR_ALIGNED_RIGHT, | 929 DisplaySettingsProvider::DESKTOP_BAR_ALIGNED_RIGHT, |
| 935 right_bar_thickness); | 930 right_bar_thickness); |
| 936 MessageLoopForUI::current()->RunUntilIdle(); | |
| 937 EXPECT_EQ(docked_collection->StartingRightPosition(), | 931 EXPECT_EQ(docked_collection->StartingRightPosition(), |
| 938 initial_starting_right_position); | 932 initial_starting_right_position); |
| 939 EXPECT_EQ(docked_collection->work_area().bottom() - bottom_bar_thickness, | 933 EXPECT_EQ(docked_collection->work_area().bottom() - bottom_bar_thickness, |
| 940 panel->GetBounds().bottom()); | 934 panel->GetBounds().bottom()); |
| 941 EXPECT_EQ(docked_collection->StartingRightPosition(), | 935 EXPECT_EQ(docked_collection->StartingRightPosition(), |
| 942 panel->GetBounds().right()); | 936 panel->GetBounds().right()); |
| 943 | 937 |
| 944 panel->Close(); | 938 panel->Close(); |
| 945 } | 939 } |
| 946 | 940 |
| (...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1383 | 1377 |
| 1384 CreatePanelParams params("Initially Inactive", gfx::Rect(), SHOW_AS_INACTIVE); | 1378 CreatePanelParams params("Initially Inactive", gfx::Rect(), SHOW_AS_INACTIVE); |
| 1385 Panel* panel = CreatePanelWithParams(params); | 1379 Panel* panel = CreatePanelWithParams(params); |
| 1386 | 1380 |
| 1387 panel->Activate(); | 1381 panel->Activate(); |
| 1388 WaitForPanelActiveState(panel, SHOW_AS_ACTIVE); | 1382 WaitForPanelActiveState(panel, SHOW_AS_ACTIVE); |
| 1389 | 1383 |
| 1390 panel->Close(); | 1384 panel->Close(); |
| 1391 } | 1385 } |
| 1392 | 1386 |
| 1393 // TODO(dimich): try/enable on other platforms. See bug 103253 for details on | |
| 1394 // why this is disabled on windows. | |
| 1395 #if defined(OS_MACOSX) | |
| 1396 #define MAYBE_MinimizeTwoPanelsWithoutTabbedWindow \ | |
| 1397 MinimizeTwoPanelsWithoutTabbedWindow | |
| 1398 #else | |
| 1399 #define MAYBE_MinimizeTwoPanelsWithoutTabbedWindow \ | |
| 1400 DISABLED_MinimizeTwoPanelsWithoutTabbedWindow | |
| 1401 #endif | |
| 1402 | |
| 1403 // When there are 2 panels and no chrome window, minimizing one panel does | 1387 // When there are 2 panels and no chrome window, minimizing one panel does |
| 1404 // not expand/focuses another. | 1388 // not expand/focuses another. |
| 1405 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, | 1389 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MinimizeTwoPanelsWithoutTabbedWindow) { |
| 1406 MAYBE_MinimizeTwoPanelsWithoutTabbedWindow) { | |
| 1407 CreatePanelParams params("Initially Inactive", gfx::Rect(), SHOW_AS_INACTIVE); | 1390 CreatePanelParams params("Initially Inactive", gfx::Rect(), SHOW_AS_INACTIVE); |
| 1408 Panel* panel1 = CreatePanelWithParams(params); | 1391 Panel* panel1 = CreatePanelWithParams(params); |
| 1409 Panel* panel2 = CreatePanelWithParams(params); | 1392 Panel* panel2 = CreatePanelWithParams(params); |
| 1410 | 1393 |
| 1411 // Close main tabbed window. | 1394 // Close main tabbed window. |
| 1412 content::WindowedNotificationObserver signal( | 1395 content::WindowedNotificationObserver signal( |
| 1413 chrome::NOTIFICATION_BROWSER_CLOSED, | 1396 chrome::NOTIFICATION_BROWSER_CLOSED, |
| 1414 content::Source<Browser>(browser())); | 1397 content::Source<Browser>(browser())); |
| 1415 chrome::CloseWindow(browser()); | 1398 chrome::CloseWindow(browser()); |
| 1416 signal.Wait(); | 1399 signal.Wait(); |
| 1417 | 1400 |
| 1418 EXPECT_EQ(Panel::EXPANDED, panel1->expansion_state()); | 1401 EXPECT_EQ(Panel::EXPANDED, panel1->expansion_state()); |
| 1419 EXPECT_EQ(Panel::EXPANDED, panel2->expansion_state()); | 1402 EXPECT_EQ(Panel::EXPANDED, panel2->expansion_state()); |
| 1420 panel1->Activate(); | 1403 panel1->Activate(); |
| 1421 WaitForPanelActiveState(panel1, SHOW_AS_ACTIVE); | 1404 WaitForPanelActiveState(panel1, SHOW_AS_ACTIVE); |
| 1422 | 1405 |
| 1423 panel1->SetExpansionState(Panel::MINIMIZED); | 1406 panel1->SetExpansionState(Panel::MINIMIZED); |
| 1424 MessageLoop::current()->RunUntilIdle(); | |
| 1425 WaitForPanelActiveState(panel1, SHOW_AS_INACTIVE); | 1407 WaitForPanelActiveState(panel1, SHOW_AS_INACTIVE); |
| 1426 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); | 1408 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); |
| 1427 | 1409 |
| 1428 panel2->SetExpansionState(Panel::MINIMIZED); | 1410 panel2->SetExpansionState(Panel::MINIMIZED); |
| 1429 MessageLoop::current()->RunUntilIdle(); | |
| 1430 WaitForPanelActiveState(panel2, SHOW_AS_INACTIVE); | 1411 WaitForPanelActiveState(panel2, SHOW_AS_INACTIVE); |
| 1431 EXPECT_EQ(Panel::MINIMIZED, panel2->expansion_state()); | 1412 EXPECT_EQ(Panel::MINIMIZED, panel2->expansion_state()); |
| 1432 | 1413 |
| 1433 // Verify that panel1 is still minimized and not active. | 1414 // Verify that panel1 is still minimized and not active. |
| 1434 WaitForPanelActiveState(panel1, SHOW_AS_INACTIVE); | 1415 WaitForPanelActiveState(panel1, SHOW_AS_INACTIVE); |
| 1435 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); | 1416 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); |
| 1436 | 1417 |
| 1437 // Another check for the same. | 1418 // Another check for the same. |
| 1438 EXPECT_FALSE(panel1->IsActive()); | 1419 EXPECT_FALSE(panel1->IsActive()); |
| 1439 EXPECT_FALSE(panel2->IsActive()); | 1420 EXPECT_FALSE(panel2->IsActive()); |
| (...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1823 #else | 1804 #else |
| 1824 #define MAYBE_FocusChangeEventOnMinimize FocusChangeEventOnMinimize | 1805 #define MAYBE_FocusChangeEventOnMinimize FocusChangeEventOnMinimize |
| 1825 #endif | 1806 #endif |
| 1826 IN_PROC_BROWSER_TEST_F(PanelExtensionApiTest, | 1807 IN_PROC_BROWSER_TEST_F(PanelExtensionApiTest, |
| 1827 MAYBE_FocusChangeEventOnMinimize) { | 1808 MAYBE_FocusChangeEventOnMinimize) { |
| 1828 // This is needed so the subsequently created panels can be activated. | 1809 // This is needed so the subsequently created panels can be activated. |
| 1829 // On a Mac, it transforms background-only test process into foreground one. | 1810 // On a Mac, it transforms background-only test process into foreground one. |
| 1830 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); | 1811 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); |
| 1831 ASSERT_TRUE(RunExtensionTest("panels/focus_change_on_minimize")) << message_; | 1812 ASSERT_TRUE(RunExtensionTest("panels/focus_change_on_minimize")) << message_; |
| 1832 } | 1813 } |
| OLD | NEW |