| Index: ui/aura_shell/shell.cc
|
| diff --git a/ui/aura_shell/shell.cc b/ui/aura_shell/shell.cc
|
| index 406215edf0c8b29e878f604d4eda60f520fb529d..bad16729fb162a4a795ea2b9be9b60a3c9d6a936 100644
|
| --- a/ui/aura_shell/shell.cc
|
| +++ b/ui/aura_shell/shell.cc
|
| @@ -9,18 +9,19 @@
|
| #include "ui/aura/aura_switches.h"
|
| #include "ui/aura/client/aura_constants.h"
|
| #include "ui/aura/client/drag_drop_client.h"
|
| -#include "ui/aura/root_window.h"
|
| #include "ui/aura/layout_manager.h"
|
| +#include "ui/aura/root_window.h"
|
| #include "ui/aura/window.h"
|
| #include "ui/aura/window_types.h"
|
| #include "ui/aura_shell/app_list.h"
|
| #include "ui/aura_shell/default_container_event_filter.h"
|
| #include "ui/aura_shell/default_container_layout_manager.h"
|
| -#include "ui/aura_shell/root_window_event_filter.h"
|
| -#include "ui/aura_shell/root_window_layout_manager.h"
|
| #include "ui/aura_shell/drag_drop_controller.h"
|
| +#include "ui/aura_shell/input_method_event_filter.h"
|
| #include "ui/aura_shell/launcher/launcher.h"
|
| #include "ui/aura_shell/modal_container_layout_manager.h"
|
| +#include "ui/aura_shell/root_window_event_filter.h"
|
| +#include "ui/aura_shell/root_window_layout_manager.h"
|
| #include "ui/aura_shell/shadow_controller.h"
|
| #include "ui/aura_shell/shelf_layout_manager.h"
|
| #include "ui/aura_shell/shell_accelerator_controller.h"
|
| @@ -122,6 +123,7 @@ Shell::Shell(ShellDelegate* delegate)
|
| }
|
|
|
| Shell::~Shell() {
|
| + RemoveRootWindowEventFilter(input_method_filter_.get());
|
| RemoveRootWindowEventFilter(accelerator_filter_.get());
|
|
|
| // ShellTooltipManager needs a valid shell instance. We delete it before
|
| @@ -233,6 +235,11 @@ void Shell::Init() {
|
| // Force a layout.
|
| root_window_layout->OnWindowResized();
|
|
|
| + // Initialize InputMethodEventFilter. This one must be added first since the
|
| + // filter has the highest priority.
|
| + input_method_filter_.reset(new internal::InputMethodEventFilter);
|
| + AddRootWindowEventFilter(input_method_filter_.get());
|
| +
|
| // Initialize ShellAcceleratorFilter
|
| accelerator_filter_.reset(new internal::ShellAcceleratorFilter);
|
| AddRootWindowEventFilter(accelerator_filter_.get());
|
|
|