Bug 1617889 - Fix COOP comparison check r=michal

Differential Revision: https://phabricator.services.mozilla.com/D64083

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Valentin Gosu 2020-03-17 16:36:17 +00:00
parent 2aec0c4d42
commit 8f8a2e2547
2 changed files with 5 additions and 5 deletions

View File

@ -166,6 +166,8 @@ already_AddRefed<BrowsingContext> BrowsingContext::CreateDetached(
}
context->mFields.SetWithoutSyncing<IDX_EmbedderPolicy>(
nsILoadInfo::EMBEDDER_POLICY_NULL);
context->mFields.SetWithoutSyncing<IDX_OpenerPolicy>(
nsILoadInfo::OPENER_POLICY_UNSAFE_NONE);
BrowsingContext* inherit = aParent ? aParent : aOpener;
if (inherit) {

View File

@ -7424,14 +7424,12 @@ static bool CompareCrossOriginOpenerPolicies(
return true;
}
if (documentPolicy != resultPolicy) {
if (documentPolicy == nsILoadInfo::OPENER_POLICY_UNSAFE_NONE ||
resultPolicy == nsILoadInfo::OPENER_POLICY_UNSAFE_NONE) {
return false;
}
// For the next checks the document and result will have matching policies.
// We either check if they are same origin or same site.
if ((documentPolicy & nsILoadInfo::OPENER_POLICY_SAME_ORIGIN) &&
documentOrigin->Equals(resultOrigin)) {
if (documentPolicy == resultPolicy && documentOrigin->Equals(resultOrigin)) {
return true;
}