| 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/shell.h" | 5 #include "ash/shell.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "ash/accelerators/accelerator_controller.h" | 10 #include "ash/accelerators/accelerator_controller.h" |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 // No context menus when screen is locked. | 285 // No context menus when screen is locked. |
| 286 if (session_state_delegate_->IsScreenLocked()) | 286 if (session_state_delegate_->IsScreenLocked()) |
| 287 return; | 287 return; |
| 288 | 288 |
| 289 aura::Window* root = | 289 aura::Window* root = |
| 290 wm::GetRootWindowMatching(gfx::Rect(location_in_screen, gfx::Size())); | 290 wm::GetRootWindowMatching(gfx::Rect(location_in_screen, gfx::Size())); |
| 291 GetRootWindowController(root) | 291 GetRootWindowController(root) |
| 292 ->ShowContextMenu(location_in_screen, source_type); | 292 ->ShowContextMenu(location_in_screen, source_type); |
| 293 } | 293 } |
| 294 | 294 |
| 295 void Shell::ToggleAppList(aura::Window* window) { | 295 void Shell::ShowAppList(aura::Window* window) { |
| 296 // If the context window is not given, show it on the target root window. | 296 // If the context window is not given, show it on the target root window. |
| 297 if (!window) | 297 if (!window) |
| 298 window = GetTargetRootWindow(); | 298 window = GetTargetRootWindow(); |
| 299 if (!app_list_controller_) | 299 if (!app_list_controller_) |
| 300 app_list_controller_.reset(new AppListController); | 300 app_list_controller_.reset(new AppListController); |
| 301 app_list_controller_->SetVisible(!app_list_controller_->IsVisible(), window); | 301 app_list_controller_->SetVisible(true, window); |
| 302 } |
| 303 |
| 304 void Shell::DismissAppList() { |
| 305 if (!app_list_controller_) |
| 306 return; |
| 307 app_list_controller_->SetVisible(false, GetTargetRootWindow()); |
| 308 } |
| 309 |
| 310 void Shell::ToggleAppList(aura::Window* window) { |
| 311 if (GetAppListTargetVisibility()) { |
| 312 DismissAppList(); |
| 313 return; |
| 314 } |
| 315 |
| 316 ShowAppList(window); |
| 302 } | 317 } |
| 303 | 318 |
| 304 bool Shell::GetAppListTargetVisibility() const { | 319 bool Shell::GetAppListTargetVisibility() const { |
| 305 return app_list_controller_.get() && | 320 return app_list_controller_.get() && |
| 306 app_list_controller_->GetTargetVisibility(); | 321 app_list_controller_->GetTargetVisibility(); |
| 307 } | 322 } |
| 308 | 323 |
| 309 aura::Window* Shell::GetAppListWindow() { | 324 aura::Window* Shell::GetAppListWindow() { |
| 310 return app_list_controller_.get() ? app_list_controller_->GetWindow() : NULL; | 325 return app_list_controller_.get() ? app_list_controller_->GetWindow() : NULL; |
| 311 } | 326 } |
| (...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1136 //////////////////////////////////////////////////////////////////////////////// | 1151 //////////////////////////////////////////////////////////////////////////////// |
| 1137 // Shell, aura::client::ActivationChangeObserver implementation: | 1152 // Shell, aura::client::ActivationChangeObserver implementation: |
| 1138 | 1153 |
| 1139 void Shell::OnWindowActivated(aura::Window* gained_active, | 1154 void Shell::OnWindowActivated(aura::Window* gained_active, |
| 1140 aura::Window* lost_active) { | 1155 aura::Window* lost_active) { |
| 1141 if (gained_active) | 1156 if (gained_active) |
| 1142 target_root_window_ = gained_active->GetRootWindow(); | 1157 target_root_window_ = gained_active->GetRootWindow(); |
| 1143 } | 1158 } |
| 1144 | 1159 |
| 1145 } // namespace ash | 1160 } // namespace ash |
| OLD | NEW |