Bug 1614462: Part 3a - Remove support for <iframe mozbrowser> in content processes. r=nika

Differential Revision: https://phabricator.services.mozilla.com/D70748
This commit is contained in:
Kris Maglione
2020-04-20 20:11:50 +00:00
parent f085403b85
commit 710c31309b
2 changed files with 23 additions and 40 deletions

View File

@@ -255,17 +255,6 @@ ScrollbarPreference nsGenericHTMLFrameElement::MapScrollingAttribute(
return ScrollbarPreference::Auto;
}
static bool PrincipalAllowsBrowserFrame(nsIPrincipal* aPrincipal) {
nsCOMPtr<nsIPermissionManager> permMgr =
mozilla::services::GetPermissionManager();
NS_ENSURE_TRUE(permMgr, false);
uint32_t permission = nsIPermissionManager::DENY_ACTION;
nsresult rv = permMgr->TestPermissionFromPrincipal(
aPrincipal, NS_LITERAL_CSTRING("browser"), &permission);
NS_ENSURE_SUCCESS(rv, false);
return permission == nsIPermissionManager::ALLOW_ACTION;
}
/* virtual */
nsresult nsGenericHTMLFrameElement::AfterSetAttr(
int32_t aNameSpaceID, nsAtom* aName, const nsAttrValue* aValue,
@@ -296,9 +285,9 @@ nsresult nsGenericHTMLFrameElement::AfterSetAttr(
}
}
} else if (aName == nsGkAtoms::mozbrowser) {
mReallyIsBrowser = !!aValue &&
StaticPrefs::dom_mozBrowserFramesEnabled() &&
PrincipalAllowsBrowserFrame(NodePrincipal());
mReallyIsBrowser =
!!aValue && StaticPrefs::dom_mozBrowserFramesEnabled() &&
XRE_IsParentProcess() && NodePrincipal()->IsSystemPrincipal();
}
}