[wpt-sync] Sync PR 33195 - [renderblocking] Implement render-blocking on preload and modulepreload links
Categories
(Core :: DOM: Core & HTML, task, P4)
Tracking
()
Tracking | Status | |
---|---|---|
firefox100 | --- | fixed |
People
(Reporter: mozilla.org, Unassigned)
References
(Blocks 1 open bug, )
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 33195 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/33195
Details from upstream follow.
Xiaocheng Hu <xiaochengh@chromium.org> wrote:
[renderblocking] Implement render-blocking on preload and modulepreload links
This patch blocks rendering on render-blocking preload and modulepreload
links, and also unifies that with the existing short render-blocking on
font preloads.The previous attempt (crrev.com/c/3514642) uses Resource and
ResourceFinishObserver to listen to the loading progress of render-blocking
preloads. However, this approach does not extend to modulepreload links
as PreloadHelper::ModulePreloadIfNeeded() does not expose a
ScriptResource to callers.This patch uses a different approach. It uses LinkLoaderClient to listen
to the loading progress, which works on both preload and modulepreload
links. This is also closer to the spec compared to the previous one.Bug: 1271296
Change-Id: I4923e81362180aad3de8c3352241c228515e7ffe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3527422
Reviewed-by: Mason Freed \<masonf@chromium.org>
Commit-Queue: Xiaocheng Hu \<xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#982964}
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 1•2 years ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=6d6fc2a6b2d1e0419b1eba6dbeb562be1280ca3f
Assignee | ||
Comment 2•2 years ago
|
||
CI Results
Ran 12 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 3 tests and 2 subtests
Status Summary
Firefox
FAIL : 7
TIMEOUT: 5[Gecko-android-em-7.0-x86_64-lite-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-domstreams-qr-debug, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-32-2004-qr-debug, Gecko-windows10-32-2004-qr-opt, Gecko-windows10-64-2004-qr-debug, Gecko-windows10-64-2004-qr-opt, GitHub] 6[Gecko-linux1804-64-tsan-qr-opt]
ERROR : 1
Chrome
OK : 3
PASS : 3
FAIL : 7
Safari
FAIL : 7
TIMEOUT: 6
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
/html/dom/render-blocking/parser-inserted-modulepreload-link.tentative.html: TIMEOUT (Chrome: OK, Safari: TIMEOUT)
Rendering is blocked before render-blocking resources are loaded: FAIL (Chrome: FAIL, Safari: FAIL)
Parser-inserted render-blocking module script is preloaded and evaluated: TIMEOUT (Chrome: PASS, Safari: TIMEOUT)
/html/dom/render-blocking/render-blocked-apis-by-module-preload-link.tentative.html: ERROR [Gecko-android-em-7.0-x86_64-lite-qr-debug-geckoview
, Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
, Gecko-android-em-7.0-x86_64-qr-debug-geckoview
, Gecko-android-em-7.0-x86_64-qr-opt-geckoview
, Gecko-linux1804-64-domstreams-qr-debug
, Gecko-linux1804-64-qr-debug
, Gecko-linux1804-64-qr-opt
, Gecko-windows10-32-2004-qr-debug
, Gecko-windows10-32-2004-qr-opt
, Gecko-windows10-64-2004-qr-debug
, Gecko-windows10-64-2004-qr-opt
, GitHub
], TIMEOUT [Gecko-linux1804-64-tsan-qr-opt
] (Chrome: OK, Safari: TIMEOUT)
Should not flush autofocus candidates when render-blocked: FAIL (Chrome: FAIL, Safari: FAIL)
Should not run the scroll steps when render-blocked: FAIL (Chrome: FAIL, Safari: FAIL)
Should not run the update animations and send events steps when render-blocked: FAIL (Chrome: FAIL, Safari: FAIL)
Should not run animation frame callbacks when render-blocked: FAIL (Chrome: FAIL, Safari: FAIL)
Should not run the update intersection observers step when render-blocked: FAIL (Chrome: FAIL, Safari: FAIL)
Render-blocking module script is preloaded and executed: TIMEOUT (Chrome: PASS, Safari: TIMEOUT)
/html/dom/render-blocking/script-inserted-modulepreload-link.tentative.html: TIMEOUT (Chrome: OK, Safari: TIMEOUT)
Rendering is blocked before render-blocking resources are loaded: FAIL (Chrome: FAIL, Safari: FAIL)
Script-inserted render-blocking module script is preloaded and evaluated: TIMEOUT (Chrome: PASS, Safari: TIMEOUT)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/69c5448c61a5 [wpt PR 33195] - [renderblocking] Implement render-blocking on preload and modulepreload links, a=testonly https://hg.mozilla.org/integration/autoland/rev/f69a9db78f12 [wpt PR 33195] - Update wpt metadata, a=testonly
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b4670f82f19b [wpt PR 33195] - [renderblocking] Implement render-blocking on preload and modulepreload links, a=testonly https://hg.mozilla.org/integration/autoland/rev/01858891782a [wpt PR 33195] - Update wpt metadata, a=testonly
Comment 5•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/b4670f82f19b
https://hg.mozilla.org/mozilla-central/rev/01858891782a
Description
•