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 59426dd8146ebbc2ff770d250539ebfa8f54c7a1..c0c540c076e962a5c74a2f5b7e81207ba25bcefd 100644 |
--- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
+++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
@@ -97,6 +97,7 @@ |
#include "platform/weborigin/SecurityPolicy.h" |
#include "platform/weborigin/Suborigin.h" |
#include "public/platform/WebCachePolicy.h" |
+#include "public/platform/WebFeaturePolicy.h" |
#include "public/platform/WebURLRequest.h" |
#include "wtf/AutoReset.h" |
#include "wtf/text/CString.h" |
@@ -588,15 +589,19 @@ void FrameLoader::didBeginDocument() { |
m_documentLoader->response().httpHeaderField( |
HTTPNames::Feature_Policy); |
Vector<String> messages; |
+ const WebParsedFeaturePolicy& parsedHeader = |
+ FeaturePolicy::parseFeaturePolicy( |
+ featurePolicyHeader, |
+ m_frame->securityContext()->getSecurityOrigin(), &messages); |
m_frame->securityContext()->setFeaturePolicyFromHeader( |
- featurePolicyHeader, parentFeaturePolicy, &messages); |
+ parsedHeader, parentFeaturePolicy); |
for (auto& message : messages) { |
m_frame->document()->addConsoleMessage(ConsoleMessage::create( |
OtherMessageSource, ErrorMessageLevel, |
"Error with Feature-Policy header: " + message)); |
} |
- if (!featurePolicyHeader.isEmpty()) |
- client()->didSetFeaturePolicyHeader(featurePolicyHeader); |
+ if (!parsedHeader.isEmpty()) |
+ client()->didSetFeaturePolicyHeader(parsedHeader); |
} |
} |