Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/app_list/app_list_presenter_delegate.h" | 5 #include "ash/app_list/app_list_presenter_delegate.h" |
| 6 | 6 |
| 7 #include "ash/ash_switches.h" | 7 #include "ash/ash_switches.h" |
| 8 #include "ash/public/cpp/shelf_types.h" | 8 #include "ash/public/cpp/shelf_types.h" |
| 9 #include "ash/public/cpp/shell_window_ids.h" | 9 #include "ash/public/cpp/shell_window_ids.h" |
| 10 #include "ash/root_window_controller.h" | 10 #include "ash/root_window_controller.h" |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 91 // UI layout when AppListView visibility changes. | 91 // UI layout when AppListView visibility changes. |
| 92 Shell::GetPrimaryRootWindowController() | 92 Shell::GetPrimaryRootWindowController() |
| 93 ->GetShelfLayoutManager() | 93 ->GetShelfLayoutManager() |
| 94 ->UpdateAutoHideState(); | 94 ->UpdateAutoHideState(); |
| 95 view_ = view; | 95 view_ = view; |
| 96 aura::Window* root_window = | 96 aura::Window* root_window = |
| 97 ShellPort::Get()->GetRootWindowForDisplayId(display_id); | 97 ShellPort::Get()->GetRootWindowForDisplayId(display_id); |
| 98 aura::Window* container = RootWindowController::ForWindow(root_window) | 98 aura::Window* container = RootWindowController::ForWindow(root_window) |
| 99 ->GetContainer(kShellWindowId_AppListContainer); | 99 ->GetContainer(kShellWindowId_AppListContainer); |
| 100 | 100 |
| 101 view->Initialize(container, current_apps_page); | 101 view->Initialize(container, current_apps_page, IsMaximizeModeActive(), |
| 102 IsSideShelf()); | |
| 102 | 103 |
| 103 if (!app_list::features::IsFullscreenAppListEnabled()) { | 104 if (!app_list::features::IsFullscreenAppListEnabled()) { |
| 104 view->MaybeSetAnchorPoint(GetCenterOfDisplayForWindow( | 105 view->MaybeSetAnchorPoint(GetCenterOfDisplayForWindow( |
| 105 root_window, GetMinimumBoundsHeightForAppList(view))); | 106 root_window, GetMinimumBoundsHeightForAppList(view))); |
| 106 } | 107 } |
| 107 keyboard::KeyboardController* keyboard_controller = | 108 keyboard::KeyboardController* keyboard_controller = |
| 108 keyboard::KeyboardController::GetInstance(); | 109 keyboard::KeyboardController::GetInstance(); |
| 109 if (keyboard_controller) | 110 if (keyboard_controller) |
| 110 keyboard_controller->AddObserver(this); | 111 keyboard_controller->AddObserver(this); |
| 111 Shell::Get()->AddPreTargetHandler(this); | 112 Shell::Get()->AddPreTargetHandler(this); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 159 return gfx::Vector2d(0, kAnimationOffset); | 160 return gfx::Vector2d(0, kAnimationOffset); |
| 160 case SHELF_ALIGNMENT_LEFT: | 161 case SHELF_ALIGNMENT_LEFT: |
| 161 return gfx::Vector2d(-kAnimationOffset, 0); | 162 return gfx::Vector2d(-kAnimationOffset, 0); |
| 162 case SHELF_ALIGNMENT_RIGHT: | 163 case SHELF_ALIGNMENT_RIGHT: |
| 163 return gfx::Vector2d(kAnimationOffset, 0); | 164 return gfx::Vector2d(kAnimationOffset, 0); |
| 164 } | 165 } |
| 165 NOTREACHED(); | 166 NOTREACHED(); |
| 166 return gfx::Vector2d(); | 167 return gfx::Vector2d(); |
| 167 } | 168 } |
| 168 | 169 |
| 170 bool AppListPresenterDelegate::IsMaximizeModeActive() const { | |
| 171 MaximizeModeController* maximize_mode_controller = | |
| 172 Shell::Get()->maximize_mode_controller(); | |
| 173 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.
| |
| 174 maximize_mode_controller->IsMaximizeModeWindowManagerEnabled(); | |
| 175 } | |
| 176 | |
| 177 bool AppListPresenterDelegate::IsSideShelf() const { | |
| 178 aura::Window* root_window = | |
| 179 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.
| |
| 180 Shelf* shelf = Shelf::ForWindow(root_window); | |
| 181 switch (shelf->alignment()) { | |
| 182 case SHELF_ALIGNMENT_BOTTOM: | |
| 183 case SHELF_ALIGNMENT_BOTTOM_LOCKED: | |
| 184 return false; | |
| 185 case SHELF_ALIGNMENT_LEFT: | |
| 186 case SHELF_ALIGNMENT_RIGHT: | |
| 187 return true; | |
| 188 } | |
|
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
| |
| 189 } | |
| 190 | |
| 169 //////////////////////////////////////////////////////////////////////////////// | 191 //////////////////////////////////////////////////////////////////////////////// |
| 170 // AppListPresenterDelegate, private: | 192 // AppListPresenterDelegate, private: |
| 171 | 193 |
| 172 void AppListPresenterDelegate::ProcessLocatedEvent(ui::LocatedEvent* event) { | 194 void AppListPresenterDelegate::ProcessLocatedEvent(ui::LocatedEvent* event) { |
| 173 if (!view_ || !is_visible_) | 195 if (!view_ || !is_visible_) |
| 174 return; | 196 return; |
| 175 | 197 |
| 176 // If the event happened on a menu, then the event should not close the app | 198 // If the event happened on a menu, then the event should not close the app |
| 177 // list. | 199 // list. |
| 178 aura::Window* target = static_cast<aura::Window*>(event->target()); | 200 aura::Window* target = static_cast<aura::Window*>(event->target()); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 222 | 244 |
| 223 void AppListPresenterDelegate::OnKeyboardClosed() {} | 245 void AppListPresenterDelegate::OnKeyboardClosed() {} |
| 224 | 246 |
| 225 //////////////////////////////////////////////////////////////////////////////// | 247 //////////////////////////////////////////////////////////////////////////////// |
| 226 // AppListPresenterDelegate, ShellObserver implementation: | 248 // AppListPresenterDelegate, ShellObserver implementation: |
| 227 void AppListPresenterDelegate::OnOverviewModeStarting() { | 249 void AppListPresenterDelegate::OnOverviewModeStarting() { |
| 228 if (is_visible_) | 250 if (is_visible_) |
| 229 presenter_->Dismiss(); | 251 presenter_->Dismiss(); |
| 230 } | 252 } |
| 231 | 253 |
| 254 void AppListPresenterDelegate::OnMaximizeModeStarted() { | |
| 255 if (!app_list::features::IsFullscreenAppListEnabled()) | |
| 256 return; | |
| 257 | |
| 258 view_->OnMaximizeModeChanged(true); | |
| 259 } | |
| 260 | |
| 261 void AppListPresenterDelegate::OnMaximizeModeEnded() { | |
| 262 if (!app_list::features::IsFullscreenAppListEnabled()) | |
| 263 return; | |
| 264 | |
| 265 view_->OnMaximizeModeChanged(false); | |
| 266 } | |
| 267 | |
| 232 } // namespace ash | 268 } // namespace ash |
| OLD | NEW |