From 6acf8d8983effcdd44c087876d1ed12fec3bf0f1 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Sat, 18 Nov 2023 15:24:54 +0100 Subject: [PATCH] use cromite_flags folders --- ...e-new-tab-page-for-default-home-page.patch | 45 +++------ build/patches/Disable-all-promo-dialogs.patch | 23 ++--- ...-omission-of-URL-elements-in-Omnibox.patch | 25 ++--- .../patches/Modify-default-preferences.patch | 96 +++++++------------ .../Multiple-fingerprinting-mitigations.patch | 48 +++++----- 5 files changed, 89 insertions(+), 148 deletions(-) diff --git a/build/patches/Always-use-new-tab-page-for-default-home-page.patch b/build/patches/Always-use-new-tab-page-for-default-home-page.patch index 640ee825..4df33659 100644 --- a/build/patches/Always-use-new-tab-page-for-default-home-page.patch +++ b/build/patches/Always-use-new-tab-page-for-default-home-page.patch @@ -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 diff --git a/build/patches/Disable-all-promo-dialogs.patch b/build/patches/Disable-all-promo-dialogs.patch index 0a014c90..c98ce1a6 100644 --- a/build/patches/Disable-all-promo-dialogs.patch +++ b/build/patches/Disable-all-promo-dialogs.patch @@ -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 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 diff --git a/build/patches/Disable-omission-of-URL-elements-in-Omnibox.patch b/build/patches/Disable-omission-of-URL-elements-in-Omnibox.patch index 0c4c8124..cb573f7e 100644 --- a/build/patches/Disable-omission-of-URL-elements-in-Omnibox.patch +++ b/build/patches/Disable-omission-of-URL-elements-in-Omnibox.patch @@ -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 diff --git a/build/patches/Modify-default-preferences.patch b/build/patches/Modify-default-preferences.patch index ee78e0b0..295547b2 100644 --- a/build/patches/Modify-default-preferences.patch +++ b/build/patches/Modify-default-preferences.patch @@ -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 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::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 diff --git a/build/patches/Multiple-fingerprinting-mitigations.patch b/build/patches/Multiple-fingerprinting-mitigations.patch index ef3c3f61..3b405bcf 100644 --- a/build/patches/Multiple-fingerprinting-mitigations.patch +++ b/build/patches/Multiple-fingerprinting-mitigations.patch @@ -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