LGTM1
The main risk here is for tools that get their input from this
data and visualize it to users (where the data can be in either
synthetic or RUM). We mainly care about RUM data here, but even
there, the direct compat risk for actual users is minimal. In
other words, this change will not create visible breakage for
users, but may create one for developers that use tools that rely
on this data.
On Mon, Dec 15, 2025 at 10:20 AM 'Barry Pollard' via blink-dev
<[email protected]> wrote:
Not that I've discussed this previously with Ane and this may
require changes to those tools using these pixels to create
screenshots or animations of CLS. I've reached out directly
to the primary tools I'm aware off in this space (Chrome
DevTools, DebugBear, WebPageTest) as well as more general
outreach on the likes of the Web Performance slack. Will
continue that further now the I2S is published.
Thanks for the outreach!
It's a small change to accommodate this change, is not
critical (the worst case is the wrong area of the
screenshot/animation will be highlighted until the change is
made) and brings the Layout Instability API inline with other
Web Platform APIs and most would expect of this. So I'm
supportive of this change, despite this risk.
Thanks,
Barry
On Friday, December 12, 2025 at 6:57:20 PM UTC
[email protected] wrote:
# Contact emails
[email protected]
# Explainer
None (This is a small compatibility fix - the spec PR
serves as the explainer). The PR is a spec change, not an
explainer. You can say "None" or link to a separate
explainer if you have one.
# Specification
https://wicg.github.io/layout-instability/
# Summary
Change Layout Instability API attribution rectangles
(`prevRect`and `currentRect`) from device pixels to CSS
pixels. This aligns the API with other Web Platform
measurement APIs (getBoundingClientRect,
IntersectionObserver, ResizeObserver) that use CSS pixels
as the standard coordinate system.
# Blink component
Blink>PerformanceAPIs
# Motivation
The current implementation uses device pixels, which:
-Creates inconsistencies across devices with different
pixel ratios
-Makes it difficult for developers to correlate layout
shift data with other measurements
-Deviates from the standard coordinate system used
throughout the web platform
CSS pixels provide a consistent, device-independent unit
that aligns with developer expectations and simplifies
working with layout stability metrics alongside other DOM
measurements.
# TAG review Not applicable - This is a small
compatibility fix to an existing API, not a new feature.
The change aligns Layout Instability API attribution
rectangles with the standard CSS pixel coordinate system
used by other Web Platform APIs. This does not introduce
new API surface or capabilities. # TAG review status Not
applicable # Chromium bug
https://issues.chromium.org/issues/399058544
# Risks
## Interoperability and Compatibility
**Interoperability risk:**Low. This is a
measurement/telemetry change that doesn't affect site
functionality. The API is used primarily by
monitoring/analytics tools.
**Gecko:**Closed without a position
(https://github.com/mozilla/standards-positions/issues/1318)
- Mozilla supports CSS pixels for web APIs, though they
don't implement the Layout Instability API.
**WebKit:**No signal
(https://github.com/WebKit/standards-positions/issues/588)
**Web developers:**Positive feedback from WebPerf Slack
community. The change simplifies working with layout
stability metrics.
**Compatibility risk:**Low. Primary consumers are
telemetry systems (RUM providers, analytics tools) that
can adapt their processing. The change provides more
consistent, useful data. Sites using the API directly
will see coordinate values change but can easily adapt by
removing device pixel ratio conversions.
**Rollback plan:**Feature can be disabled via flag if
unexpected issues arise.
# Ergonomics
**This change improves ergonomics by aligning with the
CSS pixel coordinate system developers already use in
other APIs (getBoundingClientRect, IntersectionObserver,
ResizeObserver), reducing confusion and simplifying
debugging.
# Activation
No user activation required - this is a
measurement/telemetry API. # Security
No security concerns - this changes the unit of
measurement for existing data, does not expose new
information. # WebView application risks
None. This is a measurement/telemetry change that works
consistently across all platforms including WebView.
# Debuggability
No changes to debuggability. The API continues to work
the same way, just with CSS pixel coordinates instead of
device pixels.
# Will this feature be supported on all six Blink
platforms (Windows, Mac, Linux, ChromeOS, Android, and
Android WebView)?
Yes.
# Is this feature fully tested by web-platform-tests?
Yes. Web Platform Tests have been updated to verify CSS
pixel behavior for attribution rectangles.
WPT link:
https://wpt.fyi/results/layout-instability/attribution-rectangles-css-pixels.html
# Flag name on chrome://flags
None (controlled by base::Feature)
# Finch feature name
None - shipping enabled by default for all users. This is
a low-risk compatibility fix to a measurement API with
good test coverage.
# Non-Finch justification
**This is a compatibility fix to align the Layout
Instability API with standard Web Platform coordinate
systems. The change affects measurement data rather than
user-facing functionality, and has low risk of breakage.
Primary consumers are RUM/analytics tools that can adapt
to the change.
# Requires code in //chrome?
No.
# Estimated milestones
Shipping on desktop: 145
Shipping on Android: 145
# Spec changes
Spec PR merged:
https://github.com/WICG/layout-instability/pull/125
(Clarifies that attribution rectangles use CSS pixels,
consistent with other Web Platform APIs)
# Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5155103518228480
# Links to previous Intent discussions
Intent to Prototype:
https://groups.google.com/a/chromium.org/g/blink-dev/c/EMlUrEwx_uE/m/pxBix6wWDAAJ?utm_medium=email&utm_source=footer
<https://groups.google.com/a/chromium.org/g/blink-dev/c/EMlUrEwx_uE/m/pxBix6wWDAAJ?utm_medium=email&utm_source=footer>
---
**This intent message was generated by Chrome Platform
Status.** Security and Privacy reviews have been approved
via ChromeStatus gates. Implementation CL:
https://chromium-review.googlesource.com/c/chromium/src/+/6624567
---
--
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 [email protected].
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/1a72af4d-f574-488a-913e-a98135d3afban%40chromium.org
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/1a72af4d-f574-488a-913e-a98135d3afban%40chromium.org?utm_medium=email&utm_source=footer>.
--
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 [email protected].
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSKPSqnxw8PAizjj%3DT9yPLWMobxv3BOgJ7J-MEkD0_qB0w%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSKPSqnxw8PAizjj%3DT9yPLWMobxv3BOgJ7J-MEkD0_qB0w%40mail.gmail.com?utm_medium=email&utm_source=footer>.