Contact emails
Spec
Summary
Touch Scroll blocking (touchstart, touchmove) event listeners are treated as passive="true" if added to a root node (window, document, body) and if AddEventListenerOptions passive is not specified.
Motivation
Initially launched as a finch trial (Canary/Dev); this intervention reduces the 99th percentile of scroll start time by 39%.
Most touch scroll blocking event listeners don't end up blocking scroll.~98% of event listeners that are on a root node don't end up blocking scrolling (details in spec).
The finch trial has produced great benefits in the proportion of non-blocking event listeners invoked on the page, which has jumped from 29% to 73%.
Interoperability and Compatibility Risk
There are two opt outs available for developers:
1) Specify touch-action.
2) Pass {passive: false} into the event listener options.
Breakage is known to be less than 2% of events dispatched; our metrics overestimate by not taking into the usage of touch-action being set. We expected the breakage to be much less and this has been demonstrated in canary/dev with the low report of issues seen. There were two reported pages out of our finch experiments. Both are fixable by using touch-action; one landed a fix in production last week.
In terms of developer rationality, it is a little odd that adding a listener on a root node behaves slightly differently than on a node further down in the document. Ideally we'd like to treat all touch event listeners as passive on the entire document but this has much higher risk of breakage, and will require gathering additional data. This launch will contribute data to this effort.
Ongoing technical constraints
No.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes
OWP launch tracking bug
Link to entry on the feature dashboard
https://www.chromestatus.com/features/5093566007214080
Requesting approval to ship?
Yes
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
Thanks Philip. In case anyone else is interested, there's more discussion of this one here.Dave, since this is an experiment, can you follow-up on this thread at some point in (say) the next 6 months with the status / results?
...