Chromium Code Reviews| Index: ash/app_list/app_list_presenter_delegate.cc |
| diff --git a/ash/app_list/app_list_presenter_delegate.cc b/ash/app_list/app_list_presenter_delegate.cc |
| index fc81a0ab465a3c04fea5fb455ba19c0594ed625a..8c56f0f8ecaf9c59b6250d30b34b83db12463a93 100644 |
| --- a/ash/app_list/app_list_presenter_delegate.cc |
| +++ b/ash/app_list/app_list_presenter_delegate.cc |
| @@ -98,7 +98,8 @@ void AppListPresenterDelegate::Init(app_list::AppListView* view, |
| aura::Window* container = RootWindowController::ForWindow(root_window) |
| ->GetContainer(kShellWindowId_AppListContainer); |
| - view->Initialize(container, current_apps_page); |
| + view->Initialize(container, current_apps_page, IsMaximizeModeActive(), |
| + IsSideShelf()); |
| if (!app_list::features::IsFullscreenAppListEnabled()) { |
| view->MaybeSetAnchorPoint(GetCenterOfDisplayForWindow( |
| @@ -166,6 +167,27 @@ gfx::Vector2d AppListPresenterDelegate::GetVisibilityAnimationOffset( |
| return gfx::Vector2d(); |
| } |
| +bool AppListPresenterDelegate::IsMaximizeModeActive() const { |
| + MaximizeModeController* maximize_mode_controller = |
| + Shell::Get()->maximize_mode_controller(); |
| + return maximize_mode_controller && |
|
oshima
2017/06/13 22:26:04
maximize_mode_controller should never be null.
Th
newcomer
2017/06/13 23:00:39
Thanks! Done.
|
| + maximize_mode_controller->IsMaximizeModeWindowManagerEnabled(); |
| +} |
| + |
| +bool AppListPresenterDelegate::IsSideShelf() const { |
| + aura::Window* root_window = |
| + RootWindowController::ForTargetRootWindow()->GetRootWindow(); |
|
xiyuan
2017/06/13 21:38:58
This does not look right for multi-display case. T
newcomer
2017/06/13 22:22:47
Done.
|
| + Shelf* shelf = Shelf::ForWindow(root_window); |
| + switch (shelf->alignment()) { |
| + case SHELF_ALIGNMENT_BOTTOM: |
| + case SHELF_ALIGNMENT_BOTTOM_LOCKED: |
| + return false; |
| + case SHELF_ALIGNMENT_LEFT: |
| + case SHELF_ALIGNMENT_RIGHT: |
| + return true; |
| + } |
|
oshima
2017/06/13 22:26:04
don't you need return?
newcomer
2017/06/13 23:00:39
The return statements are in the switch. I refacto
|
| +} |
| + |
| //////////////////////////////////////////////////////////////////////////////// |
| // AppListPresenterDelegate, private: |
| @@ -229,4 +251,18 @@ void AppListPresenterDelegate::OnOverviewModeStarting() { |
| presenter_->Dismiss(); |
| } |
| +void AppListPresenterDelegate::OnMaximizeModeStarted() { |
| + if (!app_list::features::IsFullscreenAppListEnabled()) |
| + return; |
| + |
| + view_->OnMaximizeModeChanged(true); |
| +} |
| + |
| +void AppListPresenterDelegate::OnMaximizeModeEnded() { |
| + if (!app_list::features::IsFullscreenAppListEnabled()) |
| + return; |
| + |
| + view_->OnMaximizeModeChanged(false); |
| +} |
| + |
| } // namespace ash |