| Index: services/ui/public/cpp/lib/window_tree_client.cc
|
| diff --git a/services/ui/public/cpp/lib/window_tree_client.cc b/services/ui/public/cpp/lib/window_tree_client.cc
|
| index b37771cc3fa49eb7e1a354429d7ac31ef27ba9fe..15dbacce25d195452847b8c3aee9764d87b2fa57 100644
|
| --- a/services/ui/public/cpp/lib/window_tree_client.cc
|
| +++ b/services/ui/public/cpp/lib/window_tree_client.cc
|
| @@ -593,6 +593,18 @@ void WindowTreeClient::OnWmMoveLoopCompleted(uint32_t change_id,
|
| }
|
| }
|
|
|
| +void WindowTreeClient::SendToEventObserver(const ui::Event& event,
|
| + Window* target) {
|
| + // TODO(moshayedi): crbug.com/617222. No need to convert to ui::MouseEvent or
|
| + // ui::TouchEvent once we have proper support for pointer events.
|
| + if (event.IsMousePointerEvent())
|
| + delegate_->OnEventObserved(ui::MouseEvent(*event.AsPointerEvent()), target);
|
| + else if (event.IsTouchPointerEvent())
|
| + delegate_->OnEventObserved(ui::TouchEvent(*event.AsPointerEvent()), target);
|
| + else
|
| + delegate_->OnEventObserved(event, target);
|
| +}
|
| +
|
| ////////////////////////////////////////////////////////////////////////////////
|
| // WindowTreeClient, WindowTreeClient implementation:
|
|
|
| @@ -980,7 +992,7 @@ void WindowTreeClient::OnWindowInputEvent(uint32_t event_id,
|
| // server.
|
| if (event_observer_id != 0 && has_event_observer_ &&
|
| event_observer_id == event_observer_id_)
|
| - delegate_->OnEventObserved(*event.get(), window);
|
| + SendToEventObserver(*event, window);
|
|
|
| if (!window || !window->input_event_handler_) {
|
| tree_->OnWindowInputEventAck(event_id, mojom::EventResult::UNHANDLED);
|
| @@ -1015,7 +1027,7 @@ void WindowTreeClient::OnEventObserved(std::unique_ptr<ui::Event> event,
|
| uint32_t event_observer_id) {
|
| DCHECK(event);
|
| if (has_event_observer_ && event_observer_id == event_observer_id_)
|
| - delegate_->OnEventObserved(*event.get(), nullptr /* target */);
|
| + SendToEventObserver(*event, nullptr /* target */);
|
| }
|
|
|
| void WindowTreeClient::OnWindowFocused(Id focused_window_id) {
|
|
|