ampproject / ampproject/amphtml

[Story CWV] Wrong element triggering LCP for some prerender cases

Open
#37,844 2 comments 0 reactions 1 assignee Claimed by @mszylkowski View on GitHub
P1: High Priority Stale Type: Bug WG: stories
Dominant language
JavaScript
Stars
14.9k
Forks
4.1k
PR merge metrics
No merged PRs in 30d

Description

### Description

1. Mobile emulation, load https://stories-marmiton-org.cdn.ampproject.org/c/s/stories.marmiton.org/menus-du-7-au-13-fevrier-M6qPHg_/?amp_js_v=0.1#origin=https://www.google.com&prerenderSize=1&visibilityState=prerender&paddingTop=0&p2r=0&horizontalScrolling=0&csi=1&aoh=15526927198732&viewerUrl=https://www.google.com&history=1&storage=1&cid=1&cap=swipe,navigateTo,cid,fragment,replaceUrl
2. Switch the visibilityState mode to `visible` with no user interaction [1]
3. Notice how the image on page 2 (not visible) is now the new LCP element [2]

[1]
```
AMP.viewer.receiveMessage('visibilitychange', {'state': 'visible'})
```

[2]
```
new PerformanceObserver((entryList) => {
for (const entry of entryList.getEntries()) {
console.log('LCP candidate:', entry.startTime, entry);
}
}).observe({type: 'largest-contentful-paint', buffered: true});
```

cc @ampproject/wg-stories @ampproject/wg-performance @mszylkowski

### Reproduction Steps

-

### Relevant Logs

_No response_

### Browser(s) Affected

_No response_

### OS(s) Affected

_No response_

### Device(s) Affected

_No response_

### AMP Version Affected

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.