Index: third_party/WebKit/Source/platform/feature_policy/FeaturePolicy.cpp |
diff --git a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicy.cpp b/third_party/WebKit/Source/platform/feature_policy/FeaturePolicy.cpp |
index d8829de903aaeb0aeb5b59eb4e8613303fdf57e9..42f4a1ec8aabf4d51d0a905abaf34787c4512c3c 100644 |
--- a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicy.cpp |
+++ b/third_party/WebKit/Source/platform/feature_policy/FeaturePolicy.cpp |
@@ -57,7 +57,7 @@ WebParsedFeaturePolicy parseFeaturePolicy(const String& policy, |
std::unique_ptr<JSONArray> policyItems = parseJSONHeader(policy, 50); |
if (!policyItems) { |
if (messages) |
- messages->push_back("Unable to parse header"); |
+ messages->push_back("Unable to parse header."); |
return whitelists; |
} |
@@ -65,13 +65,15 @@ WebParsedFeaturePolicy parseFeaturePolicy(const String& policy, |
JSONObject* item = JSONObject::cast(policyItems->at(i)); |
if (!item) { |
if (messages) |
- messages->push_back("Policy is not an object"); |
+ messages->push_back("Policy is not an object."); |
continue; // Array element is not an object; skip |
} |
for (size_t j = 0; j < item->size(); ++j) { |
JSONObject::Entry entry = item->at(j); |
- String featureName = entry.first; |
+ WebFeaturePolicyFeature feature = getWebFeaturePolicyFeature(entry.first); |
+ if (feature == WebFeaturePolicyFeature::NotFound) |
+ continue; // Unrecognized feature; skip |
JSONArray* targets = JSONArray::cast(entry.second); |
if (!targets) { |
if (messages) |
@@ -80,7 +82,7 @@ WebParsedFeaturePolicy parseFeaturePolicy(const String& policy, |
} |
WebParsedFeaturePolicyDeclaration whitelist; |
- whitelist.featureName = featureName; |
+ whitelist.feature = feature; |
Vector<WebSecurityOrigin> origins; |
String targetString; |
for (size_t j = 0; j < targets->size(); ++j) { |