Web-Facing Change PSA: LCP: Match specced behavior for emitting candidates

25 views
Skip to first unread message

Scott Haseley

unread,
Feb 27, 2026, 5:11:26 PM (9 hours ago) Feb 27
to blink-dev
Contact emails
shas...@chromium.org

Specification
https://github.com/w3c/largest-contentful-paint/pull/154

Summary
Changes the LCP algorithm to emit candidates based on the largest painted image instead of the largest pending-but-not-yet-painted image. This might cause more intermediate candidates to be emitted to the performance timeline.

In each animation frame, after presentation, the LCP algorithm will emit a new candidate (at most one) to the performance timeline if a new largest text or image was painted in that frame. But Chromium also tracks the "largest pending image" (the largest image still loading) and uses that image's size to determine if the new candidate is the largest. This means a slow-loading large image can prevent the emission of intermediate LCP candidates, and developers often find such candidates useful for understanding the loading progression. This behavior came up during Interop 2025 as a difference with other engines, and there was agreement to align on emitting at most one candidate per frame based on the set of painted image/text elements for that frame.

Blink component
Blink>PerformanceAPIs

Web Feature ID
largest-contentful-paint

Risks


Interoperability and Compatibility
No information provided

Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:

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
No information provided

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
No

Is this feature fully tested by web-platform-tests?
Yes
https://github.com/web-platform-tests/wpt/blob/master/largest-contentful-paint/performance-entry-sequence.html



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

Estimated milestones
Shipping on desktop146
Shipping on Android146
Shipping on WebView146


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

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