Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /service-workers/service-worker/fetch-request-xhr-sync-error.https.window.html - WPT Dashboard Interop Dashboard
// META: script=resources/test-helpers.sub.js
"use strict";
promise_test(async t => {
const url = "resources/fetch-request-xhr-sync-error-worker.js";
const scope = "resources/fetch-request-xhr-sync-iframe.html";
const registration = await service_worker_unregister_and_register(t, url, scope);
t.add_cleanup(() => registration.unregister());
await wait_for_state(t, registration.installing, 'activated');
const frame = await with_iframe(scope);
t.add_cleanup(() => frame.remove());
assert_throws_dom("NetworkError", frame.contentWindow.DOMException, () => frame.contentWindow.performSyncXHR("non-existent-stream-1.txt"));
assert_throws_dom("NetworkError", frame.contentWindow.DOMException, () => frame.contentWindow.performSyncXHR("non-existent-stream-2.txt"));
assert_throws_dom("NetworkError", frame.contentWindow.DOMException, () => frame.contentWindow.performSyncXHR("non-existent-stream-3.txt"));
}, "Verify synchronous XMLHttpRequest always throws a NetworkError for ReadableStream errors");