Intent to Ship: Element Timing

139 views
Skip to first unread message

Nicolás Peña

unread,
Jul 8, 2019, 4:30:36 PM7/8/19
to blink-dev

Contact emails

n...@chromium.org, tdre...@chromium.org  


Explainer

https://github.com/WICG/element-timing/blob/master/README.md


Spec

https://wicg.github.io/element-timing/


TAG review: https://github.com/w3ctag/design-reviews/issues/326


Summary

The Element Timing API allows developers to tag important images or text (text nodes are aggregated by block-level elements) with the ‘elementtiming’ attribute. When they do so, they can obtain rendering timing information via PerformanceObserver.


Link to “Intent to Implement” blink-dev discussion

Images: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/2twP4Xdd1VI 

Text: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/9B7OHgwwEzs


Link to Origin Trial feedback summary

We did an Origin Trial for images. We got positive feedback from Wikimedia: https://phabricator.wikimedia.org/phame/post/view/157/evaluating_element_timing_for_images/


Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes.


Demo link

https://wicg.github.io/element-timing/#sec-example


Debuggability

PerformanceElementTiming entries can be obtained from PerformanceObserver on JavaScript.


Risks

Interoperability and Compatibility

Compatibility risk is low, as this is a new feature with no existing usage.

Interoperability risk is medium - The feature was presented multiple times to the WebPerfWG, and there was an overall consensus regarding the viability of the use-cases it tackles. At the same time, we don’t have a clear commitment to implement and ship from other vendors.

The image part was presented at last year’s TPAC and the text part was presented later.


Edge: Positive signals

Firefox: Positive signals

Safari: Mixed signals (expressed concern about the performance cost of computing rectangles for text).

Web / Framework developers: Positive (see Origin Trial feedback link, another example here). And there were several positive mentions from industry members at the WebPerf F2F, with some requests to make it more powerful (for example, allow observing content besides image/text).


Ergonomics

It will be used via PerformanceObserver, perhaps along with the (also new) companion metric LargestContentfulPaint. Monitoring everything would be expensive, so developers should only register important elements for observation.


Activation

Easy to use. Developers will need to use Timing Allow Origin headers to obtain good data from cross-origin images. This is necessary for security reasons.


Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.

https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/element-timing/

https://wpt.fyi/results/element-timing?label=master&label=experimental


Entry on the feature dashboard

Image: https://www.chromestatus.com/features/6727079454310400

Text: https://www.chromestatus.com/features/6230814637424640


Chris Harrelson

unread,
Jul 11, 2019, 3:54:36 PM7/11/19
to Nicolás Peña, blink-dev
LGTM1

--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/f773224d-7889-4141-a975-27f127f342ac%40chromium.org.

Daniel Bratell

unread,
Jul 11, 2019, 4:07:37 PM7/11/19
to blin...@chromium.org
LGTM2

/Daniel
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw-eZUx6%3DkA3fGgT639iFXXWHf6Wfuxvqu_ZBrLHDsW%3D-A%40mail.gmail.com.



--
/* Opera Software, Linköping, Sweden: CEST (UTC+2) */

Alex Russell

unread,
Jul 18, 2019, 3:25:20 PM7/18/19
to blink-dev
LGTM3 conditional on the publication of Origin-Trial survey feedback. The link in the OP doesn't appear to work, and I'd like to see evidence from the trial that this was useful for more than just wikimedia.
LGTM1

To unsubscribe from this group and stop receiving emails from it, send an email to blin...@chromium.org.
--
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 blin...@chromium.org.

Nicolás Peña

unread,
Jul 18, 2019, 5:24:08 PM7/18/19
to blink-dev

On Thursday, July 18, 2019 at 3:25:20 PM UTC-4, Alex Russell wrote:
LGTM3 conditional on the publication of Origin-Trial survey feedback.


There is no 'Origin-Trial survey', and we only heard from Wikimedia. I wrote a doc which summarizes developer feedback: https://docs.google.com/document/d/1yaiGFg1K1pcTDHX8bjx3PSuR-N1F8ZvrQhqaTL7wpng/edit?usp=sharing

 
The link in the OP doesn't appear to work, and I'd like to see evidence from the trial that this was useful for more than just wikimedia.

Which link doesn't work for you? I tried the Wikimedia link and it works for me, even in incognito.

Philip Jägenstedt

unread,
Jul 24, 2019, 8:26:55 AM7/24/19
to Nicolás Peña, Alex Russell, blink-dev
This intent already has 3xLGTM modulo conditions to be confirmed by +Alex Russell, but as part of looking at the LCP intent I ended up looking at Element Timing and filed a few issues and a PR.

After doing Define `elementTiming` as reflecting "elementtiming" I noticed the IDL attribute isn't implemented in Chromium, and want to confirm if the intention is to ship it under this intent or not? Feature detection is possible without it, but content attributes ought to be reflected as IDL attributes, and if it's ever going to be supported it's best to do it from day one.

There may also be a GC issue with Element Timing, which is hopefully pretty easy to resolve and test for.

--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/073c89be-5c17-4495-becd-34d7ae8d3116%40chromium.org.

Nicolás Peña

unread,
Jul 24, 2019, 4:47:54 PM7/24/19
to blink-dev, n...@chromium.org, sligh...@google.com
Hi Philip, I had forgotten about the change to Element's IDL (its minor, sent you the change). And the GC issue is on its way to be fixed on the spec and implementation. Thanks!
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Philip Jägenstedt

unread,
Jul 24, 2019, 5:58:38 PM7/24/19
to Nicolás Peña, blink-dev, Alex Russell
Thanks for the quick turnaround!

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/32854041-1619-4cb0-9c07-c01d4f4753b2%40chromium.org.

Luke Bj

unread,
Jul 24, 2019, 9:54:15 PM7/24/19
to blink-dev, n...@chromium.org, sligh...@google.com
On Wednesday, July 24, 2019 at 5:58:38 PM UTC-4, Philip Jägenstedt wrote:
Thanks for the quick turnaround!

On Wed, Jul 24, 2019 at 10:48 PM Nicolás Peña <n...@chromium.org> wrote:
Hi Philip, I had forgotten about the change to Element's IDL (its minor, sent you the change). And the GC issue is on its way to be fixed on the spec and implementation. Thanks!

On Wednesday, July 24, 2019 at 8:26:55 AM UTC-4, Philip Jägenstedt wrote:
This intent already has 3xLGTM modulo conditions to be confirmed by +Alex Russell, but as part of looking at the LCP intent I ended up looking at Element Timing and filed a few issues and a PR.

After doing Define `elementTiming` as reflecting "elementtiming" I noticed the IDL attribute isn't implemented in Chromium, and want to confirm if the intention is to ship it under this intent or not? Feature detection is possible without it, but content attributes ought to be reflected as IDL attributes, and if it's ever going to be supported it's best to do it from day one.

A basic web platform test would have caught that too; whipped one up for you:
 

There may also be a GC issue with Element Timing, which is hopefully pretty easy to resolve and test for.

On Thu, Jul 18, 2019 at 11:24 PM Nicolás Peña <n...@chromium.org> wrote:

On Thursday, July 18, 2019 at 3:25:20 PM UTC-4, Alex Russell wrote:
LGTM3 conditional on the publication of Origin-Trial survey feedback.


There is no 'Origin-Trial survey', and we only heard from Wikimedia. I wrote a doc which summarizes developer feedback: https://docs.google.com/document/d/1yaiGFg1K1pcTDHX8bjx3PSuR-N1F8ZvrQhqaTL7wpng/edit?usp=sharing

 
The link in the OP doesn't appear to work, and I'd like to see evidence from the trial that this was useful for more than just wikimedia.

Which link doesn't work for you? I tried the Wikimedia link and it works for me, even in incognito.

--
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.

--
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.

Philip Jägenstedt

unread,
Jul 25, 2019, 4:15:58 AM7/25/19
to Luke Bj, blink-dev, Nicolás Peña, Alex Russell
On Thu, Jul 25, 2019 at 3:54 AM Luke Bj <lukebj...@chromium.org> wrote:
On Wednesday, July 24, 2019 at 5:58:38 PM UTC-4, Philip Jägenstedt wrote:
Thanks for the quick turnaround!

On Wed, Jul 24, 2019 at 10:48 PM Nicolás Peña <n...@chromium.org> wrote:
Hi Philip, I had forgotten about the change to Element's IDL (its minor, sent you the change). And the GC issue is on its way to be fixed on the spec and implementation. Thanks!

On Wednesday, July 24, 2019 at 8:26:55 AM UTC-4, Philip Jägenstedt wrote:
This intent already has 3xLGTM modulo conditions to be confirmed by +Alex Russell, but as part of looking at the LCP intent I ended up looking at Element Timing and filed a few issues and a PR.

After doing Define `elementTiming` as reflecting "elementtiming" I noticed the IDL attribute isn't implemented in Chromium, and want to confirm if the intention is to ship it under this intent or not? Feature detection is possible without it, but content attributes ought to be reflected as IDL attributes, and if it's ever going to be supported it's best to do it from day one.

A basic web platform test would have caught that too; whipped one up for you:

Thanks Luke, merged!

If something like https://github.com/tidoust/reffy/pull/155 had been sufficient, then we could look into a process for proposing spec additions to reffy automatically, so that we'd get the IDL files added to WPT earlier in the pipeline.
Reply all
Reply to author
Forward
0 new messages