commit 18958bfdef8b2452874467cd9889e468a1ff4f3b parent d9af9be984bddd7956a6be5f5256869ca4375efe Author: Daniel Minor <dminor@mozilla.com> Date: Fri, 12 Dec 2025 14:12:37 +0000 Bug 1994828 - Allow service workers to load wasm modules; r=dom-worker-reviewers,edenchuang Differential Revision: https://phabricator.services.mozilla.com/D275510 Diffstat:
| M | dom/workers/loader/NetworkLoadHandler.cpp | | | 11 | +++++++++-- |
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/dom/workers/loader/NetworkLoadHandler.cpp b/dom/workers/loader/NetworkLoadHandler.cpp @@ -341,8 +341,15 @@ nsresult NetworkLoadHandler::PrepareForRequest(nsIRequest* aRequest) { auto mimeTypeUTF16 = NS_ConvertUTF8toUTF16(mimeType); if (!nsContentUtils::IsJavascriptMIMEType(mimeTypeUTF16)) { // JSON is allowed as a non-toplevel. - if (loadContext->IsTopLevel() || - !nsContentUtils::IsJsonMimeType(mimeTypeUTF16)) { + if (!((!loadContext->IsTopLevel() && + nsContentUtils::IsJsonMimeType(mimeTypeUTF16)) +#ifdef NIGHTLY_BUILD + // Allow wasm modules. + || (StaticPrefs:: + javascript_options_experimental_wasm_esm_integration() && + nsContentUtils::HasWasmMimeTypeEssence(mimeTypeUTF16)) +#endif + )) { const nsCString& scope = mWorkerRef->Private() ->GetServiceWorkerRegistrationDescriptor() .Scope();