| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index 9cfedcf3d3cd1f8e59ae3c803f5cd51dda910520..35373f5f5b5705527449583babfbf408b916a064 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,11 @@ void RenderFrameImpl::OnUpdateOpener(int opener_routing_id) {
|
| frame_->SetOpener(opener);
|
| }
|
|
|
| -void RenderFrameImpl::OnDidUpdateSandboxFlags(blink::WebSandboxFlags flags) {
|
| - frame_->SetFrameOwnerSandboxFlags(flags);
|
| +void RenderFrameImpl::OnDidUpdateFramePolicy(
|
| + blink::WebSandboxFlags flags,
|
| + const ParsedFeaturePolicyHeader& container_policy) {
|
| + frame_->SetFrameOwnerPolicy(flags,
|
| + FeaturePolicyHeaderToWeb(container_policy));
|
| }
|
|
|
| void RenderFrameImpl::OnSetFrameOwnerProperties(
|
| @@ -3062,6 +3066,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.
|
| @@ -3088,6 +3093,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);
|
| @@ -3245,10 +3251,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(
|
|
|