Normalize all angle definitions in chromium/Blink to PointerEvent spec |
|||
Issue descriptionWe have quite a few angle fields in internal event plumbing layers, to represent contact surface orientation (2D) & pen orientation (3D). These were added & modified incrementally over a long period of time, and in a pretty inconsistent state in terms of their definitions. For example, for contact surface orientation angle, we have duplicate fields at the ui level: - ui::TouchEvent::rotation_angle_ --- follows the MotionEvent spec. - ui::PointerDetails::twist --- follows the PointerEvent spec. - And none of them follows the TouchEvent spec, at least as far as I can recall from the comments. This is confusing for code changes. Moreover, we sometimes go through redundant angle conversions in the event path. We recently fixed some of the Android angles to follow PointerEvent spec here: https://codereview.chromium.org/2860793003/ This is non-trivial to fix because the definitions involve different ranges and "base vectors" for angle measurement. We have to be careful at every edge case. We should move all internal angle plumbing to the PointerEvent spec since this is the most expressive one (see the CL above for a quick explanation).
,
Dec 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/95761c25071b7d4f4f7c0f165f182ff893b36b2c commit 95761c25071b7d4f4f7c0f165f182ff893b36b2c Author: Yeol <peary2@gmail.com> Date: Fri Dec 08 17:06:56 2017 Remove |rotation_angle_| from ui::TouchEvent. Rotation angle should use twist in PointerDetails for PointerEvent spec. Bug: 726824 Change-Id: I944ed454df6ea2246a9f3c16879da621f64fca65 Reviewed-on: https://chromium-review.googlesource.com/773765 Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Mustaq Ahmed <mustaq@chromium.org> Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org> Commit-Queue: Mustaq Ahmed <mustaq@chromium.org> Cr-Commit-Position: refs/heads/master@{#522801} [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/aura/gestures/gesture_recognizer_unittest.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/blink/web_input_event_unittest.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/cocoa/events_mac.mm [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/event.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/event.h [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/event_unittest.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/event_utils.h [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/events_default.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/events_stub.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/gestures/motion_event_aura.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/gestures/motion_event_aura_unittest.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/mojo/event_struct_traits.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/mojo/struct_traits_unittest.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/ozone/evdev/tablet_event_converter_evdev.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/ozone/evdev/touch_event_converter_evdev.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/test/event_generator.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/win/events_win.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/x/events_x.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/events/x/events_x_unittest.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/views/win/hwnd_message_handler.cc [modify] https://crrev.com/95761c25071b7d4f4f7c0f165f182ff893b36b2c/ui/views/win/pen_event_processor.cc
,
Dec 10
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Dec 10
|
|||
►
Sign in to add a comment |
|||
Comment 1 by mustaq@chromium.org
, May 26 2017