diff --git a/dom/base/nsFrameLoaderOwner.cpp b/dom/base/nsFrameLoaderOwner.cpp index 524e686f7e17..b90302f0c9c2 100644 --- a/dom/base/nsFrameLoaderOwner.cpp +++ b/dom/base/nsFrameLoaderOwner.cpp @@ -248,14 +248,6 @@ void nsFrameLoaderOwner::ChangeRemotenessToProcess( aContentParent); } - // FIXME(bug 1644779): We'd like to stop triggering a load here, as this - // reads the attributes, such as `src`, on the element, and could - // start another load which will be clobbered shortly. - // - // This is OK for now, as we're mimicing the existing process switching - // behaviour, and elements created by tabbrowser don't have the - // `src` attribute specified. - mFrameLoader->LoadFrame(false); }; auto shouldPreserve = diff --git a/netwerk/ipc/DocumentChannel.cpp b/netwerk/ipc/DocumentChannel.cpp index 69b629315c00..8dd77b0c9871 100644 --- a/netwerk/ipc/DocumentChannel.cpp +++ b/netwerk/ipc/DocumentChannel.cpp @@ -151,7 +151,7 @@ nsDocShell* DocumentChannel::GetDocShell() { // Changes here should also be made in // E10SUtils.documentChannelPermittedForURI(). static bool URIUsesDocChannel(nsIURI* aURI) { - if (SchemeIsJavascript(aURI) || NS_IsAboutBlank(aURI)) { + if (SchemeIsJavascript(aURI)) { return false; } diff --git a/toolkit/modules/E10SUtils.jsm b/toolkit/modules/E10SUtils.jsm index 0e1dae2678a8..458edadb0c48 100644 --- a/toolkit/modules/E10SUtils.jsm +++ b/toolkit/modules/E10SUtils.jsm @@ -126,11 +126,7 @@ const kSafeSchemes = [ ]; const kDocumentChannelDeniedSchemes = ["javascript"]; -const kDocumentChannelDeniedURIs = [ - "about:blank", - "about:crashcontent", - "about:printpreview", -]; +const kDocumentChannelDeniedURIs = ["about:crashcontent", "about:printpreview"]; // Changes here should also be made in URIUsesDocChannel in DocumentChannel.cpp. function documentChannelPermittedForURI(aURI) { @@ -581,12 +577,14 @@ var E10SUtils = { return NOT_REMOTE; } - // We want to use the original URI for "about:" (except for "about:srcdoc") - // and "chrome://" scheme, so that we can properly determine - // the remote type. + // We want to use the original URI for "about:" (except for "about:srcdoc" + // and "about:blank") and "chrome://" scheme, so that we can properly + // determine the remote type. let useOriginalURI; if (aOriginalURI.scheme == "about") { - useOriginalURI = !["srcdoc"].includes(aOriginalURI.spec); + useOriginalURI = !["about:srcdoc", "about:blank"].includes( + aOriginalURI.spec + ); } else { useOriginalURI = aOriginalURI.scheme == "chrome"; } @@ -602,7 +600,9 @@ var E10SUtils = { // using fission we add the option to force them into the default // web process for better test coverage. if (aPrincipal.isNullPrincipal) { - if ( + if (aOriginalURI.spec == "about:blank") { + useOriginalURI = true; + } else if ( (aRemoteSubframes && useSeparateDataUriProcess) || aPreferredRemoteType == NOT_REMOTE ) {