TPE DOM/Pointer events

From MozillaWiki
< TPE DOM
Revision as of 03:32, 9 November 2016 by Hsinyi (talk | contribs) (→‎PHASE 1 - Enabling PE on Nightly: ship to windows only note)
Jump to navigation Jump to 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

PHASE 1 - Enabling PE on Nightly

  • Milestone 1 - support major Pointer events behaviors on Windows Desktop with Pref-off on Nightly 52
    • Tasks
    • Schedule
      • 2016 Q3
      • Checking point: 2016 8E
  • Milestone 2 - To enable PE on Windows on Nightly 53 <WE ARE HERE!>
    • 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)
    • NOTE - According to QA feedback, we may consider to ship only to Windows first if PE is going to be better than the current touch events.
      • Open Questions: any concerns to ship this set of API to a certain platform first, instead of all the platforms? if there's no concern, we will merge two phases into one. (should wait for QA testing results first, then ask for Reviewer's comment)
  • Milestone 3 - To enable PE on Linux on Nightly
    • Acceptance criteria
      • Web-platform-tests all pass
      • No regression on existing mouse and touch experiences
      • To work with QA
    • Tasks
      • WidgetPointer arch proposal discussion - Investigate Linux, Fennec, Windows
      • Fix mouse and touch integration bugs on Linux
      • Fix mouse and touch integration bugs on Android
    • Schedule
      • Checking point: 2016 9E (proposal review)
  • Milestone 4 - Android
  • Milestone 5 - MAC

PHASE 2 - Shipping PE to Desktop & Fennec release

  • Acceptance criteria - to clarify
  • Open questions ?
  • Tasks
    • Add Telemetry
  • Target ship date: TBD (2017)

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 Depends on Blocks
1258804 FireFox crashes on a pointerevent capturing scenario RESOLVED mozilla51 FIXED Ming-Chou Shih [:stone] 1166347, 1284185, 1292437, 1294335
1290805 Attributes of gotpointercapture and lostpointercapture should be the same as the pointer event that causes them RESOLVED --- DUPLICATE Ming-Chou Shih [:stone] 1292437
1293174 [Pointer Event] Implement implicit pointer capture for touch RESOLVED mozilla52 FIXED Ming-Chou Shih [:stone] 1292437, 1669729
1293176 [Pointer Event] Suppress boundary events when captured RESOLVED --- DUPLICATE Ming-Chou Shih [:stone] 1292079
1294335 [Pointer Event] Refine setPointerCapture / releasePointerCapture to follow the algorithm defined in the spec RESOLVED mozilla51 FIXED Ming-Chou Shih [:stone] 1258804 1292437

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