TPE DOM/Pointer events

From MozillaWiki
Jump to: navigation, search

Introduction

This project is to support events and related interfaces for handling hardware pointer input from various devices including a mouse, pen, touchscreen, etc. There's implementation prefed-off on Nightly due to lack of stability. We will start from enabling the feature for Desktop again on Nightly then on Fennec.

References:

Main Members

Engineers: Stone Shih (main contact), Ben Hsu

QA contact: Alexandru Simonca (:asimonca)

Meeting Minutes & Project Status

Sync-up meeting gdoc or etherpad

Test plan and test cases

Roadmap

Current Status Overview <We are here>

We're at Milestone 5 - ride to train and expecting to let Pointer Events default on in 59.

Details

  • Milestone 1 - support major Pointer events behaviors on Windows Desktop with Pref-off on Nightly 52 <DONE>
    • Tasks
    • Schedule
      • 2016 Q3
      • Checking point: 2016 8E
  • Milestone 2 - To enable PE on Windows on Nightly 53 <DONE, enabled on Nightly 54>
    • Acceptance criteria
      • Web-platform-tests all pass
      • No regression on existing mouse, touch and pen experiences
      • To work with QA
    • Tasks
    • Schedule - Target riding Firefox 53 Nightly (on track)

PHASE 2 - Enabling PE on Fennec Nightly

  • TBD

Project Dashboard

Meta Bugs

Full Query
ID Summary Priority Status
822898 [meta] Implement pointer events P3 RESOLVED
1166347 Enabling pointer events in Nightly builds P3 RESOLVED

2 Total; 0 Open (0%); 2 Resolved (100%); 0 Verified (0%);


Milestone_1 Bugs & Progress

Implementation part: Miscelleous & Crashes fixing - DONE

Full Query
ID Summary Status Target milestone Resolution Assigned to Depends on Blocks
1258808 Pointer event ids are always 0 RESOLVED mozilla51 FIXED Ben Hsu [:HoPang] 1166347

1 Total; 0 Open (0%); 1 Resolved (100%); 0 Verified (0%);


Testing refinement:

Full Query
ID Summary Status Target milestone Resolution Assigned to Depends on Blocks
1299199 [Pointer Events] Replace all `sendPointerEvent()` with `sendMouseEvent()` in testcases. RESOLVED mozilla51 FIXED Ben Hsu [:HoPang] 1302034, 1299024
1299202 [Pointer Events] Make sure only `mousemove`, `mousedown`, `mouseup` and `mousecancel` used in testcases RESOLVED --- DUPLICATE Ben Hsu [:HoPang] 1299024
1299209 [Pointer Events] PointerId should be covered in PE test automation. RESOLVED mozilla53 FIXED Ben Hsu [:HoPang] 1299024
1299215 [Pointer Events] Decouple `button` and `buttons` when synthesizing Widget Events. RESOLVED --- DUPLICATE Ben Hsu [:HoPang] 1299024
1302297 [Pointer Events] Correct the `button` values used by current mochitest wrappers. RESOLVED mozilla53 FIXED Ben Hsu [:HoPang] 1299024

5 Total; 0 Open (0%); 5 Resolved (100%); 0 Verified (0%);


Milestone_2 Bugs & Progress

Full Query
ID Summary Status Target milestone Resolution Assigned to Whiteboard
1258804 FireFox crashes on a pointerevent capturing scenario RESOLVED mozilla51 FIXED Ming-Chou Shih [:stone] [tw-dom] btpp-active
1290805 Attributes of gotpointercapture and lostpointercapture should be the same as the pointer event that causes them RESOLVED --- DUPLICATE Ming-Chou Shih [:stone]
1293129 [Pointer Event] Support digitizer / pen on windows RESOLVED --- FIXED Ming-Chou Shih [:stone]
1293174 [Pointer Event] Implement implicit pointer capture for touch RESOLVED mozilla52 FIXED Ming-Chou Shih [:stone]
1293176 [Pointer Event] Suppress boundary events when captured RESOLVED --- DUPLICATE Ming-Chou Shih [:stone]
1294335 [Pointer Event] Refine setPointerCapture / releasePointerCapture to follow the algorithm defined in the spec RESOLVED mozilla51 FIXED Ming-Chou Shih [:stone]
1315245 The text on www.addtext.com can't be moved if Pointer Events is preffed on RESOLVED mozilla53 FIXED Ming-Chou Shih [:stone]
1315254 Scrolling the page using the swipe gesture with a pen does not work when Pointer Events is preffed on RESOLVED --- INVALID Ming-Chou Shih [:stone]
1315264 Minimizing or maximizing the window with a stylus throws black lines on www.addtext.com when Pointer Events is preffed on RESOLVED mozilla53 FIXED Ming-Chou Shih [:stone]
1315676 The site http://patrickhlauke.github.io/touch/pen-tracker/ does not work as intended with stylus RESOLVED --- WORKSFORME Ming-Chou Shih [:stone]
1323151 [PointerEvents][web-platform-tests] Fail to get expect result status when running "pointerevent_attributes_hoverable_pointers-manual" RESOLVED --- WORKSFORME Ming-Chou Shih [:stone]
1323156 [PointerEvents][web-platform-tests] Fail to get expect result status when running "pointerevent_attributes_nohover_pointers-manual" RESOLVED --- WORKSFORME Ming-Chou Shih [:stone]
1323158 [PointerEvents][web-platform-tests] Fail to get expect result status when running "pointerevent_capture_suppressing_mouse-manual" RESOLVED mozilla55 FIXED Ming-Chou Shih [:stone]
1323159 [PointerEvents][web-platform-tests] Fail to get expect result status when running "pointerevent_element_haspointercapture-manual" RESOLVED --- WORKSFORME Ming-Chou Shih [:stone]
1323160 [PointerEvents][web-platform-tests] Fail to get expect result status when running "pointerevent_suppress_compat_events_on_click-manual" RESOLVED --- DUPLICATE Ming-Chou Shih [:stone]
1323161 [PointerEvents][web-platform-tests] Fail to get expect result status when running "pointerevent_suppress_compat_events_on_drag_mouse-manual" RESOLVED --- DUPLICATE Ming-Chou Shih [:stone]
1323164 [PointerEvents][web-platform-tests] Fail to get expect result status when running "pointerevent_setpointercapture_relatedtarget-manual" RESOLVED --- WORKSFORME Ming-Chou Shih [:stone]
1323400 [PointerEvents] Long taps keeps firing the "pointermove" RESOLVED mozilla67 FIXED Edgar Chen [:edgar]
1326147 [PointerEvents] Bing's map should not be moved when tapping the stylus on the screen RESOLVED --- WORKSFORME Ming-Chou Shih [:stone]
1345398 Browser is hung when I long press a link with a stylus with PointerEvents enabled RESOLVED mozilla55 FIXED Ming-Chou Shih [:stone]
1365197 [Pointer Events] Tap and double-tap are unresponsive on maps.google.com if Pointer Events is preffed off RESOLVED --- INVALID Ming-Chou Shih [:stone]
1414336 [Pointer Events] The main menu from calacademy.org is unresponsive if Pointer Events is preffed on VERIFIED mozilla59 FIXED Ming-Chou Shih [:stone]

22 Total; 0 Open (0%); 21 Resolved (95.45%); 1 Verified (4.55%);


Archive & History

Milestone 2 To enable PE on Windows on Nightly 53
Target schedule Riding Firefox 53 Nightly (on track) (Due to Chinese new year, we are considering pref-on right after the holidays, i.e. 54)
Status DONE
Details
  1. Enabled on Nightly 54
Issue Description Status Comments/Corresponding Action
Ship to Windows only first QA suggested we could consider to ship only to Windows first if PE is going to be better than the current touch events Closed
  • Wait for QA P1 & P2 report first, then ask Reviewer to see if any concerns
  • If suggestion accepted, we will merge two phases into one.
  • [Reviewers' feedback] It's not suggested we ship this feature to a single OS first. We should ship it to Desktop on all OSes together, then Fennec.
Milestone 3 To enable PE on Linux on Nightly 55
Target schedule Riding Firefox 55 Nightly (on track) - turn out to be enabled on 56 Nightly due to Quantum resource allocation and Fingerprinting sec review
Status DONE
Details
  1. SV delivered 55 mid-nightly report (YELLOW) and pre-beta report (GREEN, recommend to ship)
Issue Description Status Comments/Corresponding Action
Linux testing support on SV side Need to confirm SV's resource and testing equipment Closed
  • SV will keep testing this feature for a sign off report.
  • SV doesn't plan to buy a specific linux device, we will send one to them once Taipei QA finishes the 1st round testing for us.
Pending review on https://bugzilla.mozilla.org/show_bug.cgi?id=1324956 Reviewer doesn't think we should do this now, and it's not in his priority Closed
  • After discussion and QA testing, we agreed that it's not within the scope of MVP as current firefox doesn't support linux touch by default.
Fingerprinting Need to have security peers feedback on fingerprinting exposure Closed

Get conclusion on [Bug 1363508 - Consider how to do Anti-fingerprinting for Pointer Events]. Bug 1363508 isn't a blocker to ship PE but we need to get it fixed in FF 59 considering the plan for the anti-fingerprinting project.


Milestone 4 To enable PE on MAC on Nightly 55
Target schedule Riding Firefox 55 Nightly (on track) - turn out to be enabled on 56 Nightly due to Quantum resource allocation and Fingerprinting sec review
Status DONE
Details
  1. SV delivered 55 mid-nightly report (YELLOW) and pre-beta report (GREEN, recommend to ship)
Issue Description Status Comments/Corresponding Action
Linux testing support on SV side Need to confirm SV's resource and testing equipment Closed
  • SV will keep testing this feature for a sign off report.
  • SV doesn't plan to buy a specific Mac device, we will send one to them once Taipei QA finishes the 1st round testing for us.
Fingerprinting Need to have security peers feedback on fingerprinting exposure Closed

Get conclusion on [Bug 1363508 - Consider how to do Anti-fingerprinting for Pointer Events]. Bug 1363508 isn't a blocker to ship PE but we need to get it fixed in FF 59 considering the plan for the anti-fingerprinting project.