Skip to content

Conversation

@tunetheweb
Copy link
Contributor

Summary

Correct erroneous LargestContentfulPaint data I spotted:

  • Safari and Firefox do not support presentationTime
  • Safari DOES support cross-origin render times.
  • Chrome does support paintTime and presentationTime but behind a flag (unflagging in Chrome 145!)

Test results and supporting details

Safari does support cross-origin lcp render time but not presentationTime (tested on https://www.tunetheweb.com/experiments/lcp-cross-origin/)
image

Firefox gives null for presentationTime:

image

Chrome 134 supports paintTime and presentationTime when experimental web platform features are turned on:

image

Related issues

@github-actions github-actions bot added data:api Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API size:m [PR only] 25-100 LoC changed labels Dec 13, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Dec 13, 2025

Tip: Review these changes grouped by change (recommended for most PRs), or grouped by feature (for large PRs).

"edge": "mirror",
"firefox": {
"version_added": "140"
"version_added": false
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The collector detected support and it seems it is exposed. The null behavior seems to be per spec also? Maybe we should mark it as partial? (this is always weird for feature detection but oh well).

Suggested change
"version_added": false
"version_added": "140",
"partial_implementation": true,
"notes": "This property is exposed, but always returns `null`."

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is effectively allowed per spec not to support this I agree, so it is an optional feature. But this is where it's even more important for MDN to document this IMHO.

Also I agree the fact it's there (but always null) could be interpreted as having "partial support". But to me, since it's always null, it's equivalent to "no support" rather than partial.

WDYT @canova from an Firefox side? And @smfr from a Safari size? Do you think it's fair to say you have not implemented presentationTime at this time for LCP? Note Interop and Baseline definitions do not include this key, and I'm keen to keep that this way, since these are optional, so you would still be marked as supporting LCP in those.

Copy link
Contributor Author

@tunetheweb tunetheweb Dec 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, let's go with partial support for now, to unblock this, since there are other updates in this PR I'd like to have sooner rather than later and partial is certainly better than the current reading of them having full support. But curious to hear @canova and @smfr's opinion and can follow up with another PR if necessary.

"opera_android": "mirror",
"safari": {
"version_added": "26.2"
"version_added": false
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"version_added": false
"version_added": "26.2",
"partial_implementation": true,
"notes": "This property is exposed, but always returns `null`."

Copy link
Member

@Elchi3 Elchi3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @tunetheweb, let's go with partial for now.

@Elchi3 Elchi3 merged commit c1fcd13 into mdn:main Dec 17, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data:api Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API size:m [PR only] 25-100 LoC changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants