New issue
Advanced search Search tips

Issue 726824 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Dec 10
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

Normalize all angle definitions in chromium/Blink to PointerEvent spec

Project Member Reported by mustaq@chromium.org, May 26 2017

Issue description

We 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).
 

Comment 1 by mustaq@chromium.org, May 26 2017

Description: Show this description
Project Member

Comment 2 by bugdroid1@chromium.org, 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

Project Member

Comment 3 by sheriffbot@chromium.org, Dec 10

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
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
Labels: -Hotlist-Recharge-Cold Hotlist-CodeHealth
Status: WontFix (was: Untriaged)

Sign in to add a comment