mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-27 01:27:30 +09:00
Issue #2402 - Improve ServiceWorker asserts and verify load principal does not inherit CSP. https://bugzilla.mozilla.org/show_bug.cgi?id=1337543
This commit is contained in:
parent
1703d936af
commit
971fc4b838
1 changed files with 15 additions and 7 deletions
|
|
@ -1279,6 +1279,7 @@ private:
|
||||||
|
|
||||||
nsCOMPtr<nsIPrincipal> responsePrincipal =
|
nsCOMPtr<nsIPrincipal> responsePrincipal =
|
||||||
PrincipalInfoToPrincipal(*aPrincipalInfo);
|
PrincipalInfoToPrincipal(*aPrincipalInfo);
|
||||||
|
MOZ_DIAGNOSTIC_ASSERT(responsePrincipal);
|
||||||
|
|
||||||
nsIPrincipal* principal = mWorkerPrivate->GetPrincipal();
|
nsIPrincipal* principal = mWorkerPrivate->GetPrincipal();
|
||||||
if (!principal) {
|
if (!principal) {
|
||||||
|
|
@ -1306,14 +1307,21 @@ private:
|
||||||
mWorkerPrivate->SetBaseURI(finalURI);
|
mWorkerPrivate->SetBaseURI(finalURI);
|
||||||
}
|
}
|
||||||
|
|
||||||
mozilla::DebugOnly<nsIPrincipal*> principal = mWorkerPrivate->GetPrincipal();
|
|
||||||
MOZ_ASSERT(principal);
|
|
||||||
nsILoadGroup* loadGroup = mWorkerPrivate->GetLoadGroup();
|
nsILoadGroup* loadGroup = mWorkerPrivate->GetLoadGroup();
|
||||||
MOZ_ASSERT(loadGroup);
|
MOZ_DIAGNOSTIC_ASSERT(loadGroup);
|
||||||
|
|
||||||
mozilla::DebugOnly<bool> equal = false;
|
#if defined(DEBUG)
|
||||||
MOZ_ASSERT(responsePrincipal && NS_SUCCEEDED(responsePrincipal->Equals(principal, &equal)));
|
nsIPrincipal* principal = mWorkerPrivate->GetPrincipal();
|
||||||
MOZ_ASSERT(equal);
|
MOZ_DIAGNOSTIC_ASSERT(principal);
|
||||||
|
|
||||||
|
bool equal = false;
|
||||||
|
MOZ_ALWAYS_SUCCEEDS(responsePrincipal->Equals(principal, &equal));
|
||||||
|
MOZ_DIAGNOSTIC_ASSERT(equal);
|
||||||
|
|
||||||
|
nsCOMPtr<nsIContentSecurityPolicy> csp;
|
||||||
|
MOZ_ALWAYS_SUCCEEDS(responsePrincipal->GetCsp(getter_AddRefs(csp)));
|
||||||
|
MOZ_DIAGNOSTIC_ASSERT(!csp);
|
||||||
|
#endif
|
||||||
|
|
||||||
mWorkerPrivate->InitChannelInfo(aChannelInfo);
|
mWorkerPrivate->InitChannelInfo(aChannelInfo);
|
||||||
mWorkerPrivate->SetPrincipal(responsePrincipal, loadGroup);
|
mWorkerPrivate->SetPrincipal(responsePrincipal, loadGroup);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue