Index: ash/shell.cc |
diff --git a/ash/shell.cc b/ash/shell.cc |
index f5f224642abbf3f60e1f7a33a71b664ddcde8511..0ab56a0e9b79af50aa9868617764ed45914e0d9b 100644 |
--- a/ash/shell.cc |
+++ b/ash/shell.cc |
@@ -269,9 +269,14 @@ void Shell::DeleteInstance() { |
} |
void Shell::Init() { |
- // InputMethodEventFilter must be added first since it has the highest |
- // priority. |
- DCHECK(!GetRootWindowEventFilterCount()); |
+ // AcceleratorFilter and InputMethodEventFilter must be added (in this order) |
+ // since they have the highest priority. |
+ DCHECK_EQ(0U, GetRootWindowEventFilterCount()); |
+#if !defined(OS_MACOSX) |
+ accelerator_filter_.reset(new internal::AcceleratorFilter); |
+ AddRootWindowEventFilter(accelerator_filter_.get()); |
+ DCHECK_EQ(1U, GetRootWindowEventFilterCount()); |
+#endif |
input_method_filter_.reset(new internal::InputMethodEventFilter); |
AddRootWindowEventFilter(input_method_filter_.get()); |
@@ -332,11 +337,6 @@ void Shell::Init() { |
visibility_controller_.reset(new internal::VisibilityController); |
aura::client::SetVisibilityClient(visibility_controller_.get()); |
-#if !defined(OS_MACOSX) |
- accelerator_filter_.reset(new internal::AcceleratorFilter); |
- AddRootWindowEventFilter(accelerator_filter_.get()); |
-#endif |
- |
tooltip_controller_.reset(new internal::TooltipController); |
AddRootWindowEventFilter(tooltip_controller_.get()); |
aura::client::SetTooltipClient(tooltip_controller_.get()); |