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

Side by Side Diff: chrome/browser/ui/views/frame/immersive_mode_controller_ash_unittest.cc

Issue 2326703002: Do not show shelf or top chrome hints while in Ash immersive mode (Closed)
Patch Set: address comments Created 4 years, 3 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
« no previous file with comments | « chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/ui/views/frame/immersive_mode_controller_ash.h" 5 #include "chrome/browser/ui/views/frame/immersive_mode_controller_ash.h"
6 6
7 #include "ash/common/ash_switches.h" 7 #include "ash/common/ash_switches.h"
8 #include "ash/common/material_design/material_design_controller.h" 8 #include "ash/common/material_design/material_design_controller.h"
9 #include "ash/common/shelf/shelf_layout_manager.h" 9 #include "ash/common/shelf/shelf_layout_manager.h"
10 #include "ash/common/shelf/shelf_types.h" 10 #include "ash/common/shelf/shelf_types.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 EXPECT_TRUE(toolbar->visible()); 128 EXPECT_TRUE(toolbar->visible());
129 129
130 ToggleFullscreen(); 130 ToggleFullscreen();
131 EXPECT_TRUE(browser_view()->GetWidget()->IsFullscreen()); 131 EXPECT_TRUE(browser_view()->GetWidget()->IsFullscreen());
132 EXPECT_TRUE(controller()->IsEnabled()); 132 EXPECT_TRUE(controller()->IsEnabled());
133 EXPECT_FALSE(controller()->IsRevealed()); 133 EXPECT_FALSE(controller()->IsRevealed());
134 EXPECT_FALSE(toolbar->visible()); 134 EXPECT_FALSE(toolbar->visible());
135 // For MD, the browser's top chrome is completely hidden in immersive 135 // For MD, the browser's top chrome is completely hidden in immersive
136 // fullscreen mode. 136 // fullscreen mode.
137 bool is_using_material_design = 137 bool is_using_material_design =
138 ash::MaterialDesignController::IsShelfMaterial(); 138 ash::MaterialDesignController::IsImmersiveModeMaterial();
139 if (is_using_material_design) { 139 if (is_using_material_design) {
140 EXPECT_FALSE(tabstrip->visible()); 140 EXPECT_FALSE(tabstrip->visible());
141 } else { 141 } else {
142 EXPECT_TRUE(tabstrip->visible()); 142 EXPECT_TRUE(tabstrip->visible());
143 EXPECT_TRUE(tabstrip->IsImmersiveStyle()); 143 EXPECT_TRUE(tabstrip->IsImmersiveStyle());
144 } 144 }
145 145
146 // The tab indicators should be flush with the top of the widget. 146 // The tab indicators should be flush with the top of the widget.
147 EXPECT_EQ(0, GetBoundsInWidget(tabstrip).y()); 147 EXPECT_EQ(0, GetBoundsInWidget(tabstrip).y());
148 148
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 ash::Shell::GetPrimaryRootWindowController()->GetShelfLayoutManager(); 255 ash::Shell::GetPrimaryRootWindowController()->GetShelfLayoutManager();
256 ASSERT_EQ(ash::SHELF_VISIBLE, shelf->visibility_state()); 256 ASSERT_EQ(ash::SHELF_VISIBLE, shelf->visibility_state());
257 257
258 // 1) Test that entering tab fullscreen from immersive fullscreen hides the 258 // 1) Test that entering tab fullscreen from immersive fullscreen hides the
259 // tab indicators and the shelf. 259 // tab indicators and the shelf.
260 // Note that tab indicators are removed from MD, so ShouldHideTabIndicators() 260 // Note that tab indicators are removed from MD, so ShouldHideTabIndicators()
261 // always returns true. 261 // always returns true.
262 ToggleFullscreen(); 262 ToggleFullscreen();
263 ASSERT_TRUE(controller()->IsEnabled()); 263 ASSERT_TRUE(controller()->IsEnabled());
264 EXPECT_EQ(ash::SHELF_AUTO_HIDE, shelf->visibility_state()); 264 EXPECT_EQ(ash::SHELF_AUTO_HIDE, shelf->visibility_state());
265 if (!ash::MaterialDesignController::IsShelfMaterial()) 265 if (!ash::MaterialDesignController::IsImmersiveModeMaterial())
266 EXPECT_FALSE(controller()->ShouldHideTabIndicators()); 266 EXPECT_FALSE(controller()->ShouldHideTabIndicators());
267 267
268 SetTabFullscreen(true); 268 SetTabFullscreen(true);
269 ASSERT_TRUE(controller()->IsEnabled()); 269 ASSERT_TRUE(controller()->IsEnabled());
270 EXPECT_EQ(ash::SHELF_HIDDEN, shelf->visibility_state()); 270 EXPECT_EQ(ash::SHELF_HIDDEN, shelf->visibility_state());
271 if (!ash::MaterialDesignController::IsShelfMaterial()) 271 if (!ash::MaterialDesignController::IsImmersiveModeMaterial())
272 EXPECT_TRUE(controller()->ShouldHideTabIndicators()); 272 EXPECT_TRUE(controller()->ShouldHideTabIndicators());
273 273
274 // 2) Test that exiting tab fullscreen shows the tab indicators and autohides 274 // 2) Test that exiting tab fullscreen shows the tab indicators and autohides
275 // the shelf. 275 // the shelf.
276 SetTabFullscreen(false); 276 SetTabFullscreen(false);
277 ASSERT_TRUE(controller()->IsEnabled()); 277 ASSERT_TRUE(controller()->IsEnabled());
278 EXPECT_EQ(ash::SHELF_AUTO_HIDE, shelf->visibility_state()); 278 EXPECT_EQ(ash::SHELF_AUTO_HIDE, shelf->visibility_state());
279 if (!ash::MaterialDesignController::IsShelfMaterial()) 279 if (!ash::MaterialDesignController::IsImmersiveModeMaterial())
280 EXPECT_FALSE(controller()->ShouldHideTabIndicators()); 280 EXPECT_FALSE(controller()->ShouldHideTabIndicators());
281 281
282 // 3) Test that exiting tab fullscreen and immersive fullscreen 282 // 3) Test that exiting tab fullscreen and immersive fullscreen
283 // simultaneously correctly updates the shelf visibility and whether the tab 283 // simultaneously correctly updates the shelf visibility and whether the tab
284 // indicators should be hidden. 284 // indicators should be hidden.
285 SetTabFullscreen(true); 285 SetTabFullscreen(true);
286 ToggleFullscreen(); 286 ToggleFullscreen();
287 ASSERT_FALSE(controller()->IsEnabled()); 287 ASSERT_FALSE(controller()->IsEnabled());
288 EXPECT_EQ(ash::SHELF_VISIBLE, shelf->visibility_state()); 288 EXPECT_EQ(ash::SHELF_VISIBLE, shelf->visibility_state());
289 if (!ash::MaterialDesignController::IsShelfMaterial()) 289 if (!ash::MaterialDesignController::IsImmersiveModeMaterial())
290 EXPECT_TRUE(controller()->ShouldHideTabIndicators()); 290 EXPECT_TRUE(controller()->ShouldHideTabIndicators());
291 } 291 }
292 292
293 // Ensure the circular tab-loading throbbers are not painted as layers in 293 // Ensure the circular tab-loading throbbers are not painted as layers in
294 // immersive fullscreen, since the tab strip may animate in or out without 294 // immersive fullscreen, since the tab strip may animate in or out without
295 // moving the layers. 295 // moving the layers.
296 TEST_F(ImmersiveModeControllerAshTest, LayeredSpinners) { 296 TEST_F(ImmersiveModeControllerAshTest, LayeredSpinners) {
297 AddTab(browser(), GURL("about:blank")); 297 AddTab(browser(), GURL("about:blank"));
298 298
299 TabStrip* tabstrip = browser_view()->tabstrip(); 299 TabStrip* tabstrip = browser_view()->tabstrip();
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 376
377 // Exit immersive fullscreen. The web contents should be back below the window 377 // Exit immersive fullscreen. The web contents should be back below the window
378 // header. 378 // header.
379 ToggleFullscreen(); 379 ToggleFullscreen();
380 EXPECT_FALSE(browser_view()->GetWidget()->IsFullscreen()); 380 EXPECT_FALSE(browser_view()->GetWidget()->IsFullscreen());
381 EXPECT_FALSE(controller()->IsEnabled()); 381 EXPECT_FALSE(controller()->IsEnabled());
382 EXPECT_FALSE(tabstrip->visible()); 382 EXPECT_FALSE(tabstrip->visible());
383 EXPECT_FALSE(toolbar->visible()); 383 EXPECT_FALSE(toolbar->visible());
384 EXPECT_EQ(header_height, GetBoundsInWidget(contents_web_view).y()); 384 EXPECT_EQ(header_height, GetBoundsInWidget(contents_web_view).y());
385 } 385 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698