Ready for Developer Testing: Container Timing

17 views
Skip to first unread message

Chromestatus

unread,
7:04 AM (3 hours ago) 7:04 AM
to blin...@chromium.org, jda...@igalia.com, jwilli...@bloomberg.net, mmo...@google.com, shas...@google.com
Contact emails
jwilli...@bloomberg.net

Explainer
https://github.com/bloomberg/container-timing

Specification
https://bloomberg.github.io/container-timing

Design docs

https://github.com/bloomberg/container-timing

Summary
The Container Timing API enables monitoring when annotated sections of the DOM are displayed on screen and have finished their initial paint. A developer will have the ability to mark subsections of the DOM with the containertiming attribute (similar to elementtiming for the Element Timing API) and receive performance entries when that section has been painted for the first time. This API will allow developers to measure the timing of various components in their pages.

Blink component
Blink>PerformanceAPIs

Web Feature ID
No information provided

Search tags
performance, container, timing

Risks


Interoperability and Compatibility
Interoperability is good. We have positive signals, and an implementation from Mozilla in Firefox.

Gecko: Positive (https://github.com/mozilla/standards-positions/issues/1155) Firefox are positive and are working on an implementation: https://phabricator.services.mozilla.com/D279373

WebKit: Neutral (https://github.com/WebKit/standards-positions/issues/442)

Web developers: No signals

Other signals:

Ergonomics
Performance overhead only happens when enabling, any overhead is low because we piggy back on DOM-traversals which are already happening.

Activation
The feature is consistent with other Performance APIs that work on the Performance Timeline. This feature can't be polyfilled properly, there has been an attempt (see Explainer) but that has high resource usage. Today all the documentation lives in the explainer, we will hope to promote this more once it is exposed to the wider development community.

Security
https://github.com/bloomberg/container-timing/?tab=readme-ov-file#security-and-privacy

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

No information provided


Debuggability
Container Timing entries can be printed to the developer console from the PerformanceObserver. The attributes are also observable in the Elements Panel. This feature has basic support from DevTools.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes
This feature is implemented in Blink and isn't subject to any platform specific APIs

Is this feature fully tested by web-platform-tests?
Yes
https://wpt.fyi/results/container-timing/tentative?label=experimental&label=master&aligned

DevTrial instructions
https://github.com/bloomberg/container-timing?tab=readme-ov-file#chrome-canary-and-chrome-beta

Flag name on about://flags
enable-experimental-web-platform-features

Finch feature name
ContainerTiming

Requires code in //chrome?
False

Tracking bug
https://issues.chromium.org/issues/382422286

Measurement
https://chromestatus.com/metrics/feature/popularity#V8Element_ContainerTimingIgnore_AttributeGetter https://chromestatus.com/metrics/feature/popularity#V8Element_ContainerTiming_AttributeGetter https://chromestatus.com/metrics/feature/popularity#ContainerTimingObserverRegistered

Estimated milestones
DevTrial on desktop145
DevTrial on Android145


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5110962817073152

Links to previous Intent discussions
Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/672cffcd.2b0a0220.d9f4a.0540.GAE%40google.com


This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages