65 lines
3.5 KiB
Diff
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
|
|
--
|