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();
     }
   }