Chromium Code Reviews| Index: ui/aura/mus/window_tree_client.cc |
| diff --git a/ui/aura/mus/window_tree_client.cc b/ui/aura/mus/window_tree_client.cc |
| index 36c391c82004fbf21180ec616d417049593d6ace..d5aa6dc3143f445b47ba86c8ee66ac8d81c352ee 100644 |
| --- a/ui/aura/mus/window_tree_client.cc |
| +++ b/ui/aura/mus/window_tree_client.cc |
| @@ -162,6 +162,17 @@ void ConvertEventLocationToDip(int64_t display_id, ui::LocatedEvent* event) { |
| event->set_root_location(root_location); |
| } |
| +std::unique_ptr<ui::Event> MapEvent(const ui::Event& event) { |
|
sky
2017/03/31 20:57:30
Please add a comment.
riajiang
2017/03/31 21:17:41
Done.
|
| + if (event.IsMousePointerEvent()) { |
| + if (event.type() == ui::ET_POINTER_WHEEL_CHANGED) |
| + return base::MakeUnique<ui::MouseWheelEvent>(*event.AsPointerEvent()); |
| + return base::MakeUnique<ui::MouseEvent>(*event.AsPointerEvent()); |
| + } else if (event.IsTouchPointerEvent()) { |
|
sky
2017/03/31 20:57:30
no else after return (see chromium style guide).
riajiang
2017/03/31 21:17:41
Done.
|
| + return base::MakeUnique<ui::TouchEvent>(*event.AsPointerEvent()); |
| + } |
| + return ui::Event::Clone(event); |
| +} |
| + |
| // Set the |target| to be the target window of this |event| and send it to |
| // the EventSink. |
| void DispatchEventToTarget(ui::Event* event, WindowMus* target) { |
| @@ -1238,21 +1249,9 @@ void WindowTreeClient::OnWindowInputEvent(uint32_t event_id, |
| EventAckHandler ack_handler(CreateEventResultCallback(event_id)); |
| // 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()) { |
| - if (event->type() == ui::ET_POINTER_WHEEL_CHANGED) { |
| - ui::MouseWheelEvent mapped_event(*event->AsPointerEvent()); |
| - DispatchEventToTarget(&mapped_event, window); |
| - } else { |
| - ui::MouseEvent mapped_event(*event->AsPointerEvent()); |
| - DispatchEventToTarget(&mapped_event, window); |
| - } |
| - } else if (event->IsTouchPointerEvent()) { |
| - ui::TouchEvent mapped_event(*event->AsPointerEvent()); |
| - DispatchEventToTarget(&mapped_event, window); |
| - } else { |
| - DispatchEventToTarget(event.get(), window); |
| - } |
| - ack_handler.set_handled(event->handled()); |
| + std::unique_ptr<ui::Event> mapped_event = MapEvent(*event.get()); |
| + DispatchEventToTarget(mapped_event.get(), window); |
| + ack_handler.set_handled(mapped_event->handled()); |
| } |
| void WindowTreeClient::OnPointerEventObserved(std::unique_ptr<ui::Event> event, |