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

Unified Diff: ash/shelf/shelf_layout_manager.cc

Issue 2248913005: Revert of Use MD-ash's auto hide behavior for arc++ windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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
« no previous file with comments | « ash/shelf/shelf_layout_manager.h ('k') | ash/shelf/shelf_layout_manager_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/shelf/shelf_layout_manager.cc
diff --git a/ash/shelf/shelf_layout_manager.cc b/ash/shelf/shelf_layout_manager.cc
index a2dbe00bc3f0470fe49dd2d9edf711f900eaa364..a4f758bb09fb8a1c7c388a4c82a533f309e85851 100644
--- a/ash/shelf/shelf_layout_manager.cc
+++ b/ash/shelf/shelf_layout_manager.cc
@@ -238,9 +238,7 @@
// Bail out early before the shelf is initialized or after it is destroyed.
if (!controller || !shelf_widget_->shelf() || in_shutdown_)
return;
- bool was_invisible_auto_hide_shelf = invisible_auto_hide_shelf_;
- // Always reset to be safe.
- invisible_auto_hide_shelf_ = false;
+
if (state_.is_screen_locked || state_.is_adding_user_screen) {
SetState(SHELF_VISIBLE);
} else if (WmShell::Get()->IsPinned()) {
@@ -252,22 +250,12 @@
controller->GetWorkspaceWindowState());
switch (window_state) {
case wm::WORKSPACE_WINDOW_STATE_FULL_SCREEN: {
- switch (GetShelfModeForFullscreen()) {
- case wm::WindowState::SHELF_HIDDEN:
- SetState(SHELF_HIDDEN);
- break;
- case wm::WindowState::SHELF_AUTO_HIDE_INVISIBLE:
- invisible_auto_hide_shelf_ = true;
- case wm::WindowState::SHELF_AUTO_HIDE_VISIBLE:
- if (was_invisible_auto_hide_shelf != invisible_auto_hide_shelf_ &&
- state_.visibility_state == SHELF_AUTO_HIDE) {
- // A hack to swtich the visibility state correctly
- // between auto hide visible to auto hide invisible.
- // TODO(oshima): Remove this once MD ash is launched.
- SetState(SHELF_HIDDEN);
- }
- SetState(SHELF_AUTO_HIDE);
- break;
+ if (IsShelfHiddenForFullscreen()) {
+ SetState(SHELF_HIDDEN);
+ } else {
+ // The shelf is sometimes not hidden when in immersive fullscreen.
+ // Force the shelf to be auto hidden in this case.
+ SetState(SHELF_AUTO_HIDE);
}
break;
}
@@ -807,7 +795,7 @@
} else {
translate = gesture_drag_amount_;
}
- int shelf_insets = GetShelfInsetsForAutoHide();
+ int shelf_insets = GetShelfConstant(SHELF_INSETS_FOR_AUTO_HIDE);
if (horizontal) {
// Move and size the shelf with the gesture.
int shelf_height = target_bounds->shelf_bounds_in_root.height() - translate;
@@ -1000,7 +988,7 @@
if (state.visibility_state == SHELF_VISIBLE)
return size;
if (state.visibility_state == SHELF_AUTO_HIDE)
- return GetShelfInsetsForAutoHide();
+ return GetShelfConstant(SHELF_INSETS_FOR_AUTO_HIDE);
return 0;
}
@@ -1057,8 +1045,7 @@
// In Chrome OS Material Design, when shelf is hidden during auto hide state,
// target bounds are also hidden. So the window can extend to the edge of
// screen.
- if (ash::MaterialDesignController::IsShelfMaterial() ||
- invisible_auto_hide_shelf_) {
+ if (ash::MaterialDesignController::IsShelfMaterial()) {
return (state.visibility_state == SHELF_AUTO_HIDE &&
state.auto_hide_state == SHELF_AUTO_HIDE_SHOWN)
? 1.0f
@@ -1067,19 +1054,11 @@
return (state.visibility_state == SHELF_AUTO_HIDE) ? 1.0f : 0.0f;
}
-ash::wm::WindowState::FullscreenShelfMode
-ShelfLayoutManager::GetShelfModeForFullscreen() const {
- const WmWindow* fullscreen_window = wm::GetWindowForFullscreenMode(
- WmLookup::Get()->GetWindowForWidget(shelf_widget_));
- return fullscreen_window->GetWindowState()->shelf_mode_in_fullscreen();
-}
-
bool ShelfLayoutManager::IsShelfHiddenForFullscreen() const {
const WmWindow* fullscreen_window = wm::GetWindowForFullscreenMode(
WmLookup::Get()->GetWindowForWidget(shelf_widget_));
return fullscreen_window &&
- fullscreen_window->GetWindowState()->shelf_mode_in_fullscreen() ==
- ash::wm::WindowState::SHELF_HIDDEN;
+ fullscreen_window->GetWindowState()->hide_shelf_when_fullscreen();
}
////////////////////////////////////////////////////////////////////////////////
@@ -1177,10 +1156,4 @@
gesture_drag_status_ = GESTURE_DRAG_NONE;
}
-int ShelfLayoutManager::GetShelfInsetsForAutoHide() const {
- if (invisible_auto_hide_shelf_)
- return 0;
- return GetShelfConstant(SHELF_INSETS_FOR_AUTO_HIDE);
-}
-
} // namespace ash
« no previous file with comments | « ash/shelf/shelf_layout_manager.h ('k') | ash/shelf/shelf_layout_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698