| 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 676 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 687 RemovePreTargetHandler(event_transformation_handler_.get()); | 687 RemovePreTargetHandler(event_transformation_handler_.get()); |
| 688 RemovePreTargetHandler(toplevel_window_event_handler_.get()); | 688 RemovePreTargetHandler(toplevel_window_event_handler_.get()); |
| 689 RemovePostTargetHandler(toplevel_window_event_handler_.get()); | 689 RemovePostTargetHandler(toplevel_window_event_handler_.get()); |
| 690 RemovePreTargetHandler(system_gesture_filter_.get()); | 690 RemovePreTargetHandler(system_gesture_filter_.get()); |
| 691 RemovePreTargetHandler(keyboard_metrics_filter_.get()); | 691 RemovePreTargetHandler(keyboard_metrics_filter_.get()); |
| 692 RemovePreTargetHandler(mouse_cursor_filter_.get()); | 692 RemovePreTargetHandler(mouse_cursor_filter_.get()); |
| 693 | 693 |
| 694 // TooltipController is deleted with the Shell so removing its references. | 694 // TooltipController is deleted with the Shell so removing its references. |
| 695 RemovePreTargetHandler(tooltip_controller_.get()); | 695 RemovePreTargetHandler(tooltip_controller_.get()); |
| 696 | 696 |
| 697 // Destroy the virtual keyboard controller before the maximize mode controller |
| 698 // since the latters destructor triggers events that the former is listening |
| 699 // to but no longer cares about. |
| 700 #if defined(OS_CHROMEOS) |
| 701 virtual_keyboard_controller_.reset(); |
| 702 #endif |
| 697 // Destroy maximize mode controller early on since it has some observers which | 703 // Destroy maximize mode controller early on since it has some observers which |
| 698 // need to be removed. | 704 // need to be removed. |
| 699 maximize_mode_controller_->Shutdown(); | 705 maximize_mode_controller_->Shutdown(); |
| 700 maximize_mode_controller_.reset(); | 706 maximize_mode_controller_.reset(); |
| 701 | 707 |
| 702 // AppList needs to be released before shelf layout manager, which is | 708 // AppList needs to be released before shelf layout manager, which is |
| 703 // destroyed with shelf container in the loop below. However, app list | 709 // destroyed with shelf container in the loop below. However, app list |
| 704 // container is now on top of shelf container and released after it. | 710 // container is now on top of shelf container and released after it. |
| 705 // TODO(xiyuan): Move it back when app list container is no longer needed. | 711 // TODO(xiyuan): Move it back when app list container is no longer needed. |
| 706 app_list_controller_.reset(); | 712 app_list_controller_.reset(); |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 786 #if defined(OS_CHROMEOS) | 792 #if defined(OS_CHROMEOS) |
| 787 touch_transformer_controller_.reset(); | 793 touch_transformer_controller_.reset(); |
| 788 #endif // defined(OS_CHROMEOS) | 794 #endif // defined(OS_CHROMEOS) |
| 789 | 795 |
| 790 // This also deletes all RootWindows. Note that we invoke Shutdown() on | 796 // This also deletes all RootWindows. Note that we invoke Shutdown() on |
| 791 // DisplayController before resetting |display_controller_|, since destruction | 797 // DisplayController before resetting |display_controller_|, since destruction |
| 792 // of its owned RootWindowControllers relies on the value. | 798 // of its owned RootWindowControllers relies on the value. |
| 793 display_manager_->CreateScreenForShutdown(); | 799 display_manager_->CreateScreenForShutdown(); |
| 794 display_controller_->Shutdown(); | 800 display_controller_->Shutdown(); |
| 795 display_controller_.reset(); | 801 display_controller_.reset(); |
| 796 #if defined(OS_CHROMEOS) | |
| 797 virtual_keyboard_controller_.reset(); | |
| 798 #endif | |
| 799 screen_position_controller_.reset(); | 802 screen_position_controller_.reset(); |
| 800 accessibility_delegate_.reset(); | 803 accessibility_delegate_.reset(); |
| 801 new_window_delegate_.reset(); | 804 new_window_delegate_.reset(); |
| 802 media_delegate_.reset(); | 805 media_delegate_.reset(); |
| 803 | 806 |
| 804 keyboard::KeyboardController::ResetInstance(NULL); | 807 keyboard::KeyboardController::ResetInstance(NULL); |
| 805 | 808 |
| 806 #if defined(OS_CHROMEOS) | 809 #if defined(OS_CHROMEOS) |
| 807 if (display_change_observer_) | 810 if (display_change_observer_) |
| 808 display_configurator_->RemoveObserver(display_change_observer_.get()); | 811 display_configurator_->RemoveObserver(display_change_observer_.get()); |
| (...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1158 //////////////////////////////////////////////////////////////////////////////// | 1161 //////////////////////////////////////////////////////////////////////////////// |
| 1159 // Shell, aura::client::ActivationChangeObserver implementation: | 1162 // Shell, aura::client::ActivationChangeObserver implementation: |
| 1160 | 1163 |
| 1161 void Shell::OnWindowActivated(aura::Window* gained_active, | 1164 void Shell::OnWindowActivated(aura::Window* gained_active, |
| 1162 aura::Window* lost_active) { | 1165 aura::Window* lost_active) { |
| 1163 if (gained_active) | 1166 if (gained_active) |
| 1164 target_root_window_ = gained_active->GetRootWindow(); | 1167 target_root_window_ = gained_active->GetRootWindow(); |
| 1165 } | 1168 } |
| 1166 | 1169 |
| 1167 } // namespace ash | 1170 } // namespace ash |
| OLD | NEW |