Index: chrome/browser/ui/panels/detached_panel_browsertest.cc |
diff --git a/chrome/browser/ui/panels/detached_panel_browsertest.cc b/chrome/browser/ui/panels/detached_panel_browsertest.cc |
deleted file mode 100644 |
index f674fcfbcfd602ab88b4bef875c0647ee8f00e66..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/panels/detached_panel_browsertest.cc |
+++ /dev/null |
@@ -1,258 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "base/message_loop/message_loop.h" |
-#include "chrome/browser/ui/panels/base_panel_browser_test.h" |
-#include "chrome/browser/ui/panels/detached_panel_collection.h" |
-#include "chrome/browser/ui/panels/native_panel.h" |
-#include "chrome/browser/ui/panels/panel.h" |
-#include "chrome/browser/ui/panels/panel_manager.h" |
- |
-class DetachedPanelBrowserTest : public BasePanelBrowserTest { |
-}; |
- |
-IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, CheckDetachedPanelProperties) { |
- PanelManager* panel_manager = PanelManager::GetInstance(); |
- DetachedPanelCollection* detached_collection = |
- panel_manager->detached_collection(); |
- |
- // Create an initially detached panel (as opposed to other tests which create |
- // a docked panel, then detaches it). |
- gfx::Rect bounds(300, 200, 250, 200); |
- CreatePanelParams params("1", bounds, SHOW_AS_ACTIVE); |
- params.create_mode = PanelManager::CREATE_AS_DETACHED; |
- Panel* panel = CreatePanelWithParams(params); |
- std::unique_ptr<NativePanelTesting> panel_testing( |
- CreateNativePanelTesting(panel)); |
- |
- EXPECT_EQ(1, panel_manager->num_panels()); |
- EXPECT_TRUE(detached_collection->HasPanel(panel)); |
- |
- EXPECT_EQ(bounds.x(), panel->GetBounds().x()); |
- // Ignore checking y position since the detached panel will be placed near |
- // the top if the stacking mode is enabled. |
- if (!PanelManager::IsPanelStackingEnabled()) |
- EXPECT_EQ(bounds.y(), panel->GetBounds().y()); |
- EXPECT_EQ(bounds.width(), panel->GetBounds().width()); |
- EXPECT_EQ(bounds.height(), panel->GetBounds().height()); |
- EXPECT_FALSE(panel->IsAlwaysOnTop()); |
- |
- EXPECT_TRUE(panel_testing->IsButtonVisible(panel::CLOSE_BUTTON)); |
- // The minimize button will not be shown on some Linux desktop environment |
- // that does not support system minimize. |
- if (PanelManager::CanUseSystemMinimize() && |
- PanelManager::IsPanelStackingEnabled()) { |
- EXPECT_TRUE(panel_testing->IsButtonVisible(panel::MINIMIZE_BUTTON)); |
- } else { |
- EXPECT_FALSE(panel_testing->IsButtonVisible(panel::MINIMIZE_BUTTON)); |
- } |
- EXPECT_FALSE(panel_testing->IsButtonVisible(panel::RESTORE_BUTTON)); |
- |
- EXPECT_EQ(panel::RESIZABLE_ALL, panel->CanResizeByMouse()); |
- |
- EXPECT_EQ(panel::ALL_ROUNDED, panel_testing->GetWindowCornerStyle()); |
- |
- Panel::AttentionMode expected_attention_mode = |
- static_cast<Panel::AttentionMode>(Panel::USE_PANEL_ATTENTION | |
- Panel::USE_SYSTEM_ATTENTION); |
- EXPECT_EQ(expected_attention_mode, panel->attention_mode()); |
- |
- panel_manager->CloseAll(); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, DrawAttentionOnActive) { |
- // Create a detached panel that is initially active. |
- Panel* panel = CreateDetachedPanel("1", gfx::Rect(300, 200, 250, 200)); |
- std::unique_ptr<NativePanelTesting> native_panel_testing( |
- CreateNativePanelTesting(panel)); |
- |
- // Test that the attention should not be drawn if the detached panel is in |
- // focus. |
- EXPECT_FALSE(panel->IsDrawingAttention()); |
- panel->FlashFrame(true); |
- EXPECT_FALSE(panel->IsDrawingAttention()); |
- EXPECT_FALSE(native_panel_testing->VerifyDrawingAttention()); |
- |
- panel->Close(); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, DrawAttentionOnInactive) { |
- // Create an inactive detached panel. |
- Panel* panel = |
- CreateInactiveDetachedPanel("1", gfx::Rect(300, 200, 250, 200)); |
- std::unique_ptr<NativePanelTesting> native_panel_testing( |
- CreateNativePanelTesting(panel)); |
- |
- // Test that the attention is drawn when the detached panel is not in focus. |
- EXPECT_FALSE(panel->IsActive()); |
- EXPECT_FALSE(panel->IsDrawingAttention()); |
- panel->FlashFrame(true); |
- EXPECT_TRUE(panel->IsDrawingAttention()); |
- EXPECT_TRUE(native_panel_testing->VerifyDrawingAttention()); |
- |
- // Stop drawing attention. |
- panel->FlashFrame(false); |
- EXPECT_FALSE(panel->IsDrawingAttention()); |
- EXPECT_FALSE(native_panel_testing->VerifyDrawingAttention()); |
- |
- PanelManager::GetInstance()->CloseAll(); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, DrawAttentionResetOnActivate) { |
- // Create an inactive detached panel. |
- Panel* panel = |
- CreateInactiveDetachedPanel("1", gfx::Rect(300, 200, 250, 200)); |
- std::unique_ptr<NativePanelTesting> native_panel_testing( |
- CreateNativePanelTesting(panel)); |
- |
- // Test that the attention is drawn when the detached panel is not in focus. |
- panel->FlashFrame(true); |
- EXPECT_TRUE(panel->IsDrawingAttention()); |
- EXPECT_TRUE(native_panel_testing->VerifyDrawingAttention()); |
- |
- // Test that the attention is cleared when panel gets focus. |
- panel->Activate(); |
- WaitForPanelActiveState(panel, SHOW_AS_ACTIVE); |
- EXPECT_FALSE(panel->IsDrawingAttention()); |
- EXPECT_FALSE(native_panel_testing->VerifyDrawingAttention()); |
- |
- PanelManager::GetInstance()->CloseAll(); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, ClickTitlebar) { |
- Panel* panel = CreateDetachedPanel("1", gfx::Rect(300, 200, 250, 200)); |
- EXPECT_FALSE(panel->IsMinimized()); |
- |
- // Clicking on an active detached panel's titlebar has no effect, regardless |
- // of modifier. |
- std::unique_ptr<NativePanelTesting> test_panel( |
- CreateNativePanelTesting(panel)); |
- test_panel->PressLeftMouseButtonTitlebar(panel->GetBounds().origin()); |
- test_panel->ReleaseMouseButtonTitlebar(); |
- EXPECT_TRUE(panel->IsActive()); |
- EXPECT_FALSE(panel->IsMinimized()); |
- |
- test_panel->PressLeftMouseButtonTitlebar(panel->GetBounds().origin(), |
- panel::APPLY_TO_ALL); |
- test_panel->ReleaseMouseButtonTitlebar(panel::APPLY_TO_ALL); |
- EXPECT_TRUE(panel->IsActive()); |
- EXPECT_FALSE(panel->IsMinimized()); |
- |
- // Clicking on an inactive detached panel's titlebar activates it. |
- DeactivatePanel(panel); |
- test_panel->PressLeftMouseButtonTitlebar(panel->GetBounds().origin()); |
- test_panel->ReleaseMouseButtonTitlebar(); |
- WaitForPanelActiveState(panel, SHOW_AS_ACTIVE); |
- EXPECT_FALSE(panel->IsMinimized()); |
- |
- PanelManager::GetInstance()->CloseAll(); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, |
- UpdateDetachedPanelOnPrimaryDisplayChange) { |
- PanelManager* panel_manager = PanelManager::GetInstance(); |
- |
- // Create a big detached panel on the primary display. |
- gfx::Rect initial_bounds(50, 50, 700, 500); |
- Panel* panel = CreateDetachedPanel("1", initial_bounds); |
- EXPECT_EQ(initial_bounds, panel->GetBounds()); |
- |
- // Make the primary display smaller. |
- // Expect that the panel should be resized to fit within the display. |
- gfx::Rect primary_display_area(0, 0, 500, 300); |
- gfx::Rect primary_work_area(0, 0, 500, 280); |
- mock_display_settings_provider()->SetPrimaryDisplay( |
- primary_display_area, primary_work_area); |
- |
- gfx::Rect bounds = panel->GetBounds(); |
- EXPECT_LE(primary_work_area.x(), bounds.x()); |
- EXPECT_LE(bounds.x(), primary_work_area.right()); |
- EXPECT_LE(primary_work_area.y(), bounds.y()); |
- EXPECT_LE(bounds.y(), primary_work_area.bottom()); |
- |
- panel_manager->CloseAll(); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, |
- UpdateDetachedPanelOnSecondaryDisplayChange) { |
- PanelManager* panel_manager = PanelManager::GetInstance(); |
- |
- // Setup 2 displays with secondary display on the right side of primary |
- // display. |
- gfx::Rect primary_display_area(0, 0, 400, 600); |
- gfx::Rect primary_work_area(0, 0, 400, 560); |
- mock_display_settings_provider()->SetPrimaryDisplay( |
- primary_display_area, primary_work_area); |
- gfx::Rect secondary_display_area(400, 0, 400, 500); |
- gfx::Rect secondary_work_area(400, 0, 400, 460); |
- mock_display_settings_provider()->SetSecondaryDisplay( |
- secondary_display_area, secondary_work_area); |
- |
- // Create a big detached panel on the seconday display. |
- gfx::Rect initial_bounds(450, 50, 350, 400); |
- Panel* panel = CreateDetachedPanel("1", initial_bounds); |
- EXPECT_EQ(initial_bounds, panel->GetBounds()); |
- |
- // Move down the secondary display and make it smaller. |
- // Expect that the panel should be resized to fit within the display. |
- secondary_display_area.SetRect(400, 100, 300, 400); |
- secondary_work_area.SetRect(400, 100, 300, 360); |
- mock_display_settings_provider()->SetSecondaryDisplay( |
- secondary_display_area, secondary_work_area); |
- |
- gfx::Rect bounds = panel->GetBounds(); |
- EXPECT_LE(secondary_work_area.x(), bounds.x()); |
- EXPECT_LE(bounds.x(), secondary_work_area.right()); |
- EXPECT_LE(secondary_work_area.y(), bounds.y()); |
- EXPECT_LE(bounds.y(), secondary_work_area.bottom()); |
- |
- panel_manager->CloseAll(); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, |
- KeepShowingDetachedPanelCreatedBeforeFullScreenMode) { |
- // Create a detached panel. |
- CreatePanelParams params("1", gfx::Rect(300, 200, 250, 200), SHOW_AS_ACTIVE); |
- params.create_mode = PanelManager::CREATE_AS_DETACHED; |
- Panel* panel = CreatePanelWithParams(params); |
- std::unique_ptr<NativePanelTesting> panel_testing( |
- CreateNativePanelTesting(panel)); |
- |
- // Panel should be visible at first. |
- EXPECT_TRUE(panel_testing->IsWindowVisible()); |
- |
- // Panel's visibility should not be affected when entering full-screen mode. |
- mock_display_settings_provider()->EnableFullScreenMode(true); |
- EXPECT_TRUE(panel_testing->IsWindowVisible()); |
- |
- // Panel's visibility should not be affected when leaving full-screen mode. |
- mock_display_settings_provider()->EnableFullScreenMode(false); |
- EXPECT_TRUE(panel_testing->IsWindowVisible()); |
- |
- PanelManager::GetInstance()->CloseAll(); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(DetachedPanelBrowserTest, |
- HideDetachedPanelCreatedOnFullScreenMode) { |
- // Enable full-screen mode first. |
- mock_display_settings_provider()->EnableFullScreenMode(true); |
- |
- // Create a detached panel without waiting it to be shown since it is not |
- // supposed to be shown on full-screen mode. |
- CreatePanelParams params("1", gfx::Rect(300, 200, 250, 200), SHOW_AS_ACTIVE); |
- params.create_mode = PanelManager::CREATE_AS_DETACHED; |
- params.wait_for_fully_created = false; |
- Panel* panel = CreatePanelWithParams(params); |
- std::unique_ptr<NativePanelTesting> panel_testing( |
- CreateNativePanelTesting(panel)); |
- |
- // Panel should not be shown on full-screen mode. |
- EXPECT_FALSE(panel_testing->IsWindowVisible()); |
- |
- // Panel should become visible when leaving full-screen mode. |
- mock_display_settings_provider()->EnableFullScreenMode(false); |
- EXPECT_TRUE(panel_testing->IsWindowVisible()); |
- |
- PanelManager::GetInstance()->CloseAll(); |
-} |