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

Side by Side 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "ash/root_window_controller.h" 5 #include "ash/root_window_controller.h"
6 6
7 #include "ash/display/display_controller.h" 7 #include "ash/display/display_controller.h"
8 #include "ash/session_state_delegate.h" 8 #include "ash/session_state_delegate.h"
9 #include "ash/shelf/shelf_layout_manager.h" 9 #include "ash/shelf/shelf_layout_manager.h"
10 #include "ash/shell.h" 10 #include "ash/shell.h"
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 controller->GetSystemModalLayoutManager(NULL)); 365 controller->GetSystemModalLayoutManager(NULL));
366 366
367 views::Widget* session_modal_widget = 367 views::Widget* session_modal_widget =
368 CreateModalWidget(gfx::Rect(300, 10, 100, 100)); 368 CreateModalWidget(gfx::Rect(300, 10, 100, 100));
369 EXPECT_EQ(Shell::GetContainer(controller->root_window(), 369 EXPECT_EQ(Shell::GetContainer(controller->root_window(),
370 internal::kShellWindowId_SystemModalContainer)->layout_manager(), 370 internal::kShellWindowId_SystemModalContainer)->layout_manager(),
371 controller->GetSystemModalLayoutManager( 371 controller->GetSystemModalLayoutManager(
372 session_modal_widget->GetNativeView())); 372 session_modal_widget->GetNativeView()));
373 } 373 }
374 374
375 // Ensure a workspace with two windows reports immersive mode even if only 375 // Test that GetFullscreenWindow() returns a fullscreen window only if the
376 // one has the property set. 376 // fullscreen window is in the active workspace.
377 TEST_F(RootWindowControllerTest, ImmersiveMode) { 377 TEST_F(RootWindowControllerTest, GetFullscreenWindow) {
378 UpdateDisplay("600x600"); 378 UpdateDisplay("600x600");
379 internal::RootWindowController* controller = 379 internal::RootWindowController* controller =
380 Shell::GetInstance()->GetPrimaryRootWindowController(); 380 Shell::GetInstance()->GetPrimaryRootWindowController();
381 381
382 // Open a maximized window. 382 Widget* w1 = CreateTestWidget(gfx::Rect(0, 0, 100, 100));
383 Widget* w1 = CreateTestWidget(gfx::Rect(0, 1, 250, 251));
384 w1->Maximize(); 383 w1->Maximize();
384 Widget* w2 = CreateTestWidget(gfx::Rect(0, 0, 100, 100));
385 w2->SetFullscreen(true);
386 // |w3| is a transient child of |w2|.
387 Widget* w3 = Widget::CreateWindowWithParentAndBounds(NULL,
388 w2->GetNativeWindow(), gfx::Rect(0, 0, 100, 100));
385 389
386 // Immersive mode off by default. 390 // Test that GetFullscreenWindow() finds the fullscreen window when one of
387 EXPECT_FALSE(controller->IsImmersiveMode()); 391 // its transient children is active.
392 w3->Activate();
393 EXPECT_EQ(w2->GetNativeWindow(), controller->GetFullscreenWindow());
388 394
389 // Enter immersive mode. 395 // Activate the maximized window's workspace. GetFullscreenWindow() should
390 w1->GetNativeWindow()->SetProperty(ash::internal::kImmersiveModeKey, true); 396 // fail because the fullscreen window's workspace is no longer active.
391 EXPECT_TRUE(controller->IsImmersiveMode()); 397 w1->Activate();
398 EXPECT_FALSE(controller->GetFullscreenWindow());
392 399
393 // Add a child, like a print window. Still in immersive mode. 400 // If the fullscreen window is active, GetFullscreenWindow() should find it.
394 Widget* w2 = 401 w2->Activate();
395 Widget::CreateWindowWithParentAndBounds(NULL, 402 EXPECT_EQ(w2->GetNativeWindow(), controller->GetFullscreenWindow());
396 w1->GetNativeWindow(),
397 gfx::Rect(0, 1, 150, 151));
398 w2->Show();
399 EXPECT_TRUE(controller->IsImmersiveMode());
400 } 403 }
401 404
402 } // namespace test 405 } // namespace test
403 } // namespace ash 406 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698