Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(602)

Side by Side Diff: ash/shell.cc

Issue 1155013005: Refactoring the ownership of ui::InputMethod. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed bot failure: cast_shell_linux Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698