import changes from `dev' branch of rmottola/Arctic-Fox:

- Bug 1247836 - Add a ReadOnlyNamespace class to mozbuild.util. r=nalexander,r=chmanchester (cee83ff47c)
- Bug 1252170 - Disable Spotlight indexing of objdir on OS X; r=ted (21377450ea)
- Bug 1242132 - Make sure to split multiple _FLAGS after bug 1224452. r=glandium (dccac421f4)
- Bug 1251076 - Record ccache stats in build telemetry data r=gps (73e4f22a98)
- Bug 1234913 - Pre: Allow to --skip-cache when running |mach artifact install|. r=chmanchester (349114f12a)
- Bug 1234913 - Pre: Show download progress during |mach artifact install|. r=nalexander (d14ecab254)
- Bug 1234913 - Clarify things that are hg-specific; make iteration lazy. r=chmanchester (be0bb6a56a)
- Bug 1234913 - Stop using local pushlog in |mach artifact install|. r=nalexander (84b4c6f91e)
- Bug 1234913 - Support git in |mach artifact install|. r=nalexander (367e90b5ce)
- Bug 1250961 - Move testing/mochitest/Makefile.in to moz.build. r=gps (8b55e0ff7b)
- Bug 1250961 - Move testing/xpcshell/Makefile.in to moz.build. r=gps (032c40962d)
- Bug 1253203 - Normalize path separators in MozbuildObject. r=gps (86670b65a3)
- Bug 1255655 - Const-ify k{Unix,Win}Charsets and kLangGroups. r=smontagu. (75e9a5bf6c)
- Bug 1253010 - part 1 - refactor nsX509CertValidity time formatting; r=keeler (976afc4b16)
- Bug 1253010 - part 2 - provide a non-XPCOM way to create new nsIDateTimeFormat instances; r=smontagu (a2ccf520bb)
- Bug 1257136 - Allow to pass configure options from mach configure. r=gps (46e5230a5c)
- Bug 1253651 - Undo changes to PATH made by activating virtualenv in mach artifact. r=glandium (d913b9db8f)
- Bug 1240149 - Install Python packages necessary to artifact builds from mozilla pypi when running in automation. r=nalexander (1cf9cbc701)
- remove option of which there is no trace in FF (23d33f3862)
- fix test (173819587b)
- remove configure option for status bar and just keep it enabled (87cd78ec92)
- Bug 1048850 - Part 2: make 'ruleNum' an object member to allow the property to be passed to content pages. r=Standard8 (b82a8b5478)
- tiny bit of Bug 1028187 - Enable IndexedDB (8e80d1a061)
- Bug 1218996 - AboutRedirector uses aboutNewTabService exclusively for about:newtab r=mconley (8d7c5b7b89)
- missed to actually cotninue packaging status bar (670c537cb6)
- Bug 1172165 - check all nested URI schemes in CAPS. Make view-source dangerous to load, and about: URIs use per-URI flags so they keep working, r=bz (91200bab1d)
- Bug 1255239 - Reduce size of HuffmanIncomingTables. r=hurley. (8de07f2979)
- Bug 1224328 - Don't infinite loop when parsing headers with newlines. r=mcmanus (e7a9871294)
- Bug 1245106 - necko compilation warnings r=mcmanus (373b414d71)
- Bug 1253358 - no flags on priority frames r=hurley (0bfe9ccabe)
- Bug 1253358 - Assert no flags on several h2 frame types r=hurley (4315f882d7)
- Bug 1246735 - h2 reset recursive push. r=hurley (067e98a044)
- Bug 1253358 - minor h2 push fixes r=hurley (5a1c86723a)
- Bug 1246761 - Properly handle non-terminal 0-length DATA frames. r=mcmanus (4c1c907fc1)
- missed to actually continue packaging status bar (d79fab8d1d)
- Bug 1120715 - Part 1: Add Necko APIs to preserve the Request cache mode on the channel; r=mayhemer (be7b704e09)
- Bug 1244122 P1 Always support SW intercept even when http cache is disabled. r=mayhemer (1929d6ff6b)
- Bug 1219504 - Test changes (r=Gijs,mconley,jryans,MattN,Mossop) (d793d81f17)
- Bug 1219504 - BrowserTestUtils changes (r=mconley) (07cee2e1e2)
- Bug 1244122 P2 Perform refresh testing with http cache disabled. r=ehsan (41d2c91e14)
- Bug 1120715 - Part 2: Don't use OPEN_TRUNCATE when reopening a fake synthesized cache entry; r=mayhemer,jdm (84c5265a46)
- add missing snippets bits that gave errors on newTab, but hide snippets again (dc0fba20e7)
- Bug 1148544 - Figure out UA override once per LoadGroup and cache it, rather than once per channel. r=nwgh (d610f7210f)
- Bug 1253582 - h2 coalescing impacts wss:// r=michal (bc7acebd2e)
- Bug 1064378 - Don't rewrite custom Authorization header set on a channel by cached credential. r=jduell (a427c97d24)
- Bug 1219482: Replace PRLogModuleInfo with LazyLogModule in uriloader subdirectory.r=erahm (2b54ad3276)
- Bug 1113196 - Pass a sane set of parameters to loadinfo for top-level loads in e10s. r=sicking (ea83174b6b)
- enable missing bit of 1487964 that is now valid (f6959fdcbc)
- Bug 1226928 - network and ipc bits for content-signing on remote about:newtab, r=mayhemer (0a183e0136)
- Bug 1257186 - Refactor the way compacting GC passes lists of arenas to background tasks to avoid possible race r=terrence (80e167e4b0)
This commit is contained in:
2024-02-22 22:51:54 +08:00
parent c73bf91d47
commit e62587c8b9
141 changed files with 7526 additions and 4962 deletions
+43 -31
View File
@@ -10605,11 +10605,39 @@ nsDocShell::DoURILoad(nsIURI* aURI,
bool isSrcdoc = !aSrcdoc.IsVoid();
// There are three cases we care about:
// * Null mScriptGlobal: shouldn't happen but does (see bug 1240246). In this
// case, we create a loadingPrincipal as for a top-level load, but we leave
// requestingNode and requestingWindow null.
// * Top-level load (GetFrameElementInternal returns null). In this case,
// requestingNode is null, but requestingWindow is our mScriptGlobal.
// TODO we want to pass null for loadingPrincipal in this case.
// * Subframe load: requestingWindow is null, but requestingNode is the frame
// element for the load. loadingPrincipal is the NodePrincipal of the frame
// element.
nsCOMPtr<nsINode> requestingNode;
nsCOMPtr<nsPIDOMWindowOuter> requestingWindow;
nsCOMPtr<nsIPrincipal> loadingPrincipal;
if (mScriptGlobal) {
requestingNode = mScriptGlobal->AsOuter()->GetFrameElementInternal();
if (!requestingNode) {
requestingNode = mScriptGlobal->GetExtantDoc();
if (requestingNode) {
// If we have a requesting node, then use that as our loadingPrincipal.
loadingPrincipal = requestingNode->NodePrincipal();
} else {
MOZ_ASSERT(aContentPolicyType == nsIContentPolicy::TYPE_DOCUMENT);
requestingWindow = mScriptGlobal->AsOuter();
}
}
if (!loadingPrincipal) {
if (mItemType != typeChrome) {
nsIScriptSecurityManager* ssm = nsContentUtils::GetSecurityManager();
ssm->GetDocShellCodebasePrincipal(aURI, this, getter_AddRefs(loadingPrincipal));
} else {
// This is a top-level chrome load, use a system principal for the
// loadingPrincipal.
loadingPrincipal = nsContentUtils::GetSystemPrincipal();
}
}
@@ -10640,27 +10668,24 @@ nsDocShell::DoURILoad(nsIURI* aURI,
securityFlags |= nsILoadInfo::SEC_SANDBOXED;
}
#if(0)
// XXX: bug 1487964 has this code, but we have no nsILoadInfo set up yet.
// Do we need it?
RefPtr<LoadInfo> loadInfo =
requestingWindow ?
new LoadInfo(requestingWindow, loadingPrincipal, triggeringPrincipal,
securityFlags) :
new LoadInfo(loadingPrincipal, triggeringPrincipal, requestingNode,
securityFlags, aContentPolicyType);
if (aIsFromProcessingFrameAttributes) {
loadInfo->SetIsFromProcessingFrameAttributes();
}
#endif
if (!isSrcdoc) {
rv = NS_NewChannelInternal(getter_AddRefs(channel),
aURI,
requestingNode,
requestingNode
? requestingNode->NodePrincipal()
: triggeringPrincipal.get(),
triggeringPrincipal,
securityFlags,
aContentPolicyType,
nullptr, // loadGroup
static_cast<nsIInterfaceRequestor*>(this),
loadFlags);
loadInfo,
nullptr, // loadGroup
static_cast<nsIInterfaceRequestor*>(this),
loadFlags);
if (NS_FAILED(rv)) {
if (rv == NS_ERROR_UNKNOWN_PROTOCOL) {
@@ -10695,26 +10720,13 @@ nsDocShell::DoURILoad(nsIURI* aURI,
NS_ENSURE_TRUE(vsh, NS_ERROR_FAILURE);
rv = vsh->NewSrcdocChannel(aURI, aBaseURI, aSrcdoc,
requestingNode,
requestingNode
? requestingNode->NodePrincipal()
: triggeringPrincipal.get(),
triggeringPrincipal,
securityFlags,
aContentPolicyType,
getter_AddRefs(channel));
loadInfo, getter_AddRefs(channel));
} else {
rv = NS_NewInputStreamChannelInternal(getter_AddRefs(channel),
aURI,
aSrcdoc,
NS_LITERAL_CSTRING("text/html"),
requestingNode,
requestingNode ?
requestingNode->NodePrincipal() :
triggeringPrincipal.get(),
triggeringPrincipal,
securityFlags,
aContentPolicyType,
loadInfo,
true);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIInputStreamChannel> isc = do_QueryInterface(channel);