Files
cromite/build/patches/Disable-prefers-reduced-transparency-media-query.patch

65 lines
3.5 KiB
Diff

From: uazo <uazo@users.noreply.github.com>
Date: Fri, 20 Oct 2023 14:53:41 +0000
Subject: Disable prefers-reduced-transparency media query
This feature can be used for fingerprinting as it exposes a user preference
---
third_party/blink/renderer/core/css/media_query_exp.cc | 2 +-
.../blink/renderer/core/css/parser/media_query_parser.cc | 4 ++--
.../blink/renderer/core/preferences/preference_manager.idl | 2 +-
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
4 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/third_party/blink/renderer/core/css/media_query_exp.cc b/third_party/blink/renderer/core/css/media_query_exp.cc
--- a/third_party/blink/renderer/core/css/media_query_exp.cc
+++ b/third_party/blink/renderer/core/css/media_query_exp.cc
@@ -137,7 +137,7 @@ static inline bool FeatureWithValidIdent(const String& media_feature,
}
if (media_feature ==
- media_feature_names::kPrefersReducedTransparencyMediaFeature) {
+ media_feature_names::kPrefersReducedTransparencyMediaFeature && RuntimeEnabledFeatures::PrefersReducedTransparencyEnabled()) {
return ident == CSSValueID::kNoPreference || ident == CSSValueID::kReduce;
}
diff --git a/third_party/blink/renderer/core/css/parser/media_query_parser.cc b/third_party/blink/renderer/core/css/parser/media_query_parser.cc
--- a/third_party/blink/renderer/core/css/parser/media_query_parser.cc
+++ b/third_party/blink/renderer/core/css/parser/media_query_parser.cc
@@ -81,8 +81,8 @@ bool MediaQueryParser::MediaQueryFeatureSet::IsAllowedWithoutValue(
feature == media_feature_names::kUpdateMediaFeature ||
(feature == media_feature_names::kPrefersReducedDataMediaFeature &&
RuntimeEnabledFeatures::PrefersReducedDataEnabled()) ||
- feature ==
- media_feature_names::kPrefersReducedTransparencyMediaFeature ||
+ (feature == media_feature_names::kPrefersReducedTransparencyMediaFeature &&
+ RuntimeEnabledFeatures::PrefersReducedTransparencyEnabled()) ||
(feature == media_feature_names::kForcedColorsMediaFeature &&
RuntimeEnabledFeatures::ForcedColorsEnabled()) ||
(feature == media_feature_names::kNavigationControlsMediaFeature &&
diff --git a/third_party/blink/renderer/core/preferences/preference_manager.idl b/third_party/blink/renderer/core/preferences/preference_manager.idl
--- a/third_party/blink/renderer/core/preferences/preference_manager.idl
+++ b/third_party/blink/renderer/core/preferences/preference_manager.idl
@@ -12,6 +12,6 @@ interface PreferenceManager {
readonly attribute PreferenceObject colorScheme;
readonly attribute PreferenceObject contrast;
readonly attribute PreferenceObject reducedMotion;
- readonly attribute PreferenceObject reducedTransparency;
+ [RuntimeEnabled=PrefersReducedTransparency] readonly attribute PreferenceObject reducedTransparency;
[RuntimeEnabled=PrefersReducedData] readonly attribute PreferenceObject reducedData;
};
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -4406,6 +4406,10 @@
name: "PrefersReducedData",
status: "experimental",
},
+ {
+ name: "PrefersReducedTransparency",
+ status: "experimental",
+ },
{
// Used to allow preloading data: URLs with link rel=preload.
// https://crbug.com/348442535
--