| Index: ui/views/mus/native_widget_mus.cc
|
| diff --git a/ui/views/mus/native_widget_mus.cc b/ui/views/mus/native_widget_mus.cc
|
| index e52e56f722e8f3ae42e086a857ddeccd434a0938..081fa34674ed589fbe0f28ee26e546d9a25586f1 100644
|
| --- a/ui/views/mus/native_widget_mus.cc
|
| +++ b/ui/views/mus/native_widget_mus.cc
|
| @@ -20,6 +20,7 @@
|
| #include "ui/aura/client/default_capture_client.h"
|
| #include "ui/aura/client/window_tree_client.h"
|
| #include "ui/aura/env.h"
|
| +#include "ui/aura/env_input_state_controller.h"
|
| #include "ui/aura/layout_manager.h"
|
| #include "ui/aura/mus/mus_util.h"
|
| #include "ui/aura/window.h"
|
| @@ -485,6 +486,7 @@ NativeWidgetMus::NativeWidgetMus(internal::NativeWidgetDelegate* delegate,
|
| show_state_before_fullscreen_(mus::mojom::ShowState::DEFAULT),
|
| ownership_(Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET),
|
| content_(new aura::Window(this)),
|
| + aura_env_controller_(new aura::EnvInputStateController),
|
| close_widget_factory_(this) {
|
| window_->set_input_event_handler(this);
|
| mus_window_observer_.reset(new MusWindowObserver(this));
|
| @@ -1317,9 +1319,16 @@ void NativeWidgetMus::OnWindowInputEvent(
|
| EventAckHandler ack_handler(std::move(*ack_callback));
|
|
|
| std::unique_ptr<ui::Event> event = ui::Event::Clone(event_in);
|
| - // TODO(markdittmer): This should be this->OnEvent(event.get()), but that
|
| - // can't happen until IME is refactored out of in WindowTreeHostMus.
|
| - platform_window_delegate()->DispatchEvent(event.get());
|
| +
|
| + if (!event->IsKeyEvent()) {
|
| + if (event->IsMouseEvent())
|
| + aura_env_controller_->PreDispatchMouseEvent(event->AsMouseEvent());
|
| + OnEvent(event.get());
|
| + } else {
|
| + // TODO(markdittmer): This should be this->OnEvent(event.get()), but that
|
| + // can't happen until IME is refactored out of in WindowTreeHostMus.
|
| + platform_window_delegate()->DispatchEvent(event.get());
|
| + }
|
| // NOTE: |this| may be deleted.
|
|
|
| ack_handler.set_handled(event->handled());
|
|
|