summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc63
1 files changed, 14 insertions, 49 deletions
diff --git a/chromium/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc b/chromium/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc
index 2c0cb2e96b3..0c08fe742ce 100644
--- a/chromium/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc
+++ b/chromium/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc
@@ -67,7 +67,8 @@ ParsedFeaturePolicy FeaturePolicyParser::Parse(
return allowlists;
}
- std::bitset<static_cast<size_t>(mojom::FeaturePolicyFeature::kMaxValue) + 1>
+ std::bitset<
+ static_cast<size_t>(mojom::blink::FeaturePolicyFeature::kMaxValue) + 1>
features_specified;
HashSet<FeaturePolicyAllowlistType> allowlist_types_used;
@@ -114,7 +115,8 @@ ParsedFeaturePolicy FeaturePolicyParser::Parse(
continue;
}
- mojom::FeaturePolicyFeature feature = feature_names.at(feature_name);
+ mojom::blink::FeaturePolicyFeature feature =
+ feature_names.at(feature_name);
mojom::PolicyValueType feature_type =
FeaturePolicy::GetDefaultFeatureList().at(feature).second;
// If a policy has already been specified for the current feature, drop
@@ -143,30 +145,6 @@ ParsedFeaturePolicy FeaturePolicyParser::Parse(
bool allowlist_includes_none = false;
bool allowlist_includes_origin = false;
- // Detect usage of UnoptimizedImagePolicies origin trial.
- if (feature == mojom::FeaturePolicyFeature::kOversizedImages ||
- feature == mojom::FeaturePolicyFeature::kUnoptimizedLossyImages ||
- feature == mojom::FeaturePolicyFeature::kUnoptimizedLosslessImages ||
- feature ==
- mojom::FeaturePolicyFeature::kUnoptimizedLosslessImagesStrict) {
- if (delegate) {
- delegate->CountFeaturePolicyUsage(
- mojom::WebFeature::kUnoptimizedImagePolicies);
- }
- // Don't analyze allowlists for origin trial features.
- count_allowlist_type = false;
- }
-
- // Detect usage of UnsizedMediaPolicy origin trial
- if (feature == mojom::FeaturePolicyFeature::kUnsizedMedia) {
- if (delegate) {
- delegate->CountFeaturePolicyUsage(
- mojom::WebFeature::kUnsizedMediaPolicy);
- }
- // Don't analyze allowlists for origin trial features.
- count_allowlist_type = false;
- }
-
ParsedFeaturePolicyDeclaration allowlist(feature, feature_type);
// TODO(loonybear): fallback value should be parsed from the new syntax.
allowlist.fallback_value = GetFallbackValueForFeature(feature);
@@ -359,21 +337,7 @@ ParsedFeaturePolicy FeaturePolicyParser::Parse(
// parse the policy value for each parameterized feature, and for non
// parameterized feature (i.e. boolean-type policy value).
PolicyValue FeaturePolicyParser::GetFallbackValueForFeature(
- mojom::FeaturePolicyFeature feature) {
- if (feature == mojom::FeaturePolicyFeature::kOversizedImages) {
- return PolicyValue(2.0);
- }
- if (feature == mojom::FeaturePolicyFeature::kUnoptimizedLossyImages) {
- // Lossy images default to at most 0.5 bytes per pixel.
- return PolicyValue(0.5);
- }
- if (feature == mojom::FeaturePolicyFeature::kUnoptimizedLosslessImages ||
- feature ==
- mojom::FeaturePolicyFeature::kUnoptimizedLosslessImagesStrict) {
- // Lossless images default to at most 1 byte per pixel.
- return PolicyValue(1.0);
- }
-
+ mojom::blink::FeaturePolicyFeature feature) {
return PolicyValue(false);
}
@@ -423,7 +387,7 @@ void FeaturePolicyParser::ParseValueForFuzzer(
ParseValueForType(feature_type, value_string, &ok);
}
-bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature,
+bool IsFeatureDeclared(mojom::blink::FeaturePolicyFeature feature,
const ParsedFeaturePolicy& policy) {
return std::any_of(policy.begin(), policy.end(),
[feature](const auto& declaration) {
@@ -431,7 +395,7 @@ bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature,
});
}
-bool RemoveFeatureIfPresent(mojom::FeaturePolicyFeature feature,
+bool RemoveFeatureIfPresent(mojom::blink::FeaturePolicyFeature feature,
ParsedFeaturePolicy& policy) {
auto new_end = std::remove_if(policy.begin(), policy.end(),
[feature](const auto& declaration) {
@@ -443,7 +407,7 @@ bool RemoveFeatureIfPresent(mojom::FeaturePolicyFeature feature,
return true;
}
-bool DisallowFeatureIfNotPresent(mojom::FeaturePolicyFeature feature,
+bool DisallowFeatureIfNotPresent(mojom::blink::FeaturePolicyFeature feature,
ParsedFeaturePolicy& policy) {
if (IsFeatureDeclared(feature, policy))
return false;
@@ -454,8 +418,9 @@ bool DisallowFeatureIfNotPresent(mojom::FeaturePolicyFeature feature,
return true;
}
-bool AllowFeatureEverywhereIfNotPresent(mojom::FeaturePolicyFeature feature,
- ParsedFeaturePolicy& policy) {
+bool AllowFeatureEverywhereIfNotPresent(
+ mojom::blink::FeaturePolicyFeature feature,
+ ParsedFeaturePolicy& policy) {
if (IsFeatureDeclared(feature, policy))
return false;
blink::mojom::PolicyValueType feature_type =
@@ -467,13 +432,13 @@ bool AllowFeatureEverywhereIfNotPresent(mojom::FeaturePolicyFeature feature,
return true;
}
-void DisallowFeature(mojom::FeaturePolicyFeature feature,
+void DisallowFeature(mojom::blink::FeaturePolicyFeature feature,
ParsedFeaturePolicy& policy) {
RemoveFeatureIfPresent(feature, policy);
DisallowFeatureIfNotPresent(feature, policy);
}
-void AllowFeatureEverywhere(mojom::FeaturePolicyFeature feature,
+void AllowFeatureEverywhere(mojom::blink::FeaturePolicyFeature feature,
ParsedFeaturePolicy& policy) {
RemoveFeatureIfPresent(feature, policy);
AllowFeatureEverywhereIfNotPresent(feature, policy);
@@ -488,7 +453,7 @@ const Vector<String> GetAvailableFeatures(ExecutionContext* execution_context) {
return available_features;
}
-const String& GetNameForFeature(mojom::FeaturePolicyFeature feature) {
+const String& GetNameForFeature(mojom::blink::FeaturePolicyFeature feature) {
for (const auto& entry : GetDefaultFeatureNameMap()) {
if (entry.value == feature)
return entry.key;