use cromite_flags folders

This commit is contained in:
Carmelo Messina
2023-11-18 15:24:54 +01:00
parent c64a775129
commit 6acf8d8983
5 changed files with 89 additions and 148 deletions
@@ -6,12 +6,13 @@ Ignore any partner-provided home page.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../chromium/chrome/browser/homepage/HomepageManager.java | 4 ----
chrome/browser/flags/android/chrome_feature_list.cc | 8 ++++----
.../PartnerBrowserCustomizations.java | 2 +-
.../chromium/components/search_engines/TemplateUrl.java | 1 +
.../android/template_url_service_android.cc | 1 +
5 files changed, 7 insertions(+), 9 deletions(-)
.../org/chromium/chrome/browser/homepage/HomepageManager.java | 4 ----
.../partnercustomizations/PartnerBrowserCustomizations.java | 2 +-
.../org/chromium/components/search_engines/TemplateUrl.java | 1 +
.../search_engines/android/template_url_service_android.cc | 1 +
.../always-use-new-tab-page-for-default-home-page.inc | 2 ++
5 files changed, 5 insertions(+), 5 deletions(-)
create mode 100755 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
@@ -27,31 +28,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/Homepa
String homepagePartnerDefaultGurlSerialized =
SharedPreferencesManager.getInstance().readString(
ChromePreferenceKeys.HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_GURL, "");
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -832,8 +832,8 @@ BASE_FEATURE(kInfobarScrollOptimization,
BASE_FEATURE(kInstantStart, "InstantStart", base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kNewTabSearchEngineUrlAndroid,
- "NewTabSearchEngineUrlAndroid",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "NewTabSearchEngineUrlAndroid", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
BASE_FEATURE(kNotificationPermissionVariant,
"NotificationPermissionVariant",
@@ -900,8 +900,8 @@ BASE_FEATURE(kOmniboxWarmRecycledViewPool,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kPartnerCustomizationsUma,
- "PartnerCustomizationsUma",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PartnerCustomizationsUma", // disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default
BASE_FEATURE(kProbabilisticCryptidRenderer,
"ProbabilisticCryptidRenderer",
base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java b/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
--- a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
+++ b/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
@@ -86,5 +62,12 @@ diff --git a/components/search_engines/android/template_url_service_android.cc b
// Check if there is already a search engine created from Play API.
TemplateURLService::TemplateURLVector template_urls =
template_url_service_->GetTemplateURLs();
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc
new file mode 100755
--- /dev/null
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc
@@ -0,0 +1,2 @@
+SET_CROMITE_FEATURE_DISABLED(kNewTabSearchEngineUrlAndroid);
+SET_CROMITE_FEATURE_DISABLED(kPartnerCustomizationsUma);
--
2.25.1
+9 -14
View File
@@ -6,11 +6,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java | 1 +
chrome/browser/ui/browser_ui_prefs.cc | 2 +-
chrome/browser/ui/ui_features.cc | 2 +-
.../ui/views/user_education/browser_feature_promo_controller.cc | 1 +
.../chrome/browser/user_education/UserEducationHelper.java | 1 +
components/user_education/common/feature_promo_registry.cc | 1 +
6 files changed, 6 insertions(+), 2 deletions(-)
.../browser/ui/ui_features_cc/Disable-all-promo-dialogs.inc | 1 +
6 files changed, 6 insertions(+), 1 deletion(-)
create mode 100755 cromite_flags/chrome/browser/ui/ui_features_cc/Disable-all-promo-dialogs.inc
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -35,18 +36,6 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
registry->RegisterBooleanPref(
prefs::kExternalProtocolDialogShowAlwaysOpenCheckbox, true);
registry->RegisterBooleanPref(prefs::kScreenCaptureAllowed, true);
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
@@ -30,7 +30,7 @@ BASE_FEATURE(kAllowEyeDropperWGCScreenCapture,
);
// Enables Chrome Labs menu in the toolbar. See https://crbug.com/1145666
-BASE_FEATURE(kChromeLabs, "ChromeLabs", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kChromeLabs, "ChromeLabs", base::FEATURE_DISABLED_BY_DEFAULT);
const char kChromeLabsActivationParameterName[] =
"chrome_labs_activation_percentage";
const base::FeatureParam<int> kChromeLabsActivationPercentage{
diff --git a/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc b/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc
--- a/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc
+++ b/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc
@@ -80,5 +69,11 @@ diff --git a/components/user_education/common/feature_promo_registry.cc b/compon
const base::Feature* const iph_feature = spec.feature();
CHECK(iph_feature);
const auto result = feature_promo_data_.emplace(iph_feature, std::move(spec));
diff --git a/cromite_flags/chrome/browser/ui/ui_features_cc/Disable-all-promo-dialogs.inc b/cromite_flags/chrome/browser/ui/ui_features_cc/Disable-all-promo-dialogs.inc
new file mode 100755
--- /dev/null
+++ b/cromite_flags/chrome/browser/ui/ui_features_cc/Disable-all-promo-dialogs.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kChromeLabs);
--
2.25.1
@@ -7,25 +7,12 @@ a corresponding user option to individually disable their usage.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../browser/flags/android/chrome_feature_list.cc | 4 ++--
.../toolbar/chrome_location_bar_model_delegate.cc | 2 +-
components/url_formatter/url_formatter.cc | 14 +++++++-------
3 files changed, 10 insertions(+), 10 deletions(-)
...disable-omission-of-URL-elements-in-Omnibox.inc | 1 +
3 files changed, 9 insertions(+), 8 deletions(-)
create mode 100755 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-omission-of-URL-elements-in-Omnibox.inc
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -496,8 +496,8 @@ BASE_FEATURE(kAndroidNoVisibleHintForTablets,
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kAndroidVisibleUrlTruncation,
- "AndroidVisibleUrlTruncation",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "AndroidVisibleUrlTruncation", // must be
+ base::FEATURE_DISABLED_BY_DEFAULT); // disabled
BASE_FEATURE(kAnimatedImageDragShadow,
"AnimatedImageDragShadow",
diff --git a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
--- a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
+++ b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
@@ -60,5 +47,11 @@ diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatte
const FormatUrlType kFormatUrlOmitMailToScheme = 1 << 8;
const FormatUrlType kFormatUrlOmitMobilePrefix = 1 << 9;
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-omission-of-URL-elements-in-Omnibox.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-omission-of-URL-elements-in-Omnibox.inc
new file mode 100755
--- /dev/null
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-omission-of-URL-elements-in-Omnibox.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kAndroidVisibleUrlTruncation);
--
2.25.1
+32 -64
View File
@@ -4,28 +4,29 @@ Subject: Modify default preferences
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 6 ++++++
chrome/browser/about_flags.cc | 1 +
.../background/background_mode_manager.cc | 2 +-
.../browser/chrome_content_browser_client.cc | 2 +-
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/preloading/preloading_prefs.h | 2 +-
chrome/browser/profiles/profile.cc | 2 +-
.../reset_page/reset_profile_dialog.html | 2 +-
chrome/browser/ui/browser_ui_prefs.cc | 4 ++--
components/bookmarks/browser/BUILD.gn | 2 ++
components/bookmarks/browser/bookmark_utils.cc | 7 +++++--
components/bookmarks/browser/features.cc | 16 ++++++++++++++++
components/bookmarks/browser/features.cc | 17 +++++++++++++++++
components/bookmarks/browser/features.h | 18 ++++++++++++++++++
.../core/browser/content_settings_registry.cc | 4 ++--
.../core/browser/cookie_settings.cc | 2 +-
components/payments/core/payment_prefs.cc | 2 +-
.../core/common/safe_browsing_prefs.cc | 4 ++--
.../primary_account_manager.cc | 4 ++--
third_party/blink/common/features.cc | 4 ++--
19 files changed, 72 insertions(+), 19 deletions(-)
.../Modify-default-preferences.inc | 9 +++++++++
.../features_cc/Modify-default-preferences.inc | 1 +
18 files changed, 68 insertions(+), 17 deletions(-)
create mode 100644 components/bookmarks/browser/features.cc
create mode 100644 components/bookmarks/browser/features.h
create mode 100755 cromite_flags/chrome/browser/about_flags_cc/Modify-default-preferences.inc
create mode 100755 cromite_flags/third_party/blink/common/features_cc/Modify-default-preferences.inc
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
@@ -38,18 +39,6 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#include "components/browser_sync/browser_sync_switches.h"
#include "components/browsing_data/core/features.h"
#include "components/commerce/core/commerce_feature_list.h"
@@ -6792,6 +6793,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kQuickSettingsPWANotifications)},
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+ {"apps-shortcut-default-off",
+ flag_descriptions::kAppsShortcutDefaultOffName,
+ flag_descriptions::kAppsShortcutDefaultOffDescription, kOsDesktop,
+ FEATURE_VALUE_TYPE(bookmarks::features::kAppsShortcutDefaultOff)},
+
{flag_descriptions::kTabGroupsSaveId, flag_descriptions::kTabGroupsSaveName,
flag_descriptions::kTabGroupsSaveDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kTabGroupsSave)},
diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/browser/background/background_mode_manager.cc
--- a/chrome/browser/background/background_mode_manager.cc
+++ b/chrome/browser/background/background_mode_manager.cc
@@ -74,34 +63,6 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
// Register user prefs for mapping SitePerProcess and IsolateOrigins in
// user policy in addition to the same named ones in Local State (which are
// used for mapping the command-line flags).
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3316,6 +3316,11 @@ const char kCommerceMerchantViewerAndroidDescription[] =
"Allows users to view merchant trust signals on eligible pages.";
const char kTabGroupsSaveId[] = "tab-groups-save";
+
+const char kAppsShortcutDefaultOffName[] = "Apps Shortcut Default Off";
+const char kAppsShortcutDefaultOffDescription[] =
+ "Changes the apps shortcut on the bookmarks bar to default to off.";
+
const char kTabGroupsSaveName[] = "Tab Groups Save and Sync";
const char kTabGroupsSaveDescription[] =
"Enable saving and recalling of tab groups. Right click a tab group to "
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1911,6 +1911,9 @@ extern const char kCommerceMerchantViewerAndroidName[];
extern const char kCommerceMerchantViewerAndroidDescription[];
extern const char kTabGroupsSaveId[];
+extern const char kAppsShortcutDefaultOffName[];
+extern const char kAppsShortcutDefaultOffDescription[];
+
extern const char kTabGroupsSaveName[];
extern const char kTabGroupsSaveDescription[];
diff --git a/chrome/browser/preloading/preloading_prefs.h b/chrome/browser/preloading/preloading_prefs.h
--- a/chrome/browser/preloading/preloading_prefs.h
+++ b/chrome/browser/preloading/preloading_prefs.h
@@ -204,7 +165,7 @@ diff --git a/components/bookmarks/browser/features.cc b/components/bookmarks/bro
new file mode 100644
--- /dev/null
+++ b/components/bookmarks/browser/features.cc
@@ -0,0 +1,16 @@
@@ -0,0 +1,17 @@
+// Copyright 2021 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -216,8 +177,9 @@ new file mode 100644
+
+// Changes the apps shortcut on the bookmarks bar to default to off.
+// https://crbug.com/1236793
+const base::Feature kAppsShortcutDefaultOff{"AppsShortcutDefaultOff",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+CROMITE_FEATURE(kAppsShortcutDefaultOff,
+ "AppsShortcutDefaultOff",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+} // namespace features
+} // namespace bookmarks
@@ -238,7 +200,7 @@ new file mode 100644
+namespace bookmarks {
+namespace features {
+
+extern const base::Feature kAppsShortcutDefaultOff;
+BASE_DECLARE_FEATURE(kAppsShortcutDefaultOff);
+
+} // namespace features
+} // namespace bookmarks
@@ -323,19 +285,25 @@ diff --git a/components/signin/internal/identity_manager/primary_account_manager
registry->RegisterBooleanPref(prefs::kSignedInWithCredentialProvider, false);
}
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -987,8 +987,8 @@ const base::FeatureParam<int> kInterestGroupStorageMaxOpsBeforeMaintenance{
// the attribute. Note: At present, only iframes with origin-restricted
// sandboxes are isolated.
BASE_FEATURE(kIsolateSandboxedIframes,
- "IsolateSandboxedIframes",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "IsolateSandboxedIframes", // enabled by default
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::FeatureParam<IsolateSandboxedIframesGrouping>::Option
isolated_sandboxed_iframes_grouping_types[] = {
{IsolateSandboxedIframesGrouping::kPerSite, "per-site"},
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Modify-default-preferences.inc b/cromite_flags/chrome/browser/about_flags_cc/Modify-default-preferences.inc
new file mode 100755
--- /dev/null
+++ b/cromite_flags/chrome/browser/about_flags_cc/Modify-default-preferences.inc
@@ -0,0 +1,9 @@
+#ifdef FLAG_SECTION
+
+ {"apps-shortcut-default-off",
+ "Apps Shortcut Default Off",
+ "Changes the apps shortcut on the bookmarks bar to default to off.", kOsDesktop,
+ FEATURE_VALUE_TYPE(bookmarks::features::kAppsShortcutDefaultOff)},
+
+#endif
+
diff --git a/cromite_flags/third_party/blink/common/features_cc/Modify-default-preferences.inc b/cromite_flags/third_party/blink/common/features_cc/Modify-default-preferences.inc
new file mode 100755
--- /dev/null
+++ b/cromite_flags/third_party/blink/common/features_cc/Modify-default-preferences.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_ENABLED(kIsolateSandboxedIframes);
--
2.25.1
@@ -27,11 +27,12 @@ Add noise also to SVGs (credits to uazo)
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/BUILD.gn | 1 +
chrome/browser/about_flags.cc | 16 ++
chrome/browser/about_flags.cc | 2 +
content/browser/BUILD.gn | 1 +
.../renderer_host/render_process_host_impl.cc | 4 +
content/child/BUILD.gn | 1 +
content/child/runtime_features.cc | 8 +
.../Multiple-fingerprinting-mitigations.inc | 16 ++
.../public/platform/web_runtime_features.h | 3 +
.../blink/renderer/core/dom/document.cc | 20 +++
.../blink/renderer/core/dom/document.h | 7 +
@@ -52,7 +53,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
third_party/ungoogled/BUILD.gn | 10 ++
third_party/ungoogled/ungoogled_switches.cc | 18 ++
third_party/ungoogled/ungoogled_switches.h | 18 ++
26 files changed, 388 insertions(+), 8 deletions(-)
27 files changed, 390 insertions(+), 8 deletions(-)
create mode 100755 cromite_flags/chrome/browser/about_flags_cc/Multiple-fingerprinting-mitigations.inc
create mode 100644 third_party/ungoogled/BUILD.gn
create mode 100644 third_party/ungoogled/ungoogled_switches.cc
create mode 100644 third_party/ungoogled/ungoogled_switches.h
@@ -80,27 +82,6 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#include "base/allocator/buildflags.h"
#endif
@@ -4177,6 +4179,20 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebrtcUseMinMaxVEADimensionsName,
flag_descriptions::kWebrtcUseMinMaxVEADimensionsDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kWebRtcUseMinMaxVEADimensions)},
+
+ {"fingerprinting-canvas-image-data-noise",
+ "Disable Canvas image data fingerprint deception",
+ "Slightly modifies at most 20 pixels in Canvas image data extracted via JS APIs",
+ kOsAll, SINGLE_DISABLE_VALUE_TYPE(switches::kFingerprintingCanvasImageDataNoise)},
+ {"fingerprinting-client-rects-noise",
+ "Disable get*ClientRects() fingerprint deception",
+ "Scale the output values of Range::getClientRects() and Element::getBoundingClientRect() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization.",
+ kOsAll, SINGLE_DISABLE_VALUE_TYPE(switches::kFingerprintingClientRectsNoise)},
+ {"fingerprinting-canvas-measuretext-noise",
+ "Disable Canvas::measureText() fingerprint deception",
+ "Scale the output values of Canvas::measureText() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization.",
+ kOsAll, SINGLE_DISABLE_VALUE_TYPE(switches::kFingerprintingCanvasMeasureTextNoise)},
+
#if BUILDFLAG(ENABLE_NACL)
{"enable-nacl", flag_descriptions::kNaclName,
flag_descriptions::kNaclDescription, kOsAll,
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -169,6 +150,27 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
// CAUTION: Only add custom enabling logic here if it cannot
// be covered by the other functions.
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Multiple-fingerprinting-mitigations.inc b/cromite_flags/chrome/browser/about_flags_cc/Multiple-fingerprinting-mitigations.inc
new file mode 100755
--- /dev/null
+++ b/cromite_flags/chrome/browser/about_flags_cc/Multiple-fingerprinting-mitigations.inc
@@ -0,0 +1,16 @@
+#ifdef FLAG_SECTION
+
+ {"fingerprinting-canvas-image-data-noise",
+ "Disable Canvas image data fingerprint deception",
+ "Slightly modifies at most 20 pixels in Canvas image data extracted via JS APIs",
+ kOsAll, SINGLE_DISABLE_VALUE_TYPE(switches::kFingerprintingCanvasImageDataNoise)},
+ {"fingerprinting-client-rects-noise",
+ "Disable get*ClientRects() fingerprint deception",
+ "Scale the output values of Range::getClientRects() and Element::getBoundingClientRect() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization.",
+ kOsAll, SINGLE_DISABLE_VALUE_TYPE(switches::kFingerprintingClientRectsNoise)},
+ {"fingerprinting-canvas-measuretext-noise",
+ "Disable Canvas::measureText() fingerprint deception",
+ "Scale the output values of Canvas::measureText() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization.",
+ kOsAll, SINGLE_DISABLE_VALUE_TYPE(switches::kFingerprintingCanvasMeasureTextNoise)},
+
+#endif
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
--- a/third_party/blink/public/platform/web_runtime_features.h
+++ b/third_party/blink/public/platform/web_runtime_features.h