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

Side by Side Diff: ash/shelf/shelf_layout_manager_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
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/common/shelf/shelf_layout_manager.h" 5 #include "ash/common/shelf/shelf_layout_manager.h"
6 6
7 #include "ash/aura/wm_shelf_aura.h" 7 #include "ash/aura/wm_shelf_aura.h"
8 #include "ash/aura/wm_window_aura.h" 8 #include "ash/aura/wm_window_aura.h"
9 #include "ash/common/accelerators/accelerator_controller.h" 9 #include "ash/common/accelerators/accelerator_controller.h"
10 #include "ash/common/accelerators/accelerator_table.h" 10 #include "ash/common/accelerators/accelerator_table.h"
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 175
176 // if the shelf is being dimmed test dimmer bounds as well. 176 // if the shelf is being dimmed test dimmer bounds as well.
177 if (GetShelfWidget()->GetDimsShelf()) 177 if (GetShelfWidget()->GetDimsShelf())
178 EXPECT_EQ(GetShelfWidget()->GetWindowBoundsInScreen(), 178 EXPECT_EQ(GetShelfWidget()->GetWindowBoundsInScreen(),
179 GetShelfWidget()->GetDimmerBoundsForTest()); 179 GetShelfWidget()->GetDimmerBoundsForTest());
180 180
181 // Auto hidden shelf has a visible height of 0 in MD (where this inequality 181 // Auto hidden shelf has a visible height of 0 in MD (where this inequality
182 // does not apply); whereas auto hidden shelf has a visible height of 3 in 182 // does not apply); whereas auto hidden shelf has a visible height of 3 in
183 // non-MD. 183 // non-MD.
184 WmShelf* shelf = test::AshTestBase::GetPrimaryShelf(); 184 WmShelf* shelf = test::AshTestBase::GetPrimaryShelf();
185 if (!ash::MaterialDesignController::IsShelfMaterial() || 185 if (!ash::MaterialDesignController::IsImmersiveModeMaterial() ||
186 shelf->GetAutoHideState() != ash::SHELF_AUTO_HIDE_HIDDEN) { 186 shelf->GetAutoHideState() != ash::SHELF_AUTO_HIDE_HIDDEN) {
187 EXPECT_GE(shelf_bounds.height(), 187 EXPECT_GE(shelf_bounds.height(),
188 auto_hidden_shelf_widget_bounds_.height()); 188 auto_hidden_shelf_widget_bounds_.height());
189 } 189 }
190 190
191 float scroll_delta = 191 float scroll_delta =
192 GetShelfLayoutManager()->PrimaryAxisValue(scroll_.y(), scroll_.x()); 192 GetShelfLayoutManager()->PrimaryAxisValue(scroll_.y(), scroll_.x());
193 bool increasing_drag = 193 bool increasing_drag =
194 GetShelfLayoutManager()->SelectValueForShelfAlignment( 194 GetShelfLayoutManager()->SelectValueForShelfAlignment(
195 scroll_delta<0, scroll_delta> 0, scroll_delta < 0); 195 scroll_delta<0, scroll_delta> 0, scroll_delta < 0);
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 widget->SetFullscreen(true); 524 widget->SetFullscreen(true);
525 wm::GetWindowState(window)->set_shelf_mode_in_fullscreen( 525 wm::GetWindowState(window)->set_shelf_mode_in_fullscreen(
526 ash::wm::WindowState::SHELF_AUTO_HIDE_VISIBLE); 526 ash::wm::WindowState::SHELF_AUTO_HIDE_VISIBLE);
527 layout_manager->UpdateVisibilityState(); 527 layout_manager->UpdateVisibilityState();
528 528
529 gfx::Rect bounds_fullscreen = window->bounds(); 529 gfx::Rect bounds_fullscreen = window->bounds();
530 EXPECT_TRUE(widget->IsFullscreen()); 530 EXPECT_TRUE(widget->IsFullscreen());
531 531
532 // Shelf hints are removed in immersive full screen mode in MD; and some shelf 532 // Shelf hints are removed in immersive full screen mode in MD; and some shelf
533 // hints are shown in non-MD mode. 533 // hints are shown in non-MD mode.
534 if (ash::MaterialDesignController::IsShelfMaterial()) 534 if (ash::MaterialDesignController::IsImmersiveModeMaterial())
535 EXPECT_EQ(bounds_noshelf.ToString(), bounds_fullscreen.ToString()); 535 EXPECT_EQ(bounds_noshelf.ToString(), bounds_fullscreen.ToString());
536 else 536 else
537 EXPECT_NE(bounds_noshelf.ToString(), bounds_fullscreen.ToString()); 537 EXPECT_NE(bounds_noshelf.ToString(), bounds_fullscreen.ToString());
538 538
539 // Swipe up. This should show the shelf. 539 // Swipe up. This should show the shelf.
540 end = below_start - delta; 540 end = below_start - delta;
541 generator.GestureScrollSequenceWithCallback( 541 generator.GestureScrollSequenceWithCallback(
542 below_start, end, kTimeDelta, kNumScrollSteps, 542 below_start, end, kTimeDelta, kNumScrollSteps,
543 base::Bind(&ShelfDragCallback::ProcessScroll, 543 base::Bind(&ShelfDragCallback::ProcessScroll,
544 base::Unretained(&handler))); 544 base::Unretained(&handler)));
(...skipping 19 matching lines...) Expand all
564 // Set the shelf to be auto hide and invisible when |widget| is fullscreen. 564 // Set the shelf to be auto hide and invisible when |widget| is fullscreen.
565 // (used in arc immersive fullscreen) 565 // (used in arc immersive fullscreen)
566 wm::GetWindowState(window)->set_shelf_mode_in_fullscreen( 566 wm::GetWindowState(window)->set_shelf_mode_in_fullscreen(
567 ash::wm::WindowState::SHELF_AUTO_HIDE_INVISIBLE); 567 ash::wm::WindowState::SHELF_AUTO_HIDE_INVISIBLE);
568 layout_manager->UpdateVisibilityState(); 568 layout_manager->UpdateVisibilityState();
569 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->GetVisibilityState()); 569 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->GetVisibilityState());
570 EXPECT_TRUE(widget->IsFullscreen()); 570 EXPECT_TRUE(widget->IsFullscreen());
571 EXPECT_EQ(display::Screen::GetScreen()->GetPrimaryDisplay().bounds(), 571 EXPECT_EQ(display::Screen::GetScreen()->GetPrimaryDisplay().bounds(),
572 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); 572 display::Screen::GetScreen()->GetPrimaryDisplay().work_area());
573 573
574 // Switch from invisible to visible autodhide. 574 // Switch from invisible to visible autohide.
575 wm::GetWindowState(window)->set_shelf_mode_in_fullscreen( 575 wm::GetWindowState(window)->set_shelf_mode_in_fullscreen(
576 ash::wm::WindowState::SHELF_AUTO_HIDE_VISIBLE); 576 ash::wm::WindowState::SHELF_AUTO_HIDE_VISIBLE);
577 layout_manager->UpdateVisibilityState(); 577 layout_manager->UpdateVisibilityState();
578 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->GetVisibilityState()); 578 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->GetVisibilityState());
579 EXPECT_TRUE(widget->IsFullscreen()); 579 EXPECT_TRUE(widget->IsFullscreen());
580 EXPECT_NE(display::Screen::GetScreen()->GetPrimaryDisplay().bounds(),
581 display::Screen::GetScreen()->GetPrimaryDisplay().work_area());
582 580
583 // Switch from invisible to visible autodhide. 581 // Auto hidden shelf has a visible height of 0 in MD (where this inequality
582 // does not apply); whereas auto hidden shelf has a visible height of 3 in
583 // non-MD.
584 if (ash::MaterialDesignController::IsImmersiveModeMaterial()) {
585 EXPECT_EQ(display::Screen::GetScreen()->GetPrimaryDisplay().bounds(),
586 display::Screen::GetScreen()->GetPrimaryDisplay().work_area());
587 } else {
588 EXPECT_NE(display::Screen::GetScreen()->GetPrimaryDisplay().bounds(),
589 display::Screen::GetScreen()->GetPrimaryDisplay().work_area());
590 }
591
592 // Switch from visible to invisible autohide.
584 wm::GetWindowState(window)->set_shelf_mode_in_fullscreen( 593 wm::GetWindowState(window)->set_shelf_mode_in_fullscreen(
585 ash::wm::WindowState::SHELF_AUTO_HIDE_INVISIBLE); 594 ash::wm::WindowState::SHELF_AUTO_HIDE_INVISIBLE);
586 layout_manager->UpdateVisibilityState(); 595 layout_manager->UpdateVisibilityState();
587 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->GetVisibilityState()); 596 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->GetVisibilityState());
588 EXPECT_TRUE(widget->IsFullscreen()); 597 EXPECT_TRUE(widget->IsFullscreen());
589 EXPECT_EQ(display::Screen::GetScreen()->GetPrimaryDisplay().bounds(), 598 EXPECT_EQ(display::Screen::GetScreen()->GetPrimaryDisplay().bounds(),
590 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); 599 display::Screen::GetScreen()->GetPrimaryDisplay().work_area());
591 600
592 // Set the shelf to be hidden when |widget| is fullscreen. (eg tab fullscreen 601 // Set the shelf to be hidden when |widget| is fullscreen. (eg tab fullscreen
593 // with or without immersive browser fullscreen). 602 // with or without immersive browser fullscreen).
(...skipping 1481 matching lines...) Expand 10 before | Expand all | Expand 10 after
2075 // Open keyboard in sticky mode. 2084 // Open keyboard in sticky mode.
2076 kb_controller->ShowKeyboard(true); 2085 kb_controller->ShowKeyboard(true);
2077 layout_manager->OnKeyboardBoundsChanging(keyboard_bounds()); 2086 layout_manager->OnKeyboardBoundsChanging(keyboard_bounds());
2078 2087
2079 // Work area should be changed. 2088 // Work area should be changed.
2080 EXPECT_NE(orig_work_area, 2089 EXPECT_NE(orig_work_area,
2081 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); 2090 display::Screen::GetScreen()->GetPrimaryDisplay().work_area());
2082 } 2091 }
2083 2092
2084 } // namespace ash 2093 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698