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 53e0d94e769a85411bb3d38ba5f7605240fbfa6d..07ecb362b53fcc93f746c3f70240950097161913 100644 |
--- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
+++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
@@ -585,15 +585,19 @@ void FrameLoader::didBeginDocument() { |
m_documentLoader->response().httpHeaderField( |
HTTPNames::Feature_Policy); |
Vector<String> messages; |
+ const WebVector<WebFeaturePolicy::ParsedWhitelist>& |
+ parsedFeaturePolicyHeaders = FeaturePolicy::parseFeaturePolicy( |
+ featurePolicyHeader, |
+ m_frame->securityContext()->getSecurityOrigin(), &messages); |
m_frame->securityContext()->setFeaturePolicyFromHeader( |
- featurePolicyHeader, parentSecurityContext, &messages); |
+ parsedFeaturePolicyHeaders, parentSecurityContext); |
for (auto& message : messages) { |
m_frame->document()->addConsoleMessage(ConsoleMessage::create( |
OtherMessageSource, ErrorMessageLevel, |
"Error with Feature-Policy header: " + message)); |
} |
- if (client() && !featurePolicyHeader.isEmpty()) |
- client()->didSetFeaturePolicyHeader(featurePolicyHeader); |
+ if (client() && !parsedFeaturePolicyHeaders.isEmpty()) |
+ client()->didSetFeaturePolicyHeader(parsedFeaturePolicyHeaders); |
} |
} |