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

Unified Diff: ash/common/shelf/shelf_layout_manager.cc

Issue 2272793005: ash: Move alignment and autohide behavior from Shelf to WmShelf (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments 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/common/shelf/shelf_layout_manager.h ('k') | ash/common/shelf/shelf_widget.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/common/shelf/shelf_layout_manager.cc
diff --git a/ash/common/shelf/shelf_layout_manager.cc b/ash/common/shelf/shelf_layout_manager.cc
index 66a9bf3f1ca4cd45507f905a2a6dfdacf7f1bdaa..bf1aa412cc5680430f597f61d06161f93d1b3f6e 100644
--- a/ash/common/shelf/shelf_layout_manager.cc
+++ b/ash/common/shelf/shelf_layout_manager.cc
@@ -10,10 +10,10 @@
#include "ash/common/material_design/material_design_controller.h"
#include "ash/common/session/session_state_delegate.h"
-#include "ash/common/shelf/shelf.h"
#include "ash/common/shelf/shelf_constants.h"
#include "ash/common/shelf/shelf_delegate.h"
#include "ash/common/shelf/shelf_layout_manager_observer.h"
+#include "ash/common/shelf/wm_shelf.h"
#include "ash/common/shelf/wm_shelf_util.h"
#include "ash/common/shell_window_ids.h"
#include "ash/common/system/status_area_widget.h"
@@ -144,9 +144,11 @@ class ShelfLayoutManager::RootWindowControllerObserverImpl
// ShelfLayoutManager ----------------------------------------------------------
-ShelfLayoutManager::ShelfLayoutManager(ShelfWidget* shelf_widget)
+ShelfLayoutManager::ShelfLayoutManager(ShelfWidget* shelf_widget,
+ WmShelf* wm_shelf)
: updating_bounds_(false),
shelf_widget_(shelf_widget),
+ wm_shelf_(wm_shelf),
window_overlaps_shelf_(false),
mouse_over_shelf_when_auto_hide_timer_started_(false),
gesture_drag_status_(GESTURE_DRAG_NONE),
@@ -158,6 +160,7 @@ ShelfLayoutManager::ShelfLayoutManager(ShelfWidget* shelf_widget)
root_window_controller_observer_(
new RootWindowControllerObserverImpl(this)) {
DCHECK(shelf_widget_);
+ DCHECK(wm_shelf_);
WmShell::Get()->AddShellObserver(this);
WmShell::Get()->AddLockStateObserver(this);
WmShell::Get()->AddActivationObserver(this);
@@ -222,7 +225,7 @@ void ShelfLayoutManager::LayoutShelf() {
}
ShelfVisibilityState ShelfLayoutManager::CalculateShelfVisibility() {
- switch (shelf_widget_->shelf()->auto_hide_behavior()) {
+ switch (wm_shelf_->auto_hide_behavior()) {
case SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS:
return SHELF_AUTO_HIDE;
case SHELF_AUTO_HIDE_BEHAVIOR_NEVER:
@@ -1162,9 +1165,8 @@ void ShelfLayoutManager::CompleteGestureDrag(const ui::GestureEvent& gesture) {
// |gesture_drag_status_| to GESTURE_DRAG_COMPLETE_IN_PROGRESS to set the auto
// hide state to |gesture_drag_auto_hide_state_|.
gesture_drag_status_ = GESTURE_DRAG_COMPLETE_IN_PROGRESS;
- Shelf* shelf = shelf_widget_->shelf();
- if (shelf->auto_hide_behavior() != new_auto_hide_behavior)
- shelf->SetAutoHideBehavior(new_auto_hide_behavior);
+ if (wm_shelf_->auto_hide_behavior() != new_auto_hide_behavior)
+ wm_shelf_->SetAutoHideBehavior(new_auto_hide_behavior);
else
UpdateVisibilityState();
gesture_drag_status_ = GESTURE_DRAG_NONE;
« no previous file with comments | « ash/common/shelf/shelf_layout_manager.h ('k') | ash/common/shelf/shelf_widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698