Use FramePolicy in FrameReplicationState and FrameTreeNode
This merges the sandbox_flags and container_policy members of both
FrameReplicationState and FrameTreeNode into FramePolicy structs.
Before:
FrameReplicationState.sandbox_flags
FrameReplicationState.container_policy
FrameTreeNode.pending_sandbox_flags_
FrameTreeNode.pending_container_policy_
FrameTreeNode.SetPendingSandboxFlags
FrameTreeNode.SetPendingContainerPolicy
FrameTreeNode.pending_sandbox_flags()
FrameTreeNode.pending_container_policy()
FrameTreeNode.effective_sandbox_flags()
FrameTreeNode.effective_container_policy()
After:
FrameReplicationState.frame_policy
FrameTreeNode.pending_frame_policy_
FrameTreeNode.SetPendingFramePolicy()
FrameTreeNode.pending_frame_policy()
FrameTreeNode.effective_frame_policy()
Bug: 740556
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation
Change-Id: Ida1aedb486689cfb31d50be418c0cb039850145c
Reviewed-on: https://chromium-review.googlesource.com/713236
Commit-Queue: Ian Clelland <[email protected]>
Reviewed-by: Alex Moshchuk <[email protected]>
Reviewed-by: Ken Buchanan <[email protected]>
Cr-Commit-Position: refs/heads/master@{#508845}
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 8ad71d0..2a169c5 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -691,11 +691,14 @@
// See https://html.spec.whatwg.org/#attr-iframe-sandbox.
FrameTreeNode* new_root = new_contents->GetFrameTree()->root();
if (opener) {
- blink::WebSandboxFlags opener_flags = opener->effective_sandbox_flags();
+ blink::WebSandboxFlags opener_flags =
+ opener->effective_frame_policy().sandbox_flags;
const blink::WebSandboxFlags inherit_flag =
blink::WebSandboxFlags::kPropagatesToAuxiliaryBrowsingContexts;
if ((opener_flags & inherit_flag) == inherit_flag) {
- new_root->SetPendingSandboxFlags(opener_flags);
+ // TODO(iclelland): Transfer correct container policy from opener as well.
+ // https://crbug.com/774620
+ new_root->SetPendingFramePolicy({opener_flags, {}});
new_root->CommitPendingFramePolicy();
}
}