Backed out changeset 278b86784e72 (bug 1625727) for LoadInfo related wpt crashes CLOSED TREE

This commit is contained in:
Bogdan Tara 2020-03-30 13:16:44 +03:00
parent c8bd3df8c2
commit e304198a5e

View File

@ -409,6 +409,12 @@ nsresult RHEntryToRHEntryInfo(nsIRedirectHistoryEntry* aRHEntry,
nsresult LoadInfoToLoadInfoArgs(nsILoadInfo* aLoadInfo,
Maybe<LoadInfoArgs>* aOptionalLoadInfoArgs) {
if (!aLoadInfo) {
// if there is no loadInfo, then there is nothing to serialize
*aOptionalLoadInfoArgs = Nothing();
return NS_OK;
}
nsresult rv = NS_OK;
Maybe<PrincipalInfo> loadingPrincipalInfo;
if (aLoadInfo->LoadingPrincipal()) {
@ -785,6 +791,20 @@ nsresult LoadInfoArgsToLoadInfo(
void LoadInfoToParentLoadInfoForwarder(
nsILoadInfo* aLoadInfo, ParentLoadInfoForwarderArgs* aForwarderArgsOut) {
if (!aLoadInfo) {
*aForwarderArgsOut = ParentLoadInfoForwarderArgs(
false, false, Nothing(), nsILoadInfo::TAINTING_BASIC,
false, // SkipContentSniffing
nsILoadInfo::HTTPS_ONLY_UNINITIALIZED, // httpsOnlyStatus
false, // serviceWorkerTaintingSynthesized
false, // documentHasUserInteracted
false, // documentHasLoaded
false, // allowListFutureDocumentsCreatedFromThisRedirectChain
Maybe<CookieJarSettingsArgs>(),
nsILoadInfo::BLOCKING_REASON_NONE); // requestBlockingReason
return;
}
Maybe<IPCServiceWorkerDescriptor> ipcController;
Maybe<ServiceWorkerDescriptor> controller(aLoadInfo->GetController());
if (controller.isSome()) {
@ -820,6 +840,10 @@ void LoadInfoToParentLoadInfoForwarder(
nsresult MergeParentLoadInfoForwarder(
ParentLoadInfoForwarderArgs const& aForwarderArgs, nsILoadInfo* aLoadInfo) {
if (!aLoadInfo) {
return NS_OK;
}
nsresult rv;
rv = aLoadInfo->SetAllowInsecureRedirectToDataURI(
@ -876,6 +900,12 @@ nsresult MergeParentLoadInfoForwarder(
void LoadInfoToChildLoadInfoForwarder(
nsILoadInfo* aLoadInfo, ChildLoadInfoForwarderArgs* aForwarderArgsOut) {
if (!aLoadInfo) {
*aForwarderArgsOut =
ChildLoadInfoForwarderArgs(Nothing(), Nothing(), Nothing(), 0);
return;
}
Maybe<IPCClientInfo> ipcReserved;
Maybe<ClientInfo> reserved(aLoadInfo->GetReservedClientInfo());
if (reserved.isSome()) {
@ -901,6 +931,10 @@ void LoadInfoToChildLoadInfoForwarder(
nsresult MergeChildLoadInfoForwarder(
const ChildLoadInfoForwarderArgs& aForwarderArgs, nsILoadInfo* aLoadInfo) {
if (!aLoadInfo) {
return NS_OK;
}
Maybe<ClientInfo> reservedClientInfo;
auto& ipcReserved = aForwarderArgs.reservedClientInfo();
if (ipcReserved.isSome()) {