| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index 8887a3dd1ac3e86347b1e38ce81d5d8d7f304b94..c6dcca4b4ecfbbe1e22cfad025ae944f71b4b3eb 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -1000,6 +1000,7 @@ void RenderFrameImpl::CreateFrame(
|
| render_frame->blink_interface_provider_.get(),
|
| render_frame->blink_interface_registry_.get(),
|
| previous_sibling_web_frame,
|
| + FeaturePolicyHeaderToWeb(replicated_state.container_policy),
|
| ConvertFrameOwnerPropertiesToWebFrameOwnerProperties(
|
| frame_owner_properties),
|
| ResolveOpener(opener_routing_id));
|
| @@ -1577,7 +1578,7 @@ bool RenderFrameImpl::OnMessageReceived(const IPC::Message& msg) {
|
| IPC_MESSAGE_HANDLER(FrameMsg_ExtractSmartClipData, OnExtractSmartClipData)
|
| IPC_MESSAGE_HANDLER(FrameMsg_UpdateOpener, OnUpdateOpener)
|
| IPC_MESSAGE_HANDLER(FrameMsg_CommitNavigation, OnCommitNavigation)
|
| - IPC_MESSAGE_HANDLER(FrameMsg_DidUpdateSandboxFlags, OnDidUpdateSandboxFlags)
|
| + IPC_MESSAGE_HANDLER(FrameMsg_DidUpdateFramePolicy, OnDidUpdateFramePolicy)
|
| IPC_MESSAGE_HANDLER(FrameMsg_SetFrameOwnerProperties,
|
| OnSetFrameOwnerProperties)
|
| IPC_MESSAGE_HANDLER(FrameMsg_AdvanceFocus, OnAdvanceFocus)
|
| @@ -2183,8 +2184,12 @@ void RenderFrameImpl::OnUpdateOpener(int opener_routing_id) {
|
| frame_->setOpener(opener);
|
| }
|
|
|
| -void RenderFrameImpl::OnDidUpdateSandboxFlags(blink::WebSandboxFlags flags) {
|
| +void RenderFrameImpl::OnDidUpdateFramePolicy(
|
| + blink::WebSandboxFlags flags,
|
| + const ParsedFeaturePolicyHeader& container_policy) {
|
| frame_->setFrameOwnerSandboxFlags(flags);
|
| + frame_->setFrameOwnerContainerPolicy(
|
| + FeaturePolicyHeaderToWeb(container_policy));
|
| }
|
|
|
| void RenderFrameImpl::OnSetFrameOwnerProperties(
|
| @@ -3056,6 +3061,7 @@ blink::WebLocalFrame* RenderFrameImpl::createChildFrame(
|
| const blink::WebString& name,
|
| const blink::WebString& fallback_name,
|
| blink::WebSandboxFlags sandbox_flags,
|
| + const blink::WebParsedFeaturePolicy& container_policy,
|
| const blink::WebFrameOwnerProperties& frame_owner_properties) {
|
| // Synchronously notify the browser of a child frame creation to get the
|
| // routing_id for the RenderFrame.
|
| @@ -3082,6 +3088,7 @@ blink::WebLocalFrame* RenderFrameImpl::createChildFrame(
|
| parent,
|
| params.frame_name.empty() ? fallback_name.utf8() : params.frame_name);
|
| params.sandbox_flags = sandbox_flags;
|
| + params.container_policy = FeaturePolicyHeaderFromWeb(container_policy);
|
| params.frame_owner_properties =
|
| ConvertWebFrameOwnerPropertiesToFrameOwnerProperties(
|
| frame_owner_properties);
|
| @@ -3239,10 +3246,13 @@ void RenderFrameImpl::didUpdateToUniqueOrigin(
|
| routing_id_, is_potentially_trustworthy_unique_origin));
|
| }
|
|
|
| -void RenderFrameImpl::didChangeSandboxFlags(blink::WebFrame* child_frame,
|
| - blink::WebSandboxFlags flags) {
|
| - Send(new FrameHostMsg_DidChangeSandboxFlags(
|
| - routing_id_, GetRoutingIdForFrameOrProxy(child_frame), flags));
|
| +void RenderFrameImpl::didChangeFramePolicy(
|
| + blink::WebFrame* child_frame,
|
| + blink::WebSandboxFlags flags,
|
| + const blink::WebParsedFeaturePolicy& container_policy) {
|
| + Send(new FrameHostMsg_DidChangeFramePolicy(
|
| + routing_id_, GetRoutingIdForFrameOrProxy(child_frame), flags,
|
| + FeaturePolicyHeaderFromWeb(container_policy)));
|
| }
|
|
|
| void RenderFrameImpl::didSetFeaturePolicyHeader(
|
|
|