[wpt-sync] Sync PR 59406 - Enable InitiatorUrl for ResourceTiming on dedicated and shared workers
Categories
(Core :: DOM: Performance APIs, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox152 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 59406 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/59406
Details from upstream follow.
Guohui Deng <guohuideng@microsoft.com> wrote:
Enable InitiatorUrl for ResourceTiming on dedicated and shared workers
This CL is part of implementation of "initiator for resource timing"
feature. Explainer:
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/ResourceTimingInitiatorInfo/explainer.md
Chromestatus: https://chromestatus.com/feature/4876586949804032TaskAttribution is enabled on dedicated and shared workers to facilitate
accurate initiator tracking for resources. This allows the different
initiator URLs to be propagated across async tasks (e.g. setTimeout())
coming from different scripts(e.g. importScripts()). So, we can report
initiator with better granularity than simply reporting worker script
for all the resources and still be able to track back to the caller when
an async task fetches a resource.There are still limitations on worker thread.
What are supported:
- Resources dynamically fetched by worker script, either
directly or via a number of common async function calls
covered by WPT tests that are added in this CL.- JS files imported by "importScripts()"
What will be supported in future:
- Worker script itself;
What will be either supported or documented about if not supported:
- Modular files used in worker thread;
- Resources fetched in nested worker script;
- Resources fetched in files that are imported via
"importScripts()".Bug: 40919714
Change-Id: I07d6c744a0f568206404c78290d517865cb31d24
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7732189
Reviewed-by: Nate Chapin \<japhet@chromium.org>
Commit-Queue: Guohui Deng \<guohuideng@microsoft.com>
Reviewed-by: Scott Haseley \<shaseley@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1618936}
| Assignee | ||
Updated•1 month ago
|
| Assignee | ||
Comment 1•1 month ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=3dcfc9836be13aa3dcc7f3bbf4b9144182ceaa4e
| Assignee | ||
Comment 2•1 month ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 30 tests and 1 subtests
Status Summary
Firefox
OK : 25[GitHub] 30[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
FAIL : 28[GitHub] 52[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
Chrome
OK : 25
PASS : 12
FAIL : 16
Safari
OK : 21
FAIL : 24
ERROR: 4
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /resource-timing/tentative/initiator-url/direct.any.sharedworker.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_direct_worker initiatorUrl from worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/direct.any.worker.js':
FAIL(Chrome:FAIL, Safari:FAIL) - The initiator Url for resource-timing/resources/loading-resource-lib.js?direct_any initiatorUrl from worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/direct.any.worker.js':
FAIL(Chrome:FAIL, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_direct_worker initiatorUrl from worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/direct.any.worker.js':
- /resource-timing/tentative/initiator-url/direct.any.worker.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_direct_worker initiatorUrl from worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/direct.any.worker.js':
FAIL(Chrome:FAIL, Safari:FAIL) - The initiator Url for resource-timing/resources/loading-resource-lib.js?direct_any initiatorUrl from worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/direct.any.worker.js':
FAIL(Chrome:FAIL, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_direct_worker initiatorUrl from worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/direct.any.worker.js':
- /resource-timing/tentative/initiator-url/event-handler-overwritten.html [wpt.fyi]
- The initiator Url for /images/red.png?initiator_url_eventhandler initiatorUrl from event handlers must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/event-handler-overwritten.html':
FAIL(Chrome:PASS, Safari:FAIL)
- The initiator Url for /images/red.png?initiator_url_eventhandler initiatorUrl from event handlers must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/event-handler-overwritten.html':
- /resource-timing/tentative/initiator-url/event-handler.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_eventhandler initiatorUrl from event handlers must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/event-handler.html':
FAIL(Chrome:PASS, Safari:FAIL) - The initiator Url for /images/red.png?initiator_url_eventhandler initiatorUrl from event handlers must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/event-handler.html':
FAIL(Chrome:PASS, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_eventhandler initiatorUrl from event handlers must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/event-handler.html':
- /resource-timing/tentative/initiator-url/external-script-in-posted-task.html [wpt.fyi]
- The initiator Url for empty_style.css?no_cache initiatorUrl by scheduler.postTask() from external scripts must be 'http://web-platform.test:8000/resource-timing/resources/loading-resources-in-posted-task.js':
FAIL - The initiator Url for blue.png?no_cache initiatorUrl by scheduler.postTask() from external scripts must be 'http://web-platform.test:8000/resource-timing/resources/loading-resources-in-posted-task.js':
FAIL - The initiator Url for empty.js?no_cache initiatorUrl by scheduler.postTask() from external scripts must be 'http://web-platform.test:8000/resource-timing/resources/loading-resources-in-posted-task.js':
FAIL - The initiator Url for green.html?no_cache initiatorUrl by scheduler.postTask() from external scripts must be 'http://web-platform.test:8000/resource-timing/resources/loading-resources-in-posted-task.js':
FAIL
- The initiator Url for empty_style.css?no_cache initiatorUrl by scheduler.postTask() from external scripts must be 'http://web-platform.test:8000/resource-timing/resources/loading-resources-in-posted-task.js':
- /resource-timing/tentative/initiator-url/external-script.html [wpt.fyi]
- The initiator Url for empty_style.css?no_cache initiatorUrl from external scripts must be 'http://web-platform.test:8000/resource-timing/resources/loading-resources.js':
FAIL - The initiator Url for blue.png?no_cache initiatorUrl from external scripts must be 'http://web-platform.test:8000/resource-timing/resources/loading-resources.js':
FAIL - The initiator Url for empty.js?no_cache initiatorUrl from external scripts must be 'http://web-platform.test:8000/resource-timing/resources/loading-resources.js':
FAIL - The initiator Url for green.html?no_cache initiatorUrl from external scripts must be 'http://web-platform.test:8000/resource-timing/resources/loading-resources.js':
FAIL
- The initiator Url for empty_style.css?no_cache initiatorUrl from external scripts must be 'http://web-platform.test:8000/resource-timing/resources/loading-resources.js':
- /resource-timing/tentative/initiator-url/iframe-post-message.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_iframe_postmessage initiatorUrl from iframe postMessage() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/iframe-post-message.html':
FAIL(Chrome:PASS, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_iframe_postmessage initiatorUrl from iframe postMessage() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/iframe-post-message.html':
- /resource-timing/tentative/initiator-url/inline-document-write.html [wpt.fyi]
- The initiator Url for blue.png?inline-script-doc-write initiatorUrl from document-initiated must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/inline-document-write.html':
FAIL - The initiator Url for empty_style.css?inline-script-doc-write initiatorUrl from document-initiated must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/inline-document-write.html':
FAIL - The initiator Url for empty.js?doc-write initiatorUrl from document-initiated must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/inline-document-write.html':
FAIL
- The initiator Url for blue.png?inline-script-doc-write initiatorUrl from document-initiated must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/inline-document-write.html':
- /resource-timing/tentative/initiator-url/inline-script.html [wpt.fyi]
- The initiator Url for blank_page_green.html?no_cache_inline_script initiatorUrl from inline-script must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/inline-script.html':
FAIL - The initiator Url for empty_style.css?no_cache_inline_script initiatorUrl from inline-script must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/inline-script.html':
FAIL - The initiator Url for blue.png?no_cache_inline_script initiatorUrl from inline-script must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/inline-script.html':
FAIL
- The initiator Url for blank_page_green.html?no_cache_inline_script initiatorUrl from inline-script must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/inline-script.html':
- /resource-timing/tentative/initiator-url/post-message-shared-worker.html [wpt.fyi]
- check initiatorUrl for resources fetched in message handler in worker thread:
FAIL(Chrome:FAIL, Safari:FAIL)
- check initiatorUrl for resources fetched in message handler in worker thread:
- /resource-timing/tentative/initiator-url/post-message-worker.html [wpt.fyi]
- check initiatorUrl for resources fetched in message handler in worker thread:
FAIL(Chrome:FAIL, Safari:FAIL)
- check initiatorUrl for resources fetched in message handler in worker thread:
- /resource-timing/tentative/initiator-url/post-task.any.worker.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_posttask_worker initiatorUrl from postTask() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/post-task.any.worker.js':
FAIL(Chrome:FAIL)
- The initiator Url for /images/blue.png?initiator_url_posttask_worker initiatorUrl from postTask() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/post-task.any.worker.js':
- /resource-timing/tentative/initiator-url/post-task.any.sharedworker.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_posttask_worker initiatorUrl from postTask() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/post-task.any.worker.js':
FAIL(Chrome:FAIL)
- The initiator Url for /images/blue.png?initiator_url_posttask_worker initiatorUrl from postTask() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/post-task.any.worker.js':
- /resource-timing/tentative/initiator-url/post-task.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_posttask initiatorUrl from postTask() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/post-task.html':
FAIL(Chrome:PASS)
- The initiator Url for /images/blue.png?initiator_url_posttask initiatorUrl from postTask() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/post-task.html':
- /resource-timing/tentative/initiator-url/promise.any.worker.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_promise_worker initiatorUrl from promise in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/promise.any.worker.js':
FAIL(Chrome:FAIL, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_promise_worker initiatorUrl from promise in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/promise.any.worker.js':
- /resource-timing/tentative/initiator-url/promise.any.sharedworker.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_promise_worker initiatorUrl from promise in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/promise.any.worker.js':
FAIL(Chrome:FAIL, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_promise_worker initiatorUrl from promise in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/promise.any.worker.js':
- /resource-timing/tentative/initiator-url/promise.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_promise initiatorUrl from fullfilled promise must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/promise.html':
FAIL(Chrome:PASS, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_promise initiatorUrl from fullfilled promise must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/promise.html':
- /resource-timing/tentative/initiator-url/queue-microtask.any.worker.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_queuemicrotask_worker initiatorUrl from queueMicrotask() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/queue-microtask.any.worker.js':
FAIL(Chrome:FAIL, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_queuemicrotask_worker initiatorUrl from queueMicrotask() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/queue-microtask.any.worker.js':
- /resource-timing/tentative/initiator-url/queue-microtask.any.sharedworker.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_queuemicrotask_worker initiatorUrl from queueMicrotask() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/queue-microtask.any.worker.js':
FAIL(Chrome:FAIL, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_queuemicrotask_worker initiatorUrl from queueMicrotask() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/queue-microtask.any.worker.js':
- /resource-timing/tentative/initiator-url/queue-microtask.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_queuemicrotask initiatorUrl from queueMicrotask() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/queue-microtask.html':
FAIL(Chrome:PASS, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_queuemicrotask initiatorUrl from queueMicrotask() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/queue-microtask.html':
- /resource-timing/tentative/initiator-url/request-animation-frame.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_requestanimationframe initiatorUrl from requestAnimationFrame() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/request-animation-frame.html':
FAIL(Chrome:PASS, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_requestanimationframe initiatorUrl from requestAnimationFrame() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/request-animation-frame.html':
- /resource-timing/tentative/initiator-url/request-idle-callback.html [wpt.fyi]
-
The initiator Url for function test(func, name, properties)
{
if (tests.promise_setup_called) {
tests.status.status = tests.status.ERROR;
tests.status.message = 'testinvoked afterpromise_setup';
tests.complete();
}
var test_name = get_test_name(func, name);
var test_obj = new Test(test_name, properties);
var value = test_obj.step(func, test_obj, test_obj);if (value !== undefined) { var msg = 'Test named "' + test_name + '" passed a function to `test` that returned a value.'; try { if (value && typeof value.then === 'function') { msg += ' Consider using `promise_test` instead when ' + 'using Promises or async/await.'; } } catch (err) {} tests.status.status = tests.status.ERROR; tests.status.message = msg; } if (test_obj.phase === test_obj.phases.STARTED) { test_obj.done(); }} initiatorUrl from requestIdleCallback() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/request-idle-callback.html':
FAIL(Chrome:PASS)
-
- /resource-timing/tentative/initiator-url/set-interval.any.sharedworker.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_setinterval_worker initiatorUrl from setInterval() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/set-interval.any.worker.js':
FAIL(Chrome:FAIL, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_setinterval_worker initiatorUrl from setInterval() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/set-interval.any.worker.js':
- /resource-timing/tentative/initiator-url/set-interval.any.worker.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_setinterval_worker initiatorUrl from setInterval() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/set-interval.any.worker.js':
FAIL(Chrome:FAIL, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_setinterval_worker initiatorUrl from setInterval() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/set-interval.any.worker.js':
- /resource-timing/tentative/initiator-url/set-interval.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_setinterval initiatorUrl from setInterval() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/set-interval.html':
FAIL(Chrome:PASS, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_setinterval initiatorUrl from setInterval() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/set-interval.html':
- /resource-timing/tentative/initiator-url/set-timeout.any.sharedworker.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_settimeout_worker initiatorUrl from setTimeout() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/set-timeout.any.worker.js':
FAIL(Chrome:FAIL, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_settimeout_worker initiatorUrl from setTimeout() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/set-timeout.any.worker.js':
- /resource-timing/tentative/initiator-url/set-timeout.any.worker.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_settimeout_worker initiatorUrl from setTimeout() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/set-timeout.any.worker.js':
FAIL(Chrome:FAIL, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_settimeout_worker initiatorUrl from setTimeout() in worker thread must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/set-timeout.any.worker.js':
- /resource-timing/tentative/initiator-url/set-timeout.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_settimeout initiatorUrl from setTimeout() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/set-timeout.html':
FAIL(Chrome:PASS, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_settimeout initiatorUrl from setTimeout() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/set-timeout.html':
- /resource-timing/tentative/initiator-url/static-resource.html [wpt.fyi]
- The initiator Url for empty.js?blocking initiatorUrl from static-resource must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/static-resource.html':
FAIL - The initiator Url for display_paragraph.js initiatorUrl from static-resource must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/static-resource.html':
FAIL - The initiator Url for empty.js?async initiatorUrl from static-resource must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/static-resource.html':
FAIL - The initiator Url for empty.js?deferred initiatorUrl from static-resource must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/static-resource.html':
FAIL - The initiator Url for empty.js?module initiatorUrl from static-resource must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/static-resource.html':
FAIL - The initiator Url for empty_style.css?link initiatorUrl from static-resource must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/static-resource.html':
FAIL - The initiator Url for blue.png?inline-style initiatorUrl from static-resource must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/static-resource.html':
FAIL - The initiator Url for Ahem.ttf?initiator-html initiatorUrl from static-resource must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/static-resource.html':
FAIL - The initiator Url for blue.png?using-Img-tag initiatorUrl from static-resource must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/static-resource.html':
FAIL - The initiator Url for green.html initiatorUrl from static-resource must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/static-resource.html':
FAIL
- The initiator Url for empty.js?blocking initiatorUrl from static-resource must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/static-resource.html':
- /resource-timing/tentative/initiator-url/xml-http-request.html [wpt.fyi]
- The initiator Url for /images/blue.png?initiator_url_xmlhttprequest initiatorUrl from XMLHttpRequest() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/xml-http-request.html':
FAIL(Chrome:PASS, Safari:FAIL)
- The initiator Url for /images/blue.png?initiator_url_xmlhttprequest initiatorUrl from XMLHttpRequest() must be 'http://web-platform.test:8000/resource-timing/tentative/initiator-url/xml-http-request.html':
https://hg.mozilla.org/mozilla-central/rev/f18518c2d1e2
https://hg.mozilla.org/mozilla-central/rev/123baeb2b1f8
Description
•