Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Unified Diff: ash/root_window_controller_unittest.cc

Issue 14340007: Hide the tab indicators and the shelf when in immersive + tab fullscreen (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed kImmersiveModeKey Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/root_window_controller_unittest.cc
diff --git a/ash/root_window_controller_unittest.cc b/ash/root_window_controller_unittest.cc
index c5bd68da6e6f63b4743d94865f97c73da97669c0..55b3ed26b2c7469df266bb096b2d2e205b893165 100644
--- a/ash/root_window_controller_unittest.cc
+++ b/ash/root_window_controller_unittest.cc
@@ -372,31 +372,34 @@ TEST_F(RootWindowControllerTest, ModalContainerNotLoggedInLoggedIn) {
session_modal_widget->GetNativeView()));
}
-// Ensure a workspace with two windows reports immersive mode even if only
-// one has the property set.
-TEST_F(RootWindowControllerTest, ImmersiveMode) {
+// Test that GetFullscreenWindow() returns a fullscreen window only if the
+// fullscreen window is in the active workspace.
+TEST_F(RootWindowControllerTest, GetFullscreenWindow) {
UpdateDisplay("600x600");
internal::RootWindowController* controller =
Shell::GetInstance()->GetPrimaryRootWindowController();
- // Open a maximized window.
- Widget* w1 = CreateTestWidget(gfx::Rect(0, 1, 250, 251));
+ Widget* w1 = CreateTestWidget(gfx::Rect(0, 0, 100, 100));
w1->Maximize();
-
- // Immersive mode off by default.
- EXPECT_FALSE(controller->IsImmersiveMode());
-
- // Enter immersive mode.
- w1->GetNativeWindow()->SetProperty(ash::internal::kImmersiveModeKey, true);
- EXPECT_TRUE(controller->IsImmersiveMode());
-
- // Add a child, like a print window. Still in immersive mode.
- Widget* w2 =
- Widget::CreateWindowWithParentAndBounds(NULL,
- w1->GetNativeWindow(),
- gfx::Rect(0, 1, 150, 151));
- w2->Show();
- EXPECT_TRUE(controller->IsImmersiveMode());
+ Widget* w2 = CreateTestWidget(gfx::Rect(0, 0, 100, 100));
+ w2->SetFullscreen(true);
+ // |w3| is a transient child of |w2|.
+ Widget* w3 = Widget::CreateWindowWithParentAndBounds(NULL,
+ w2->GetNativeWindow(), gfx::Rect(0, 0, 100, 100));
+
+ // Test that GetFullscreenWindow() finds the fullscreen window when one of
+ // its transient children is active.
+ w3->Activate();
+ EXPECT_EQ(w2->GetNativeWindow(), controller->GetFullscreenWindow());
+
+ // Activate the maximized window's workspace. GetFullscreenWindow() should
+ // fail because the fullscreen window's workspace is no longer active.
+ w1->Activate();
+ EXPECT_FALSE(controller->GetFullscreenWindow());
+
+ // If the fullscreen window is active, GetFullscreenWindow() should find it.
+ w2->Activate();
+ EXPECT_EQ(w2->GetNativeWindow(), controller->GetFullscreenWindow());
}
} // namespace test

Powered by Google App Engine
This is Rietveld 408576698