| Index: ash/shell.cc
|
| ===================================================================
|
| --- ash/shell.cc (revision 226033)
|
| +++ ash/shell.cc (working copy)
|
| @@ -194,7 +194,6 @@
|
| // messages don't have a target window.
|
| base::MessagePumpX11::Current()->AddObserver(output_configurator());
|
| #endif // defined(OS_CHROMEOS)
|
| - AddPreTargetHandler(this);
|
|
|
| #if defined(OS_CHROMEOS)
|
| internal::PowerStatus::Initialize();
|
| @@ -216,7 +215,6 @@
|
| RemovePreTargetHandler(user_activity_detector_.get());
|
| RemovePreTargetHandler(overlay_filter_.get());
|
| RemovePreTargetHandler(input_method_filter_.get());
|
| - RemovePreTargetHandler(window_modality_controller_.get());
|
| if (mouse_cursor_filter_)
|
| RemovePreTargetHandler(mouse_cursor_filter_.get());
|
| RemovePreTargetHandler(system_gesture_filter_.get());
|
| @@ -429,6 +427,14 @@
|
| // Launcher, and WallPaper could be created by the factory.
|
| views::FocusManagerFactory::Install(new AshFocusManagerFactory);
|
|
|
| + // The WindowModalityController needs to be at the front of the input event
|
| + // pretarget handler list to ensure that it processes input events when modal
|
| + // windows are active.
|
| + window_modality_controller_.reset(
|
| + new views::corewm::WindowModalityController(this));
|
| +
|
| + AddPreTargetHandler(this);
|
| +
|
| env_filter_.reset(new views::corewm::CompoundEventFilter);
|
| AddPreTargetHandler(env_filter_.get());
|
|
|
| @@ -510,9 +516,6 @@
|
| // RootWindowController as possible.
|
| visibility_controller_.reset(new AshVisibilityController);
|
| user_action_client_.reset(delegate_->CreateUserActionClient());
|
| - window_modality_controller_.reset(
|
| - new views::corewm::WindowModalityController);
|
| - AddPreTargetHandler(window_modality_controller_.get());
|
|
|
| magnification_controller_.reset(
|
| MagnificationController::CreateInstance());
|
|
|