Index: third_party/WebKit/Source/core/loader/FrameLoader.cpp |
diff --git a/third_party/WebKit/Source/core/loader/FrameLoader.cpp b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
index 0b2a00addeebb651512841f4d76ac2077b5857f0..c92b9cefd8cbf3aeb5f36d01e5bf12507f1fbd6e 100644 |
--- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
+++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
@@ -593,11 +593,16 @@ void FrameLoader::didBeginDocument() { |
m_documentLoader->response().httpHeaderField( |
HTTPNames::Feature_Policy); |
Vector<String> messages; |
- const WebParsedFeaturePolicyHeader& parsedHeader = parseFeaturePolicy( |
+ const WebParsedFeaturePolicy& parsedHeader = parseFeaturePolicy( |
featurePolicyHeader, m_frame->securityContext()->getSecurityOrigin(), |
&messages); |
- m_frame->securityContext()->initializeFeaturePolicy(parsedHeader, |
- parentFeaturePolicy); |
+ const WebParsedFeaturePolicy& containerPolicy = |
+ getContainerPolicyFromAllowedFeatures( |
+ m_frame->owner()->allowedFeatures(), |
+ m_frame->securityContext()->getSecurityOrigin()); |
+ |
+ m_frame->securityContext()->initializeFeaturePolicy( |
+ parsedHeader, containerPolicy, parentFeaturePolicy); |
for (auto& message : messages) { |
m_frame->document()->addConsoleMessage(ConsoleMessage::create( |
OtherMessageSource, ErrorMessageLevel, |