Chromium Code Reviews| 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 660 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 671 // Please keep in same order as in Init() because it's easy to miss one. | 671 // Please keep in same order as in Init() because it's easy to miss one. |
| 672 if (window_modality_controller_) | 672 if (window_modality_controller_) |
| 673 window_modality_controller_.reset(); | 673 window_modality_controller_.reset(); |
| 674 #if defined(OS_CHROMEOS) | 674 #if defined(OS_CHROMEOS) |
| 675 RemovePreTargetHandler(magnifier_key_scroll_handler_.get()); | 675 RemovePreTargetHandler(magnifier_key_scroll_handler_.get()); |
| 676 magnifier_key_scroll_handler_.reset(); | 676 magnifier_key_scroll_handler_.reset(); |
| 677 | 677 |
| 678 RemovePreTargetHandler(speech_feedback_handler_.get()); | 678 RemovePreTargetHandler(speech_feedback_handler_.get()); |
| 679 speech_feedback_handler_.reset(); | 679 speech_feedback_handler_.reset(); |
| 680 #endif | 680 #endif |
| 681 RemovePreTargetHandler(user_activity_detector_.get()); | |
| 682 RemovePreTargetHandler(overlay_filter_.get()); | 681 RemovePreTargetHandler(overlay_filter_.get()); |
| 683 RemovePreTargetHandler(input_method_filter_.get()); | 682 RemovePreTargetHandler(input_method_filter_.get()); |
| 684 RemovePreTargetHandler(accelerator_filter_.get()); | 683 RemovePreTargetHandler(accelerator_filter_.get()); |
| 685 RemovePreTargetHandler(event_transformation_handler_.get()); | 684 RemovePreTargetHandler(event_transformation_handler_.get()); |
| 686 RemovePreTargetHandler(toplevel_window_event_handler_.get()); | 685 RemovePreTargetHandler(toplevel_window_event_handler_.get()); |
| 687 RemovePostTargetHandler(toplevel_window_event_handler_.get()); | 686 RemovePostTargetHandler(toplevel_window_event_handler_.get()); |
| 688 RemovePreTargetHandler(system_gesture_filter_.get()); | 687 RemovePreTargetHandler(system_gesture_filter_.get()); |
| 689 RemovePreTargetHandler(keyboard_metrics_filter_.get()); | 688 RemovePreTargetHandler(keyboard_metrics_filter_.get()); |
| 690 RemovePreTargetHandler(mouse_cursor_filter_.get()); | 689 RemovePreTargetHandler(mouse_cursor_filter_.get()); |
| 691 | 690 |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 915 AddPreTargetHandler(magnifier_key_scroll_handler_.get()); | 914 AddPreTargetHandler(magnifier_key_scroll_handler_.get()); |
| 916 speech_feedback_handler_ = SpokenFeedbackToggler::CreateHandler(); | 915 speech_feedback_handler_ = SpokenFeedbackToggler::CreateHandler(); |
| 917 AddPreTargetHandler(speech_feedback_handler_.get()); | 916 AddPreTargetHandler(speech_feedback_handler_.get()); |
| 918 #endif | 917 #endif |
| 919 | 918 |
| 920 // The order in which event filters are added is significant. | 919 // The order in which event filters are added is significant. |
| 921 | 920 |
| 922 // ui::UserActivityDetector passes events to observers, so let them get | 921 // ui::UserActivityDetector passes events to observers, so let them get |
| 923 // rewritten first. | 922 // rewritten first. |
| 924 user_activity_detector_.reset(new ui::UserActivityDetector); | 923 user_activity_detector_.reset(new ui::UserActivityDetector); |
| 925 AddPreTargetHandler(user_activity_detector_.get()); | |
|
oshima
2015/03/10 22:24:10
You need to remove the pre target handler in dtor.
afakhry
2015/03/10 22:28:58
I did that already above, didn't I? Am I missing s
oshima
2015/03/10 22:56:51
Oh, sorry. I somehow missed that change. ash lgtm
| |
| 926 | 924 |
| 927 overlay_filter_.reset(new OverlayEventFilter); | 925 overlay_filter_.reset(new OverlayEventFilter); |
| 928 AddPreTargetHandler(overlay_filter_.get()); | 926 AddPreTargetHandler(overlay_filter_.get()); |
| 929 AddShellObserver(overlay_filter_.get()); | 927 AddShellObserver(overlay_filter_.get()); |
| 930 | 928 |
| 931 input_method_filter_.reset(new ::wm::InputMethodEventFilter( | 929 input_method_filter_.reset(new ::wm::InputMethodEventFilter( |
| 932 root_window->GetHost()->GetAcceleratedWidget())); | 930 root_window->GetHost()->GetAcceleratedWidget())); |
| 933 AddPreTargetHandler(input_method_filter_.get()); | 931 AddPreTargetHandler(input_method_filter_.get()); |
| 934 | 932 |
| 935 accelerator_filter_.reset(new ::wm::AcceleratorFilter( | 933 accelerator_filter_.reset(new ::wm::AcceleratorFilter( |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1170 //////////////////////////////////////////////////////////////////////////////// | 1168 //////////////////////////////////////////////////////////////////////////////// |
| 1171 // Shell, aura::client::ActivationChangeObserver implementation: | 1169 // Shell, aura::client::ActivationChangeObserver implementation: |
| 1172 | 1170 |
| 1173 void Shell::OnWindowActivated(aura::Window* gained_active, | 1171 void Shell::OnWindowActivated(aura::Window* gained_active, |
| 1174 aura::Window* lost_active) { | 1172 aura::Window* lost_active) { |
| 1175 if (gained_active) | 1173 if (gained_active) |
| 1176 target_root_window_ = gained_active->GetRootWindow(); | 1174 target_root_window_ = gained_active->GetRootWindow(); |
| 1177 } | 1175 } |
| 1178 | 1176 |
| 1179 } // namespace ash | 1177 } // namespace ash |
| OLD | NEW |