| 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 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 673 if (window_modality_controller_) | 672 if (window_modality_controller_) |
| 674 window_modality_controller_.reset(); | 673 window_modality_controller_.reset(); |
| 675 #if defined(OS_CHROMEOS) | 674 #if defined(OS_CHROMEOS) |
| 676 RemovePreTargetHandler(magnifier_key_scroll_handler_.get()); | 675 RemovePreTargetHandler(magnifier_key_scroll_handler_.get()); |
| 677 magnifier_key_scroll_handler_.reset(); | 676 magnifier_key_scroll_handler_.reset(); |
| 678 | 677 |
| 679 RemovePreTargetHandler(speech_feedback_handler_.get()); | 678 RemovePreTargetHandler(speech_feedback_handler_.get()); |
| 680 speech_feedback_handler_.reset(); | 679 speech_feedback_handler_.reset(); |
| 681 #endif | 680 #endif |
| 682 RemovePreTargetHandler(overlay_filter_.get()); | 681 RemovePreTargetHandler(overlay_filter_.get()); |
| 683 RemovePreTargetHandler(input_method_filter_.get()); | |
| 684 RemovePreTargetHandler(accelerator_filter_.get()); | 682 RemovePreTargetHandler(accelerator_filter_.get()); |
| 685 RemovePreTargetHandler(event_transformation_handler_.get()); | 683 RemovePreTargetHandler(event_transformation_handler_.get()); |
| 686 RemovePreTargetHandler(toplevel_window_event_handler_.get()); | 684 RemovePreTargetHandler(toplevel_window_event_handler_.get()); |
| 687 RemovePostTargetHandler(toplevel_window_event_handler_.get()); | 685 RemovePostTargetHandler(toplevel_window_event_handler_.get()); |
| 688 RemovePreTargetHandler(system_gesture_filter_.get()); | 686 RemovePreTargetHandler(system_gesture_filter_.get()); |
| 689 RemovePreTargetHandler(keyboard_metrics_filter_.get()); | 687 RemovePreTargetHandler(keyboard_metrics_filter_.get()); |
| 690 RemovePreTargetHandler(mouse_cursor_filter_.get()); | 688 RemovePreTargetHandler(mouse_cursor_filter_.get()); |
| 691 | 689 |
| 692 // TooltipController is deleted with the Shell so removing its references. | 690 // TooltipController is deleted with the Shell so removing its references. |
| 693 RemovePreTargetHandler(tooltip_controller_.get()); | 691 RemovePreTargetHandler(tooltip_controller_.get()); |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 802 // DisplayController before resetting |display_controller_|, since destruction | 800 // DisplayController before resetting |display_controller_|, since destruction |
| 803 // of its owned RootWindowControllers relies on the value. | 801 // of its owned RootWindowControllers relies on the value. |
| 804 display_manager_->CreateScreenForShutdown(); | 802 display_manager_->CreateScreenForShutdown(); |
| 805 display_controller_->Shutdown(); | 803 display_controller_->Shutdown(); |
| 806 display_controller_.reset(); | 804 display_controller_.reset(); |
| 807 screen_position_controller_.reset(); | 805 screen_position_controller_.reset(); |
| 808 accessibility_delegate_.reset(); | 806 accessibility_delegate_.reset(); |
| 809 new_window_delegate_.reset(); | 807 new_window_delegate_.reset(); |
| 810 media_delegate_.reset(); | 808 media_delegate_.reset(); |
| 811 | 809 |
| 812 keyboard::KeyboardController::ResetInstance(NULL); | 810 keyboard::KeyboardController::ResetInstance(nullptr); |
| 813 | 811 |
| 814 #if defined(OS_CHROMEOS) | 812 #if defined(OS_CHROMEOS) |
| 815 display_color_manager_.reset(); | 813 display_color_manager_.reset(); |
| 816 if (display_change_observer_) | 814 if (display_change_observer_) |
| 817 display_configurator_->RemoveObserver(display_change_observer_.get()); | 815 display_configurator_->RemoveObserver(display_change_observer_.get()); |
| 818 if (display_configurator_animation_) | 816 if (display_configurator_animation_) |
| 819 display_configurator_->RemoveObserver( | 817 display_configurator_->RemoveObserver( |
| 820 display_configurator_animation_.get()); | 818 display_configurator_animation_.get()); |
| 821 if (display_error_observer_) | 819 if (display_error_observer_) |
| 822 display_configurator_->RemoveObserver(display_error_observer_.get()); | 820 display_configurator_->RemoveObserver(display_error_observer_.get()); |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 928 // The order in which event filters are added is significant. | 926 // The order in which event filters are added is significant. |
| 929 | 927 |
| 930 // ui::UserActivityDetector passes events to observers, so let them get | 928 // ui::UserActivityDetector passes events to observers, so let them get |
| 931 // rewritten first. | 929 // rewritten first. |
| 932 user_activity_detector_.reset(new ui::UserActivityDetector); | 930 user_activity_detector_.reset(new ui::UserActivityDetector); |
| 933 | 931 |
| 934 overlay_filter_.reset(new OverlayEventFilter); | 932 overlay_filter_.reset(new OverlayEventFilter); |
| 935 AddPreTargetHandler(overlay_filter_.get()); | 933 AddPreTargetHandler(overlay_filter_.get()); |
| 936 AddShellObserver(overlay_filter_.get()); | 934 AddShellObserver(overlay_filter_.get()); |
| 937 | 935 |
| 938 input_method_filter_.reset(new ::wm::InputMethodEventFilter( | |
| 939 root_window->GetHost()->GetAcceleratedWidget())); | |
| 940 AddPreTargetHandler(input_method_filter_.get()); | |
| 941 | |
| 942 accelerator_filter_.reset(new ::wm::AcceleratorFilter( | 936 accelerator_filter_.reset(new ::wm::AcceleratorFilter( |
| 943 scoped_ptr< ::wm::AcceleratorDelegate>(new AcceleratorDelegate).Pass(), | 937 scoped_ptr< ::wm::AcceleratorDelegate>(new AcceleratorDelegate).Pass(), |
| 944 accelerator_controller_->accelerator_history())); | 938 accelerator_controller_->accelerator_history())); |
| 945 AddPreTargetHandler(accelerator_filter_.get()); | 939 AddPreTargetHandler(accelerator_filter_.get()); |
| 946 | 940 |
| 947 event_transformation_handler_.reset(new EventTransformationHandler); | 941 event_transformation_handler_.reset(new EventTransformationHandler); |
| 948 AddPreTargetHandler(event_transformation_handler_.get()); | 942 AddPreTargetHandler(event_transformation_handler_.get()); |
| 949 | 943 |
| 950 toplevel_window_event_handler_.reset(new ToplevelWindowEventHandler); | 944 toplevel_window_event_handler_.reset(new ToplevelWindowEventHandler); |
| 951 | 945 |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1103 new keyboard::KeyboardController(proxy)); | 1097 new keyboard::KeyboardController(proxy)); |
| 1104 } | 1098 } |
| 1105 } | 1099 } |
| 1106 | 1100 |
| 1107 void Shell::InitRootWindow(aura::Window* root_window) { | 1101 void Shell::InitRootWindow(aura::Window* root_window) { |
| 1108 DCHECK(activation_client_); | 1102 DCHECK(activation_client_); |
| 1109 DCHECK(visibility_controller_.get()); | 1103 DCHECK(visibility_controller_.get()); |
| 1110 DCHECK(drag_drop_controller_.get()); | 1104 DCHECK(drag_drop_controller_.get()); |
| 1111 | 1105 |
| 1112 aura::client::SetFocusClient(root_window, focus_client_.get()); | 1106 aura::client::SetFocusClient(root_window, focus_client_.get()); |
| 1113 input_method_filter_->SetInputMethodPropertyInRootWindow(root_window); | |
| 1114 aura::client::SetActivationClient(root_window, activation_client_); | 1107 aura::client::SetActivationClient(root_window, activation_client_); |
| 1115 ::wm::FocusController* focus_controller = | 1108 ::wm::FocusController* focus_controller = |
| 1116 static_cast< ::wm::FocusController*>(activation_client_); | 1109 static_cast< ::wm::FocusController*>(activation_client_); |
| 1117 root_window->AddPreTargetHandler(focus_controller); | 1110 root_window->AddPreTargetHandler(focus_controller); |
| 1118 aura::client::SetVisibilityClient(root_window, visibility_controller_.get()); | 1111 aura::client::SetVisibilityClient(root_window, visibility_controller_.get()); |
| 1119 aura::client::SetDragDropClient(root_window, drag_drop_controller_.get()); | 1112 aura::client::SetDragDropClient(root_window, drag_drop_controller_.get()); |
| 1120 aura::client::SetScreenPositionClient(root_window, | 1113 aura::client::SetScreenPositionClient(root_window, |
| 1121 screen_position_controller_.get()); | 1114 screen_position_controller_.get()); |
| 1122 aura::client::SetCursorClient(root_window, &cursor_manager_); | 1115 aura::client::SetCursorClient(root_window, &cursor_manager_); |
| 1123 aura::client::SetTooltipClient(root_window, tooltip_controller_.get()); | 1116 aura::client::SetTooltipClient(root_window, tooltip_controller_.get()); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1177 //////////////////////////////////////////////////////////////////////////////// | 1170 //////////////////////////////////////////////////////////////////////////////// |
| 1178 // Shell, aura::client::ActivationChangeObserver implementation: | 1171 // Shell, aura::client::ActivationChangeObserver implementation: |
| 1179 | 1172 |
| 1180 void Shell::OnWindowActivated(aura::Window* gained_active, | 1173 void Shell::OnWindowActivated(aura::Window* gained_active, |
| 1181 aura::Window* lost_active) { | 1174 aura::Window* lost_active) { |
| 1182 if (gained_active) | 1175 if (gained_active) |
| 1183 target_root_window_ = gained_active->GetRootWindow(); | 1176 target_root_window_ = gained_active->GetRootWindow(); |
| 1184 } | 1177 } |
| 1185 | 1178 |
| 1186 } // namespace ash | 1179 } // namespace ash |
| OLD | NEW |