Index: content/browser/frame_host/frame_tree_node.cc |
diff --git a/content/browser/frame_host/frame_tree_node.cc b/content/browser/frame_host/frame_tree_node.cc |
index 7df1291a9f4cb8e0757e34f9e10498bfe865a121..955a08f003b8fb866aac9acaf5485acf6f38892e 100644 |
--- a/content/browser/frame_host/frame_tree_node.cc |
+++ b/content/browser/frame_host/frame_tree_node.cc |
@@ -169,4 +169,14 @@ bool FrameTreeNode::CommitPendingSandboxFlags() { |
return did_change_flags; |
} |
+bool FrameTreeNode::HasAncestorFrom(SiteInstance* site_instance) const { |
+ FrameTreeNode* parent_node = parent(); |
+ while (parent_node) { |
+ if (parent_node->current_frame_host()->GetSiteInstance() == site_instance) |
+ return true; |
+ parent_node = parent_node->parent(); |
+ } |
+ return false; |
+} |
+ |
} // namespace content |