TPE DOM/Pointer events
Contents
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
- Fix crashes and critical issues breaking existing mouse and touch experiences
- Automation test enhancement
- Schedule
- 2016 Q3
- Checking point: 2016 8E
- Tasks
- 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
- QA perform manual tests upon major websites on Windows Desktop
- Fix blocking issues
- High-level click events
- Compatibility mouse events
- Implement pointer capture behaviors
- Fire boundary events
- Add PEv2 stylus attributes
- After fixing blocking issues reported by QA, we plan to invite community members to test the feature widely.
- Schedule - Target riding Firefox 53 Nightly (on track)
- Acceptance criteria
- Milestone 3 - To enable PE on Linux on Nightly 55 <DONE>
- Acceptance criteria
- Web-platform-tests all pass
- No regression on existing mouse, touch and pen experiences
- To work with QA
- Tasks
- WidgetPointer arch proposal discussion - Investigate Linux, Fennec, Windows (confirmed with reviewer)
- https://bugzilla.mozilla.org/show_bug.cgi?id=1324956
- Acceptance criteria
- Milestone 4 - MAC: target on FF 55 <DONE>
- Milestone 5 - Ride the train to release <WE'RE HERE>
- Target release: 59
PHASE 2 - Enabling PE on Fennec Nightly
- TBD
Project Dashboard
Meta Bugs
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
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:
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
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 |
| |||
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 |
|
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 |
| |||
Issue | Description | Status | Comments/Corresponding Action | |
Linux testing support on SV side | Need to confirm SV's resource and testing equipment | Closed |
| |
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 |
| |
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 |
| |||
Issue | Description | Status | Comments/Corresponding Action | |
Linux testing support on SV side | Need to confirm SV's resource and testing equipment | Closed |
| |
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. |