Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3abbfb967088cb985767a2776daca74e65f4af3d
https://github.com/WebKit/WebKit/commit/3abbfb967088cb985767a2776daca74e65f4af3d
Author: Pouneh Bahrami <[email protected]>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M LayoutTests/imported/w3c/web-platform-tests/gpc/sec-gpc.https-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/gpc/support/getGPC.py
Log Message:
-----------
imported/w3c/web-platform-tests/gpc/sec-gpc.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=315807
rdar://177976784
Reviewed by Matthew Finkel.
The document response from getGPC.py had two things happening simultaneously
with
no ordering guarantee:
1. A static <script src="getGPC.py?gpc=true"> tag sitting at the bottom of
the HTML
body so the browse fetches this automatically as part of parsing the page.
2. The run() async function, which called await
fetch_tests_from_window(iframe.contentWindow). This waits for the iframe
to fully load
and collect all its sub-tests (iframe fetch, framed image fetch, framed
script fetch).
Both kicked off at the same time. The "script fetch" test completed whenever
the browser
finished fetching that static script tag, and the iframe tests completed
whenever the iframe
and its resources finished loading. Since these were independent network
requests with no
sequencing between them, whichever came back first would report its test result
first and make
the "script fetch" result land unpredictably before or after the iframe's
“framed image fetch".
The fix forces strict sequencing inside run(): the script is now loaded as a
dynamic <script>
element and explicitly awaited as the first step, before the iframe's tests are
collected.
So the order is always: document → image → script → iframe → framed image →
framed script.
This fix also ensures the child document waits for all worker results before
signaling completion.
Previously, worker, sharedworker, and serviceworker fetchctests were never
collected .
The harness auto-completed before run() reached those calls.
* LayoutTests/imported/w3c/web-platform-tests/gpc/sec-gpc.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/gpc/support/getGPC.py:
Canonical link: https://commits.webkit.org/314317@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications