From: uazo Date: Sat, 28 Jun 2025 08:16:28 +0000 Subject: Disable css preferred text scale Do not expose the user's preferred font scale to CSS. License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- .../common/features_cc/Disable-CSSPreferredTextScale.inc | 1 + .../renderer/core/css/document_style_environment_variables.cc | 1 + .../blink/renderer/core/css/style_environment_variables.cc | 4 +++- third_party/blink/renderer/core/page/page.cc | 4 +++- .../blink/renderer/platform/runtime_enabled_features.json5 | 3 +++ 5 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-CSSPreferredTextScale.inc diff --git a/cromite_flags/third_party/blink/common/features_cc/Disable-CSSPreferredTextScale.inc b/cromite_flags/third_party/blink/common/features_cc/Disable-CSSPreferredTextScale.inc new file mode 100644 --- /dev/null +++ b/cromite_flags/third_party/blink/common/features_cc/Disable-CSSPreferredTextScale.inc @@ -0,0 +1 @@ +SET_CROMITE_FEATURE_DISABLED(kCSSPreferredTextScale); diff --git a/third_party/blink/renderer/core/css/document_style_environment_variables.cc b/third_party/blink/renderer/core/css/document_style_environment_variables.cc --- a/third_party/blink/renderer/core/css/document_style_environment_variables.cc +++ b/third_party/blink/renderer/core/css/document_style_environment_variables.cc @@ -95,6 +95,7 @@ void DocumentStyleEnvironmentVariables::RecordVariableUsage( } void DocumentStyleEnvironmentVariables::UpdatePreferredTextScaleFromDocument() { + if (!RuntimeEnabledFeatures::CSSPreferredTextScaleEnabled()) return; double scale_factor; Settings* settings = document_->GetSettings(); diff --git a/third_party/blink/renderer/core/css/style_environment_variables.cc b/third_party/blink/renderer/core/css/style_environment_variables.cc --- a/third_party/blink/renderer/core/css/style_environment_variables.cc +++ b/third_party/blink/renderer/core/css/style_environment_variables.cc @@ -48,7 +48,9 @@ void SetDefaultEnvironmentVariables(StyleEnvironmentVariables* instance) { instance->SetVariable(UADefinedVariable::kKeyboardInsetHeight, kKeyboardInsetDefault); - instance->SetVariable(UADefinedVariable::kPreferredTextScale, "1"); + if (RuntimeEnabledFeatures::CSSPreferredTextScaleEnabled()) { + instance->SetVariable(UADefinedVariable::kPreferredTextScale, "1"); + } } } // namespace. diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc --- a/third_party/blink/renderer/core/page/page.cc +++ b/third_party/blink/renderer/core/page/page.cc @@ -1063,7 +1063,9 @@ void Page::SettingsChanged(ChangeType change_type) { } break; case ChangeType::kFontScaleFactor: - + if (!RuntimeEnabledFeatures::CSSPreferredTextScaleEnabled()) { + break; + } for (Frame* frame = MainFrame(); frame; frame = frame->Tree().TraverseNext()) { LocalFrame* local_frame = DynamicTo(frame); 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 @@ -1749,6 +1749,9 @@ name: "CSSPositionStickyStaticScrollPosition", status: "test", }, + { + name: "CSSPreferredTextScale", status: "test", public: true + }, // https://drafts.csswg.org/css-values-5/#progress // progress() { --