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 22:15:26 +00:00
parent 0286eeb21c
commit e2c42922a7
2 changed files with 23 additions and 40 deletions

View File

@@ -225,17 +225,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,
@@ -266,9 +255,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();
}
}