mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 16:25:38 +00:00
Bug 1573630: Remove usage of nsIDocShellTreeItem in nsCoreUtils::IsTopLevelContentDocInProcess. r=MarcoZ
This usage of nsIDocShellTreeItem is safe, but nsIDocShellTreeItem is going away and it's trivial to convert this to use BrowsingContext. As a bonus, the code is also shorter and more readable. Differential Revision: https://phabricator.services.mozilla.com/D79022
This commit is contained in:
parent
97cb27b85a
commit
26c591b2c1
@ -360,19 +360,12 @@ bool nsCoreUtils::IsContentDocument(Document* aDocument) {
|
||||
}
|
||||
|
||||
bool nsCoreUtils::IsTopLevelContentDocInProcess(Document* aDocumentNode) {
|
||||
nsCOMPtr<nsIDocShellTreeItem> treeItem(aDocumentNode->GetDocShell());
|
||||
|
||||
nsCOMPtr<nsIDocShellTreeItem> parentTreeItem;
|
||||
treeItem->GetInProcessParent(getter_AddRefs(parentTreeItem));
|
||||
|
||||
// Top level content document running in own process doesn't have parent.
|
||||
if (XRE_IsContentProcess()) return !parentTreeItem;
|
||||
|
||||
// Parent of docshell for tab document running in chrome process is root.
|
||||
nsCOMPtr<nsIDocShellTreeItem> rootTreeItem;
|
||||
treeItem->GetInProcessRootTreeItem(getter_AddRefs(rootTreeItem));
|
||||
|
||||
return parentTreeItem == rootTreeItem;
|
||||
BrowsingContext* bc = aDocumentNode->GetBrowsingContext();
|
||||
return bc->IsContent() && (
|
||||
// Tab document.
|
||||
bc->IsTop() ||
|
||||
// Out-of-process iframe.
|
||||
!bc->GetParent()->IsInProcess());
|
||||
}
|
||||
|
||||
bool nsCoreUtils::IsErrorPage(Document* aDocument) {
|
||||
|
Loading…
Reference in New Issue
Block a user