зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1628608 - P1 - DocumentLoadListener transmits blob data for triggering principal before cross-process redirect if URI is a blob URL r=baku,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D71889
This commit is contained in:
Родитель
40e3519c0b
Коммит
c4ebd85665
|
@ -1101,6 +1101,21 @@ DocumentLoadListener::RedirectToRealChannel(
|
|||
args.timing() = Some(std::move(mTiming));
|
||||
}
|
||||
|
||||
auto loadInfo = args.loadInfo();
|
||||
|
||||
if (loadInfo.isNothing()) {
|
||||
return PDocumentChannelParent::RedirectToRealChannelPromise::
|
||||
CreateAndReject(ipc::ResponseRejectReason::SendError, __func__);
|
||||
}
|
||||
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIPrincipal> triggeringPrincipal =
|
||||
PrincipalInfoToPrincipal(loadInfo.ref().triggeringPrincipalInfo(), &rv);
|
||||
|
||||
if (NS_SUCCEEDED(rv) && triggeringPrincipal) {
|
||||
cp->TransmitBlobDataIfBlobURL(args.uri(), triggeringPrincipal);
|
||||
}
|
||||
|
||||
return cp->SendCrossProcessRedirect(args,
|
||||
std::move(aStreamFilterEndpoints));
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче