v133 · performance

Expose coarsened cross-origin renderTime in elment timing/LCP (regardless of TAO)

All element-timing and LCP performance entries would have a non-zero renderTime, even if they are cross-origin without Timing-Allow-Origin. All presentation timestamps (renderTime, paint timing start time, event timing end time) will be coarsened to a 4ms multiple to mitigate the risk of reading cross-origin image information.

concepts

  1. Coarsened renderTime

    Element Timing / LCP exposes coarsened cross-origin renderTime regardless of Timing-Allow-Origin. RUM gets meaningful LCP for third-party hero images.

  2. RUM dashboard

    A simulated article with a CDN-hosted hero (no TAO header). Before 133 the LCP renderTime was always 0; the dashboard shows the real, 4ms-coarsened number now reported.

  3. Coarsening resolver

    Punch in a raw render time, see the 4ms-floored value your RUM actually receives plus the quantisation error band. Live LCP read from this page included.

  4. LCP attribution builder

    Reads the real LCP entry from this page via PerformanceObserver, shows the coarsened renderTime, and generates a copy-ready RUM snippet that uses finalResponseHeadersStart ?? responseStart and the new non-zero renderTime.

why it shipped

Element timing and LCP entries have a "renderTime" attribute, aligned with the first frame in which an image or text was painted.

references