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), |
lunalu1
2017/04/13 20:54:04
This is not important, but some point in the futur
|
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( |