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 |
11 #include "ash/accelerators/accelerator_controller_delegate_aura.h" | |
12 #include "ash/accelerators/accelerator_delegate.h" | 11 #include "ash/accelerators/accelerator_delegate.h" |
13 #include "ash/accelerators/magnifier_key_scroller.h" | 12 #include "ash/accelerators/magnifier_key_scroller.h" |
14 #include "ash/accelerators/spoken_feedback_toggler.h" | 13 #include "ash/accelerators/spoken_feedback_toggler.h" |
15 #include "ash/app_list/app_list_delegate_impl.h" | 14 #include "ash/app_list/app_list_delegate_impl.h" |
16 #include "ash/aura/wm_shell_aura.h" | 15 #include "ash/aura/wm_shell_aura.h" |
17 #include "ash/autoclick/autoclick_controller.h" | 16 #include "ash/autoclick/autoclick_controller.h" |
18 #include "ash/common/accelerators/accelerator_controller.h" | 17 #include "ash/common/accelerators/accelerator_controller.h" |
19 #include "ash/common/accelerators/ash_focus_manager_factory.h" | 18 #include "ash/common/accelerators/ash_focus_manager_factory.h" |
20 #include "ash/common/accessibility_delegate.h" | 19 #include "ash/common/accessibility_delegate.h" |
21 #include "ash/common/ash_constants.h" | 20 #include "ash/common/ash_constants.h" |
(...skipping 815 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
837 if (!is_mash) { | 836 if (!is_mash) { |
838 resolution_notification_controller_.reset( | 837 resolution_notification_controller_.reset( |
839 new ResolutionNotificationController); | 838 new ResolutionNotificationController); |
840 } | 839 } |
841 | 840 |
842 if (cursor_manager_) { | 841 if (cursor_manager_) { |
843 cursor_manager_->SetDisplay( | 842 cursor_manager_->SetDisplay( |
844 display::Screen::GetScreen()->GetPrimaryDisplay()); | 843 display::Screen::GetScreen()->GetPrimaryDisplay()); |
845 } | 844 } |
846 | 845 |
847 if (!is_mash) { | 846 accelerator_controller_ = wm_shell_->CreateAcceleratorController(); |
848 // TODO(sky): move this to WmShell. http://crbug.com/671246. | |
849 accelerator_controller_delegate_.reset( | |
850 new AcceleratorControllerDelegateAura); | |
851 wm_shell_->SetAcceleratorController(base::MakeUnique<AcceleratorController>( | |
852 accelerator_controller_delegate_.get(), nullptr)); | |
853 } | |
854 wm_shell_->CreateMaximizeModeController(); | 847 wm_shell_->CreateMaximizeModeController(); |
855 | 848 |
856 if (!is_mash) { | 849 if (!is_mash) { |
857 AddPreTargetHandler( | 850 AddPreTargetHandler( |
858 window_tree_host_manager_->input_method_event_handler()); | 851 window_tree_host_manager_->input_method_event_handler()); |
859 } | 852 } |
860 | 853 |
861 magnifier_key_scroll_handler_ = MagnifierKeyScroller::CreateHandler(); | 854 magnifier_key_scroll_handler_ = MagnifierKeyScroller::CreateHandler(); |
862 AddPreTargetHandler(magnifier_key_scroll_handler_.get()); | 855 AddPreTargetHandler(magnifier_key_scroll_handler_.get()); |
863 speech_feedback_handler_ = SpokenFeedbackToggler::CreateHandler(); | 856 speech_feedback_handler_ = SpokenFeedbackToggler::CreateHandler(); |
864 AddPreTargetHandler(speech_feedback_handler_.get()); | 857 AddPreTargetHandler(speech_feedback_handler_.get()); |
865 | 858 |
866 // The order in which event filters are added is significant. | 859 // The order in which event filters are added is significant. |
867 | 860 |
868 // ui::UserActivityDetector passes events to observers, so let them get | 861 // ui::UserActivityDetector passes events to observers, so let them get |
869 // rewritten first. | 862 // rewritten first. |
870 user_activity_detector_.reset(new ui::UserActivityDetector); | 863 user_activity_detector_.reset(new ui::UserActivityDetector); |
871 | 864 |
872 overlay_filter_.reset(new OverlayEventFilter); | 865 overlay_filter_.reset(new OverlayEventFilter); |
873 AddPreTargetHandler(overlay_filter_.get()); | 866 AddPreTargetHandler(overlay_filter_.get()); |
874 AddShellObserver(overlay_filter_.get()); | 867 AddShellObserver(overlay_filter_.get()); |
875 | 868 |
876 accelerator_filter_.reset(new ::wm::AcceleratorFilter( | 869 accelerator_filter_.reset(new ::wm::AcceleratorFilter( |
877 std::unique_ptr<::wm::AcceleratorDelegate>(new AcceleratorDelegate), | 870 std::unique_ptr<::wm::AcceleratorDelegate>(new AcceleratorDelegate), |
878 wm_shell_->accelerator_controller()->accelerator_history())); | 871 accelerator_controller_->accelerator_history())); |
879 AddPreTargetHandler(accelerator_filter_.get()); | 872 AddPreTargetHandler(accelerator_filter_.get()); |
880 | 873 |
881 event_transformation_handler_.reset(new EventTransformationHandler); | 874 event_transformation_handler_.reset(new EventTransformationHandler); |
882 AddPreTargetHandler(event_transformation_handler_.get()); | 875 AddPreTargetHandler(event_transformation_handler_.get()); |
883 | 876 |
884 toplevel_window_event_handler_.reset( | 877 toplevel_window_event_handler_.reset( |
885 new ToplevelWindowEventHandler(wm_shell_.get())); | 878 new ToplevelWindowEventHandler(wm_shell_.get())); |
886 | 879 |
887 if (!is_mash) { | 880 if (!is_mash) { |
888 system_gesture_filter_.reset(new SystemGestureEventFilter); | 881 system_gesture_filter_.reset(new SystemGestureEventFilter); |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1103 void Shell::OnWindowActivated( | 1096 void Shell::OnWindowActivated( |
1104 aura::client::ActivationChangeObserver::ActivationReason reason, | 1097 aura::client::ActivationChangeObserver::ActivationReason reason, |
1105 aura::Window* gained_active, | 1098 aura::Window* gained_active, |
1106 aura::Window* lost_active) { | 1099 aura::Window* lost_active) { |
1107 WmWindow* gained_active_wm = WmWindow::Get(gained_active); | 1100 WmWindow* gained_active_wm = WmWindow::Get(gained_active); |
1108 if (gained_active_wm) | 1101 if (gained_active_wm) |
1109 root_window_for_new_windows_ = gained_active_wm->GetRootWindow(); | 1102 root_window_for_new_windows_ = gained_active_wm->GetRootWindow(); |
1110 } | 1103 } |
1111 | 1104 |
1112 } // namespace ash | 1105 } // namespace ash |
OLD | NEW |