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 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
469 keyboard::KeyboardController::ResetInstance(nullptr); | 469 keyboard::KeyboardController::ResetInstance(nullptr); |
470 } | 470 } |
471 | 471 |
472 void Shell::ShowShelf() { | 472 void Shell::ShowShelf() { |
473 RootWindowControllerList controllers = GetAllRootWindowControllers(); | 473 RootWindowControllerList controllers = GetAllRootWindowControllers(); |
474 for (RootWindowControllerList::iterator iter = controllers.begin(); | 474 for (RootWindowControllerList::iterator iter = controllers.begin(); |
475 iter != controllers.end(); ++iter) | 475 iter != controllers.end(); ++iter) |
476 (*iter)->ShowShelf(); | 476 (*iter)->ShowShelf(); |
477 } | 477 } |
478 | 478 |
479 void Shell::HideShelf() { | |
480 RootWindowControllerList controllers = GetAllRootWindowControllers(); | |
481 for (RootWindowControllerList::iterator iter = controllers.begin(); | |
482 iter != controllers.end(); ++iter) { | |
483 if ((*iter)->shelf()) | |
484 (*iter)->shelf()->ShutdownStatusAreaWidget(); | |
485 } | |
486 } | |
487 | |
479 void Shell::AddShellObserver(ShellObserver* observer) { | 488 void Shell::AddShellObserver(ShellObserver* observer) { |
480 observers_.AddObserver(observer); | 489 observers_.AddObserver(observer); |
481 } | 490 } |
482 | 491 |
483 void Shell::RemoveShellObserver(ShellObserver* observer) { | 492 void Shell::RemoveShellObserver(ShellObserver* observer) { |
484 observers_.RemoveObserver(observer); | 493 observers_.RemoveObserver(observer); |
485 } | 494 } |
486 | 495 |
487 #if defined(OS_CHROMEOS) | 496 #if defined(OS_CHROMEOS) |
488 bool Shell::ShouldSaveDisplaySettings() { | 497 bool Shell::ShouldSaveDisplaySettings() { |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
713 | 722 |
714 #if defined(OS_CHROMEOS) | 723 #if defined(OS_CHROMEOS) |
715 // Destroy the LastWindowClosedLogoutReminder before the | 724 // Destroy the LastWindowClosedLogoutReminder before the |
716 // LogoutConfirmationController. | 725 // LogoutConfirmationController. |
717 last_window_closed_logout_reminder_.reset(); | 726 last_window_closed_logout_reminder_.reset(); |
718 | 727 |
719 // Destroy the LogoutConfirmationController before the SystemTrayDelegate. | 728 // Destroy the LogoutConfirmationController before the SystemTrayDelegate. |
720 logout_confirmation_controller_.reset(); | 729 logout_confirmation_controller_.reset(); |
721 #endif | 730 #endif |
722 | 731 |
723 // Destroy SystemTrayDelegate before destroying the status area(s). | 732 // Destroy SystemTrayDelegate before destroying the status area(s). Make sure |
oshima
2016/01/09 01:05:11
The original comment should go after HideShelf. Hi
jdufault
2016/01/11 20:59:34
Calling (*iter)->GetSystemTray()->CloseSystemBubbl
| |
733 // to deinitialize the shelf first, as it is initialized after the delegate. | |
734 HideShelf(); | |
724 system_tray_delegate_->Shutdown(); | 735 system_tray_delegate_->Shutdown(); |
725 system_tray_delegate_.reset(); | 736 system_tray_delegate_.reset(); |
726 | 737 |
727 locale_notification_controller_.reset(); | 738 locale_notification_controller_.reset(); |
728 | 739 |
729 // Drag-and-drop must be canceled prior to close all windows. | 740 // Drag-and-drop must be canceled prior to close all windows. |
730 drag_drop_controller_.reset(); | 741 drag_drop_controller_.reset(); |
731 | 742 |
732 // Controllers who have WindowObserver added must be deleted | 743 // Controllers who have WindowObserver added must be deleted |
733 // before |window_tree_host_manager_| is deleted. | 744 // before |window_tree_host_manager_| is deleted. |
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1169 | 1180 |
1170 void Shell::OnWindowActivated( | 1181 void Shell::OnWindowActivated( |
1171 aura::client::ActivationChangeObserver::ActivationReason reason, | 1182 aura::client::ActivationChangeObserver::ActivationReason reason, |
1172 aura::Window* gained_active, | 1183 aura::Window* gained_active, |
1173 aura::Window* lost_active) { | 1184 aura::Window* lost_active) { |
1174 if (gained_active) | 1185 if (gained_active) |
1175 target_root_window_ = gained_active->GetRootWindow(); | 1186 target_root_window_ = gained_active->GetRootWindow(); |
1176 } | 1187 } |
1177 | 1188 |
1178 } // namespace ash | 1189 } // namespace ash |
OLD | NEW |