The test changes in #56018 are causing permanent timeouts in Firefox Nightly because Firefox recently changed its behavior to load about:blank synchronously. It aligns with other browsers, but this change has made the pageshow event no longer observable in the context used by this test, and it causes it to timeout.
The test tries to use pagereveal as a fallback, but:
- Firefox doesn't support
pagereveal yet (bug 1860854).
- Since
pagereveal is specifically for CSS view transitions, I don't think it's the right fit for testing LCP behavior.
Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=2004678
It would be great to find a different approach here that works across browsers with synchronous about:blank loading.
From my testing, replacing the whole Promise.any call and promises with this code works across all browsers:
if (popup.document.readyState !== 'complete') {
await new Promise(resolve => popup.addEventListener('pageshow', resolve, {once: true}));
}
cc @gsnedders and @smfr What do you think?