Gecko/Touch: Difference between revisions

mNo edit summary
m (→‎Planning: move link to correct place)
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Status in Gecko ==
This table summarizes some of the broad features related to touch input on the web, and their implementation status on different Gecko platforms:
This table summarizes some of the broad features related to touch input on the web, and their implementation status on different Gecko platforms:


Line 4: Line 6:
|-
|-
! Platform        !! Touch Events !! Pointer Events ({{bug|960316}})
! Platform        !! Touch Events !! Pointer Events ({{bug|960316}})
                                                           ! touch-action        !! async pan/zoom        !! mobile viewport
                                                           ! touch-action        !! async pan/zoom (APZ)       !! mobile viewport
|-
|-
| Android        || yes          || no                    || no ({{bug|1029631}}) || Java ({{bug|776030}}) || Java ({{bug|799585}})
| Android        || yes          || no                    || no ({{bug|1029631}}) || Java ({{bug|776030}})     || Java ({{bug|799585}})
|-
|-
| Firefox OS      || yes          || no                    || no ({{bug|960209}})  || Gecko APZC           || Gecko
| Firefox OS      || yes          || no                    || no ({{bug|960209}})  || Gecko APZC                 || Gecko
|-
|-
| Linux          || no          || mouse only (disabled) || no                  || no                    || no
| Linux          || no          || mouse only (nightly) || no                  || disabled ({{bug|1013364}}) || no
|-
|-
| Mac            || no          || mouse only (disabled) || no                  || no ({{bug|1011833}}) || no
| Mac            || no          || mouse only (nightly) || no                  || disabled ({{bug|1013364}}) || no
|-
|-
| Windows desktop || disabled ({{bug|win-touch-issues}})
| Windows desktop || disabled ({{bug|win-touch-issues}})
                                   || mouse only (disabled) || no ({{bug|1001440}}) || no                    || no
                                   || mouse (nightly) <br>touch (nightly + APZ)
                                                          || no ({{bug|1001440}}) || disabled ({{bug|1013364}}) || no
|-
|-
| Windows metro  || yes          || yes (disabled)        || yes                  || Gecko APZC           || Gecko
| Windows metro  || yes          || yes (disabled)        || yes                  || Gecko APZC                 || Gecko
|}
|}
== Status in other browsers ==
This table lists support by other browsers as of December 2014:
{| class="wikitable sortable"
|-
! Browser !! Touch Events !! Pointer Events !! touch-action
|-
| Chrome || ✓ ||  || ✓
|-
| IE desktop ||  || ✓ || ✓
|-
| IE mobile || ✓ || ✓ || ✓
|-
| Safari || ✓ ||  || 
|}
== References ==
Standards:
* [http://www.w3.org/TR/touch-events/ W3C Touch Events] (shipped by Safari, Chrome, IE Mobile, Firefox for Android, Firefox OS)
* [http://www.w3.org/TR/pointerevents/ W3C Pointer Events] (shipped by IE Desktop, IE Mobile)
** touch-action is part of the Pointer Events spec (shipped by Chrome, IE Desktop, IE Mobile)
Other documentation:
* [[Platform/Input/Touch]]
== Planning ==


Current work:
Current work:


* '''Windows metro''': Finish Pointer Events / touch-action as reference implementation for W3C spec (MS Open Tech).
* '''Windows, Mac, Linux''': Use async pan/zoom (APZ).
* '''Windows desktop''': Fix and enable Touch Events, and implement Pointer Events / touch-action (MS Open Tech, Platform Integration?).
** Status: disabled, can be tested in nightly builds with pref: layers.async-pan-zoom.enabled
* '''Firefox OS''': Implement and enable pointer events / touch-action (MS Open Tech?).
** [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1013364&hide_resolved=1 Tracking bug]
* '''Windows, Mac, Linux''': Support Pointer Events for mouse input.
** [https://bugzilla.mozilla.org/showdependencytree.cgi?id=960316&hide_resolved=1 Tracking bug]
** Status: enabled on nightly channel.  Controlled by pref:
*** dom.w3c_pointer_events.enabled
* '''Windows desktop''': Support Pointer Events for touch input, and touch-action CSS property.
** Status: Works on nightly channel when APZ and Pointer Events are both enabled.
** CSS property is controlled by pref:
*** layout.css.touch_action.enabled
* '''Windows desktop''': Fix and enable Touch Events.
** Status: disabled, can be tested in nightly builds with prefs:
*** dom.w3c_touch_events.enabled


Possible future priorities:
Possible future work:


* '''Linux desktop''': Add support for touch events, pointer events, touch-action.
* '''Firefox OS''': Implement and enable pointer events and/or touch-action.
* '''Android''': Unify Android and Gecko APZC and viewport code.
* '''Android''': Unify Android and Gecko APZC and viewport code.
* '''Android''': Implement Pointer Events / touch-action.
* '''Android''': Implement Pointer Events and/or touch-action.
* '''Mac''': Implement async pan/zoom for trackpad gestures.
* '''Layout''': Implement CSS Device Adaptation to rationalize mobile viewport code ({{bug|747754}}).
* '''Windows desktop''': Implement async pan/zoom for touch-screen and trackpad gestures.
* '''Platform''': Implement CSS Device Adaptation to rationalize mobile viewport code ({{bug|747754}}).

Latest revision as of 18:38, 6 July 2015

Status in Gecko

This table summarizes some of the broad features related to touch input on the web, and their implementation status on different Gecko platforms:

Platform Touch Events Pointer Events (bug 960316) touch-action async pan/zoom (APZ) mobile viewport
Android yes no no (bug 1029631) Java (bug 776030) Java (bug 799585)
Firefox OS yes no no (bug 960209) Gecko APZC Gecko
Linux no mouse only (nightly) no disabled (bug 1013364) no
Mac no mouse only (nightly) no disabled (bug 1013364) no
Windows desktop disabled (bug win-touch-issues) mouse (nightly)
touch (nightly + APZ)
no (bug 1001440) disabled (bug 1013364) no
Windows metro yes yes (disabled) yes Gecko APZC Gecko

Status in other browsers

This table lists support by other browsers as of December 2014:

Browser Touch Events Pointer Events touch-action
Chrome
IE desktop
IE mobile
Safari

References

Standards:

  • W3C Touch Events (shipped by Safari, Chrome, IE Mobile, Firefox for Android, Firefox OS)
  • W3C Pointer Events (shipped by IE Desktop, IE Mobile)
    • touch-action is part of the Pointer Events spec (shipped by Chrome, IE Desktop, IE Mobile)

Other documentation:

Planning

Current work:

  • Windows, Mac, Linux: Use async pan/zoom (APZ).
    • Status: disabled, can be tested in nightly builds with pref: layers.async-pan-zoom.enabled
    • Tracking bug
  • Windows, Mac, Linux: Support Pointer Events for mouse input.
    • Tracking bug
    • Status: enabled on nightly channel. Controlled by pref:
      • dom.w3c_pointer_events.enabled
  • Windows desktop: Support Pointer Events for touch input, and touch-action CSS property.
    • Status: Works on nightly channel when APZ and Pointer Events are both enabled.
    • CSS property is controlled by pref:
      • layout.css.touch_action.enabled
  • Windows desktop: Fix and enable Touch Events.
    • Status: disabled, can be tested in nightly builds with prefs:
      • dom.w3c_touch_events.enabled

Possible future work:

  • Linux desktop: Add support for touch events, pointer events, touch-action.
  • Firefox OS: Implement and enable pointer events and/or touch-action.
  • Android: Unify Android and Gecko APZC and viewport code.
  • Android: Implement Pointer Events and/or touch-action.
  • Layout: Implement CSS Device Adaptation to rationalize mobile viewport code (bug 747754).