Fennec/Features/touch

Feature Status ETA Owner
Touch Events Implementation in progress 2011-07-01 Thomas Arend

Summary

Expose touch events to content for better interaction with web pages and services, and compatibility with WebKit/Opera and existing web content.

Team

  • Wes Johnson - Mobile Front-end
  • Olli Pettay (smaug) - Platform
  • Matt Brubeck - W3C spec

Release Requirements

  • No performance regressions on non-touch-event pages.
  • Acceptable performance of touch events in content. (Need more precise criteria?)
  • Sidebar (or some alternate form of navigation) is still accessible on pages that use touch events.

Next Steps

  • Finish patches and get reviews.
  • Write automated tests and do manual compatibility testing.
  • Experiment with different ways of allowing sidebar panning.
  • Performance testing and optimization.
  • Send spec feedback to W3C Web Events working group.

Open Issues

Related Bugs & Dependencies

  • bug 544614 - Tracking bug for touch events in Fennec

Designs

Possible new gesture set, as mapped to current browser features:

[Browser Feature] = [Gesture]


Back = Double-finger Swipe Left + Onscreen Back button

Forward = Double-finger Swipe Right + Onscreen Forward button

Scroll Down = Swipe Down

Scroll Up = Swipe Up

Test Plans

Goals/Use Cases

  • Expose single-touch events to content in Fennec.
  • Don't let pages completely block navigation or sidebar panning.
  • Compatibility with existing pages like Google Maps.
  • Conformance with a subset of W3C Touch Events editor's draft.
  • Compatibility with a common subset of Safari/Android/WebKit functionality.

Non-Goals

  • Expose multiple simultaneous touches to content (will be done in a future version).
  • 100% conformance with W3C Touch Events spec (will be completed in future versions).
  • 100% compatibility with Safari or other browsers.
  • Enable W3C touch events in desktop Firefox (will be done in future versions).

Other Documentation

Legend (remove if you like)

  Healthy: feature is progressing as expected.
  Blocked: feature is currently blocked.
  At Risk: feature is at risk of missing its targeted release.
ETA Estimated date for completion of the current feature task. Overall ETA for the feature is the product release date.