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 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 #include "ui/keyboard/keyboard_util.h" | 101 #include "ui/keyboard/keyboard_util.h" |
102 #include "ui/message_center/message_center.h" | 102 #include "ui/message_center/message_center.h" |
103 #include "ui/views/corewm/tooltip_aura.h" | 103 #include "ui/views/corewm/tooltip_aura.h" |
104 #include "ui/views/corewm/tooltip_controller.h" | 104 #include "ui/views/corewm/tooltip_controller.h" |
105 #include "ui/views/focus/focus_manager_factory.h" | 105 #include "ui/views/focus/focus_manager_factory.h" |
106 #include "ui/views/widget/native_widget_aura.h" | 106 #include "ui/views/widget/native_widget_aura.h" |
107 #include "ui/views/widget/widget.h" | 107 #include "ui/views/widget/widget.h" |
108 #include "ui/wm/core/accelerator_filter.h" | 108 #include "ui/wm/core/accelerator_filter.h" |
109 #include "ui/wm/core/compound_event_filter.h" | 109 #include "ui/wm/core/compound_event_filter.h" |
110 #include "ui/wm/core/focus_controller.h" | 110 #include "ui/wm/core/focus_controller.h" |
111 #include "ui/wm/core/input_method_event_filter.h" | |
112 #include "ui/wm/core/nested_accelerator_controller.h" | 111 #include "ui/wm/core/nested_accelerator_controller.h" |
113 #include "ui/wm/core/shadow_controller.h" | 112 #include "ui/wm/core/shadow_controller.h" |
114 #include "ui/wm/core/visibility_controller.h" | 113 #include "ui/wm/core/visibility_controller.h" |
115 #include "ui/wm/core/window_modality_controller.h" | 114 #include "ui/wm/core/window_modality_controller.h" |
116 | 115 |
117 #if defined(OS_CHROMEOS) | 116 #if defined(OS_CHROMEOS) |
118 #if defined(USE_X11) | 117 #if defined(USE_X11) |
119 #include "ui/gfx/x/x11_types.h" | 118 #include "ui/gfx/x/x11_types.h" |
120 #endif // defined(USE_X11) | 119 #endif // defined(USE_X11) |
121 #include "ash/accelerators/magnifier_key_scroller.h" | 120 #include "ash/accelerators/magnifier_key_scroller.h" |
(...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
675 if (window_modality_controller_) | 674 if (window_modality_controller_) |
676 window_modality_controller_.reset(); | 675 window_modality_controller_.reset(); |
677 #if defined(OS_CHROMEOS) | 676 #if defined(OS_CHROMEOS) |
678 RemovePreTargetHandler(magnifier_key_scroll_handler_.get()); | 677 RemovePreTargetHandler(magnifier_key_scroll_handler_.get()); |
679 magnifier_key_scroll_handler_.reset(); | 678 magnifier_key_scroll_handler_.reset(); |
680 | 679 |
681 RemovePreTargetHandler(speech_feedback_handler_.get()); | 680 RemovePreTargetHandler(speech_feedback_handler_.get()); |
682 speech_feedback_handler_.reset(); | 681 speech_feedback_handler_.reset(); |
683 #endif | 682 #endif |
684 RemovePreTargetHandler(overlay_filter_.get()); | 683 RemovePreTargetHandler(overlay_filter_.get()); |
685 RemovePreTargetHandler(input_method_filter_.get()); | |
686 RemovePreTargetHandler(accelerator_filter_.get()); | 684 RemovePreTargetHandler(accelerator_filter_.get()); |
687 RemovePreTargetHandler(event_transformation_handler_.get()); | 685 RemovePreTargetHandler(event_transformation_handler_.get()); |
688 RemovePreTargetHandler(toplevel_window_event_handler_.get()); | 686 RemovePreTargetHandler(toplevel_window_event_handler_.get()); |
689 RemovePostTargetHandler(toplevel_window_event_handler_.get()); | 687 RemovePostTargetHandler(toplevel_window_event_handler_.get()); |
690 RemovePreTargetHandler(system_gesture_filter_.get()); | 688 RemovePreTargetHandler(system_gesture_filter_.get()); |
691 RemovePreTargetHandler(keyboard_metrics_filter_.get()); | 689 RemovePreTargetHandler(keyboard_metrics_filter_.get()); |
692 RemovePreTargetHandler(mouse_cursor_filter_.get()); | 690 RemovePreTargetHandler(mouse_cursor_filter_.get()); |
693 | 691 |
694 // TooltipController is deleted with the Shell so removing its references. | 692 // TooltipController is deleted with the Shell so removing its references. |
695 RemovePreTargetHandler(tooltip_controller_.get()); | 693 RemovePreTargetHandler(tooltip_controller_.get()); |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
804 // DisplayController before resetting |display_controller_|, since destruction | 802 // DisplayController before resetting |display_controller_|, since destruction |
805 // of its owned RootWindowControllers relies on the value. | 803 // of its owned RootWindowControllers relies on the value. |
806 display_manager_->CreateScreenForShutdown(); | 804 display_manager_->CreateScreenForShutdown(); |
807 display_controller_->Shutdown(); | 805 display_controller_->Shutdown(); |
808 display_controller_.reset(); | 806 display_controller_.reset(); |
809 screen_position_controller_.reset(); | 807 screen_position_controller_.reset(); |
810 accessibility_delegate_.reset(); | 808 accessibility_delegate_.reset(); |
811 new_window_delegate_.reset(); | 809 new_window_delegate_.reset(); |
812 media_delegate_.reset(); | 810 media_delegate_.reset(); |
813 | 811 |
814 keyboard::KeyboardController::ResetInstance(NULL); | 812 keyboard::KeyboardController::ResetInstance(nullptr); |
815 | 813 |
816 #if defined(OS_CHROMEOS) | 814 #if defined(OS_CHROMEOS) |
817 display_color_manager_.reset(); | 815 display_color_manager_.reset(); |
818 if (display_change_observer_) | 816 if (display_change_observer_) |
819 display_configurator_->RemoveObserver(display_change_observer_.get()); | 817 display_configurator_->RemoveObserver(display_change_observer_.get()); |
820 if (display_configurator_animation_) | 818 if (display_configurator_animation_) |
821 display_configurator_->RemoveObserver( | 819 display_configurator_->RemoveObserver( |
822 display_configurator_animation_.get()); | 820 display_configurator_animation_.get()); |
823 if (display_error_observer_) | 821 if (display_error_observer_) |
824 display_configurator_->RemoveObserver(display_error_observer_.get()); | 822 display_configurator_->RemoveObserver(display_error_observer_.get()); |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
930 // The order in which event filters are added is significant. | 928 // The order in which event filters are added is significant. |
931 | 929 |
932 // ui::UserActivityDetector passes events to observers, so let them get | 930 // ui::UserActivityDetector passes events to observers, so let them get |
933 // rewritten first. | 931 // rewritten first. |
934 user_activity_detector_.reset(new ui::UserActivityDetector); | 932 user_activity_detector_.reset(new ui::UserActivityDetector); |
935 | 933 |
936 overlay_filter_.reset(new OverlayEventFilter); | 934 overlay_filter_.reset(new OverlayEventFilter); |
937 AddPreTargetHandler(overlay_filter_.get()); | 935 AddPreTargetHandler(overlay_filter_.get()); |
938 AddShellObserver(overlay_filter_.get()); | 936 AddShellObserver(overlay_filter_.get()); |
939 | 937 |
940 input_method_filter_.reset(new ::wm::InputMethodEventFilter( | |
941 root_window->GetHost()->GetAcceleratedWidget())); | |
942 AddPreTargetHandler(input_method_filter_.get()); | |
943 | |
944 accelerator_filter_.reset(new ::wm::AcceleratorFilter( | 938 accelerator_filter_.reset(new ::wm::AcceleratorFilter( |
945 scoped_ptr< ::wm::AcceleratorDelegate>(new AcceleratorDelegate).Pass(), | 939 scoped_ptr< ::wm::AcceleratorDelegate>(new AcceleratorDelegate).Pass(), |
946 accelerator_controller_->accelerator_history())); | 940 accelerator_controller_->accelerator_history())); |
947 AddPreTargetHandler(accelerator_filter_.get()); | 941 AddPreTargetHandler(accelerator_filter_.get()); |
948 | 942 |
949 event_transformation_handler_.reset(new EventTransformationHandler); | 943 event_transformation_handler_.reset(new EventTransformationHandler); |
950 AddPreTargetHandler(event_transformation_handler_.get()); | 944 AddPreTargetHandler(event_transformation_handler_.get()); |
951 | 945 |
952 toplevel_window_event_handler_.reset(new ToplevelWindowEventHandler); | 946 toplevel_window_event_handler_.reset(new ToplevelWindowEventHandler); |
953 | 947 |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1107 new keyboard::KeyboardController(proxy)); | 1101 new keyboard::KeyboardController(proxy)); |
1108 } | 1102 } |
1109 } | 1103 } |
1110 | 1104 |
1111 void Shell::InitRootWindow(aura::Window* root_window) { | 1105 void Shell::InitRootWindow(aura::Window* root_window) { |
1112 DCHECK(activation_client_); | 1106 DCHECK(activation_client_); |
1113 DCHECK(visibility_controller_.get()); | 1107 DCHECK(visibility_controller_.get()); |
1114 DCHECK(drag_drop_controller_.get()); | 1108 DCHECK(drag_drop_controller_.get()); |
1115 | 1109 |
1116 aura::client::SetFocusClient(root_window, focus_client_.get()); | 1110 aura::client::SetFocusClient(root_window, focus_client_.get()); |
1117 input_method_filter_->SetInputMethodPropertyInRootWindow(root_window); | |
1118 aura::client::SetActivationClient(root_window, activation_client_); | 1111 aura::client::SetActivationClient(root_window, activation_client_); |
1119 ::wm::FocusController* focus_controller = | 1112 ::wm::FocusController* focus_controller = |
1120 static_cast< ::wm::FocusController*>(activation_client_); | 1113 static_cast< ::wm::FocusController*>(activation_client_); |
1121 root_window->AddPreTargetHandler(focus_controller); | 1114 root_window->AddPreTargetHandler(focus_controller); |
1122 aura::client::SetVisibilityClient(root_window, visibility_controller_.get()); | 1115 aura::client::SetVisibilityClient(root_window, visibility_controller_.get()); |
1123 aura::client::SetDragDropClient(root_window, drag_drop_controller_.get()); | 1116 aura::client::SetDragDropClient(root_window, drag_drop_controller_.get()); |
1124 aura::client::SetScreenPositionClient(root_window, | 1117 aura::client::SetScreenPositionClient(root_window, |
1125 screen_position_controller_.get()); | 1118 screen_position_controller_.get()); |
1126 aura::client::SetCursorClient(root_window, &cursor_manager_); | 1119 aura::client::SetCursorClient(root_window, &cursor_manager_); |
1127 aura::client::SetTooltipClient(root_window, tooltip_controller_.get()); | 1120 aura::client::SetTooltipClient(root_window, tooltip_controller_.get()); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1183 | 1176 |
1184 void Shell::OnWindowActivated( | 1177 void Shell::OnWindowActivated( |
1185 aura::client::ActivationChangeObserver::ActivationReason reason, | 1178 aura::client::ActivationChangeObserver::ActivationReason reason, |
1186 aura::Window* gained_active, | 1179 aura::Window* gained_active, |
1187 aura::Window* lost_active) { | 1180 aura::Window* lost_active) { |
1188 if (gained_active) | 1181 if (gained_active) |
1189 target_root_window_ = gained_active->GetRootWindow(); | 1182 target_root_window_ = gained_active->GetRootWindow(); |
1190 } | 1183 } |
1191 | 1184 |
1192 } // namespace ash | 1185 } // namespace ash |
OLD | NEW |