From 5f09697d4c92b52a2c190286ff43714eec3210ba Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Mon, 19 Jan 2026 14:09:28 +0100 Subject: [PATCH] Patches for v144 --- .../Add-bookmark-import-export-actions.patch | 9 +- build/patches/Add-cromite-flags-support.patch | 4 +- .../Add-menu-item-to-bookmark-all-tabs.patch | 14 +- .../Add-setting-to-clear-data-on-exit.patch | 38 ++- ...tting-to-enable-Credman-for-passkeys.patch | 22 +- ...roid-fonts-fingerprinting-mitigation.patch | 80 +++++- .../Content-settings-infrastructure.patch | 42 +-- ...romite-Branding--improve-settings-ui.patch | 12 +- .../patches/Disable-all-predictors-code.patch | 270 ++++++++++++------ ...Disable-fetching-of-all-field-trials.patch | 2 +- ...isable-speechSynthesis-getVoices-API.patch | 2 +- .../Enable-Do-Not-Track-by-default.patch | 2 +- .../Enable-Global-Privacy-Control.patch | 153 +++------- .../Enable-extension-in-incognito.patch | 171 +++++++++-- .../Enable-native-Android-autofill.patch | 51 +++- .../Enable-network-isolation-features.patch | 23 +- ...le-search-engine-settings-desktop-ui.patch | 51 +++- build/patches/Enable-snackbar-swipe.patch | 21 +- ...al-support-for-extensions-on-Android.patch | 113 ++++++-- build/patches/Eyeo-Adblock-for-Cromite.patch | 87 +++--- ...story-number-of-days-privacy-setting.patch | 29 +- .../patches/Improve-the-browser-sandbox.patch | 13 +- .../Move-navigation-bar-to-bottom.patch | 59 ++-- ...ulti-Screen-Window-Placement-API-fix.patch | 11 +- ...referrals-in-cross-origin-navigation.patch | 6 +- .../Remove-binary-blob-integrations.patch | 10 +- .../Restore-chrome-password-store.patch | 12 +- build/patches/Show-NTP-at-startup.patch | 2 +- build/patches/Timezone-customization.patch | 143 +++++++--- .../Use-list-mode-for-tab-switcher.patch | 47 ++- build/patches/User-agent-customization.patch | 32 ++- build/patches/bromite-build-utils.patch | 2 +- 32 files changed, 1076 insertions(+), 457 deletions(-) diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch index 5a290585..0bf83ec5 100644 --- a/build/patches/Add-bookmark-import-export-actions.patch +++ b/build/patches/Add-bookmark-import-export-actions.patch @@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../app/bookmarks/BookmarkActivity.java | 32 ++ .../native_page/NativePageFactory.java | 9 +- chrome/browser/BUILD.gn | 11 +- - .../bookmarks/android/bookmark_bridge.cc | 192 ++++++++++++ + .../bookmarks/android/bookmark_bridge.cc | 193 ++++++++++++ .../bookmarks/android/bookmark_bridge.h | 30 +- .../browser/bookmarks/BookmarkBridge.java | 39 +++ .../browser/bookmarks/BookmarkDelegate.java | 10 + @@ -51,7 +51,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ui/shell_dialogs/select_file_dialog_linux.cc | 4 + ui/shell_dialogs/select_file_dialog_linux.h | 2 + ui/shell_dialogs/select_file_dialog_win.cc | 5 + - 40 files changed, 805 insertions(+), 24 deletions(-) + 40 files changed, 806 insertions(+), 24 deletions(-) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-bookmark-import-export-actions.inc create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-bookmark-import-export-actions.inc create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/add-bookmark-import-export-actions.inc @@ -322,7 +322,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse } void BookmarkBridge::Destroy(JNIEnv* env) { -@@ -843,6 +869,172 @@ jint BookmarkBridge::GetTotalBookmarkCount( +@@ -843,6 +869,173 @@ jint BookmarkBridge::GetTotalBookmarkCount( return count; } @@ -450,7 +450,8 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse + } + + std::vector buffer(fileLength); -+ if (-1 == file.ReadAtCurrentPos(buffer.data(), fileLength)) { ++ base::span buffer_span = base::as_writable_byte_span(buffer); ++ if (-1 == file.ReadAtCurrentPos(buffer_span)) { + select_file_dialog_->ShowToast("Could not read bookmarks file"); + return ""; + } diff --git a/build/patches/Add-cromite-flags-support.patch b/build/patches/Add-cromite-flags-support.patch index e9357a6f..0978f91f 100644 --- a/build/patches/Add-cromite-flags-support.patch +++ b/build/patches/Add-cromite-flags-support.patch @@ -1554,8 +1554,8 @@ diff --git a/components/webui/flags/resources/experiment.html.ts b/components/we return html`
-
-+
++
${this.showingSearchHit_? html`

GetRoot(); if (IsPermanentFolderVisible( -@@ -1228,6 +1259,17 @@ void BookmarkBridge::GetBookmarksOfType( +@@ -1229,6 +1260,17 @@ void BookmarkBridge::GetBookmarksOfType( AddBookmarkNodesToBookmarkIdList(env, j_list, results); } @@ -596,14 +596,6 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar // Need to reset the title as the title is persisted and restored from // the file. -@@ -461,6 +473,7 @@ void BookmarkCodec::ReassignIDsIfRequired() { - } - - nodes_requiring_id_reassignment_.clear(); -+ ReassignIDsHelper(tabs_folder_node); - ids_reassigned_ = true; - } - diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h --- a/components/bookmarks/browser/bookmark_codec.h +++ b/components/bookmarks/browser/bookmark_codec.h diff --git a/build/patches/Add-setting-to-clear-data-on-exit.patch b/build/patches/Add-setting-to-clear-data-on-exit.patch index d122936e..e20e9f60 100644 --- a/build/patches/Add-setting-to-clear-data-on-exit.patch +++ b/build/patches/Add-setting-to-clear-data-on-exit.patch @@ -31,16 +31,17 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../core/browsing_data_policies_utils.h | 11 +++ .../browsing_data/core/browsing_data_utils.cc | 31 ++++++++ .../core/clear_browsing_data_tab.h | 3 +- + components/browsing_data/core/features.h | 1 + components/browsing_data/core/pref_names.cc | 17 ++++ components/browsing_data/core/pref_names.h | 10 +++ components/favicon/core/favicon_database.cc | 9 +++ - components/favicon/core/favicon_database.h | 2 + + components/favicon/core/favicon_database.h | 3 + .../search_engines/template_url_service.cc | 1 + content/browser/btm/btm_service_impl.cc | 2 +- - content/browser/storage_partition_impl.cc | 1 + + content/browser/storage_partition_impl.cc | 2 + .../public/browser/browsing_data_remover.h | 7 +- .../Add-setting-to-clear-data-on-exit.inc | 8 ++ - 36 files changed, 407 insertions(+), 34 deletions(-) + 37 files changed, 410 insertions(+), 34 deletions(-) create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAtStart.java create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-clear-data-on-exit.grdp create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-clear-data-on-exit.inc @@ -881,6 +882,17 @@ diff --git a/components/browsing_data/core/clear_browsing_data_tab.h b/component } // namespace browsing_data +diff --git a/components/browsing_data/core/features.h b/components/browsing_data/core/features.h +--- a/components/browsing_data/core/features.h ++++ b/components/browsing_data/core/features.h +@@ -19,6 +19,7 @@ BASE_DECLARE_FEATURE(kBrowsingDataModel); + // updates to history counter logic and removal of the bulk password deletion + // option from the dialog. + BASE_DECLARE_FEATURE(kDbdRevampDesktop); ++SET_CROMITE_FEATURE_DISABLED(kDbdRevampDesktop); + + // When enabled, calls to browsingData.removePasswords extension API would + // result in an error response instead of a console warning. diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_data/core/pref_names.cc --- a/components/browsing_data/core/pref_names.cc +++ b/components/browsing_data/core/pref_names.cc @@ -957,7 +969,15 @@ diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/co diff --git a/components/favicon/core/favicon_database.h b/components/favicon/core/favicon_database.h --- a/components/favicon/core/favicon_database.h +++ b/components/favicon/core/favicon_database.h -@@ -33,6 +33,8 @@ namespace favicon { +@@ -9,6 +9,7 @@ + #include + #include + ++#include "base/feature_list.h" + #include "base/gtest_prod_util.h" + #include "base/memory/ref_counted.h" + #include "components/favicon/core/favicon_types.h" +@@ -33,6 +34,8 @@ namespace favicon { // All earlier updates are ignored. static const int kFaviconUpdateLastRequestedAfterDays = 10; @@ -992,7 +1012,15 @@ diff --git a/content/browser/btm/btm_service_impl.cc b/content/browser/btm/btm_s diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc --- a/content/browser/storage_partition_impl.cc +++ b/content/browser/storage_partition_impl.cc -@@ -1557,6 +1557,7 @@ void StoragePartitionImpl::Initialize( +@@ -19,6 +19,7 @@ + #include "base/containers/contains.h" + #include "base/dcheck_is_on.h" + #include "base/feature_list.h" ++#include "base/files/file_util.h" + #include "base/functional/bind.h" + #include "base/functional/callback_helpers.h" + #include "base/functional/concurrent_closures.h" +@@ -1557,6 +1558,7 @@ void StoragePartitionImpl::Initialize( .AppendASCII("Code Cache"); } DCHECK_GE(settings.size_in_bytes(), 0); diff --git a/build/patches/Add-setting-to-enable-Credman-for-passkeys.patch b/build/patches/Add-setting-to-enable-Credman-for-passkeys.patch index b94191c7..204e8403 100644 --- a/build/patches/Add-setting-to-enable-Credman-for-passkeys.patch +++ b/build/patches/Add-setting-to-enable-Credman-for-passkeys.patch @@ -11,6 +11,7 @@ Conditional immediate support is disabled. License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- .../settings/PasswordSettings.java | 27 +++++++++++++++++ + .../touch_to_fill_controller.cc | 2 ++ ...etting-to-enable-Credman-for-passkeys.grdp | 12 ++++++++ .../webauthn/AuthenticatorImpl.java | 29 +++++++------------ .../components/webauthn/WebauthnFeatures.java | 2 ++ @@ -20,7 +21,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html components/webauthn/features.h | 3 ++ device/fido/features.cc | 2 ++ .../authentication_credentials_container.cc | 5 ++++ - 10 files changed, 73 insertions(+), 37 deletions(-) + 11 files changed, 75 insertions(+), 37 deletions(-) create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-enable-Credman-for-passkeys.grdp diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java @@ -81,6 +82,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage private void displayManageAccountLink() { SyncService syncService = SyncServiceFactory.getForProfile(getProfile()); if (syncService == null || !syncService.isEngineInitialized()) { +diff --git a/chrome/browser/touch_to_fill/password_manager/touch_to_fill_controller.cc b/chrome/browser/touch_to_fill/password_manager/touch_to_fill_controller.cc +--- a/chrome/browser/touch_to_fill/password_manager/touch_to_fill_controller.cc ++++ b/chrome/browser/touch_to_fill/password_manager/touch_to_fill_controller.cc +@@ -312,6 +312,7 @@ void TouchToFillController::Reset() { + } + visibility_controller_->Reset(); + credentials_.clear(); ++ cred_man_delegate_ = nullptr; + } + + void TouchToFillController::ActionCompleted() { +@@ -319,6 +320,7 @@ void TouchToFillController::ActionCompleted() { + visibility_controller_->SetShown(); + } + ttf_delegate_.reset(); ++ cred_man_delegate_ = nullptr; + } + + DisplayTarget TouchToFillController::GetResponsibleDisplayTarget( diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-enable-Credman-for-passkeys.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-enable-Credman-for-passkeys.grdp new file mode 100644 --- /dev/null diff --git a/build/patches/Android-fonts-fingerprinting-mitigation.patch b/build/patches/Android-fonts-fingerprinting-mitigation.patch index c84c6fb7..1c483034 100644 --- a/build/patches/Android-fonts-fingerprinting-mitigation.patch +++ b/build/patches/Android-fonts-fingerprinting-mitigation.patch @@ -8,10 +8,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- .../common/ProductionSupportedFlagList.java | 3 + .../component_updater/registration.cc | 9 + + build/config/freetype/freetype.gni | 2 +- .../java/res/xml/developer_preferences.xml | 5 + chrome/browser/BUILD.gn | 7 + .../browser/component_updater/registration.cc | 10 + ...droid-fonts-fingerprinting-mitigation.grdp | 9 + + chrome/browser/ui/prefs/prefs_tab_helper.cc | 9 +- chrome/renderer/BUILD.gn | 4 + .../installer_policies/BUILD.gn | 7 + .../fonts_pack_component_installer.cc | 96 + @@ -29,10 +31,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html content/child/BUILD.gn | 7 + content/renderer/BUILD.gn | 4 + .../renderer/renderer_blink_platform_impl.cc | 55 +- + ...renderer_main_platform_delegate_android.cc | 2 +- ...ndroid-fonts-fingerprinting-mitigation.inc | 12 + ...ndroid-fonts-fingerprinting-mitigation.inc | 7 + ...ndroid-fonts-fingerprinting-mitigation.inc | 5 + skia/BUILD.gn | 12 + + skia/ext/font_utils.cc | 1 + .../include/ports/SkFontConfigInterface.h | 2 + .../skia/include/ports/SkFontMgr_android.h | 42 +- .../skia/src/ports/SkFontConfigInterface.cpp | 4 + @@ -40,9 +44,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../src/ports/SkFontConfigInterface_direct.h | 1 + .../skia/src/ports/SkFontMgr_android.cpp | 278 ++- .../skia/src/ports/SkFontMgr_android_data.cpp | 1640 +++++++++++++++++ + .../skia/src/ports/SkFontMgr_android_ndk.cpp | 2 +- .../src/ports/SkFontMgr_android_parser.cpp | 49 +- .../skia/src/ports/SkFontMgr_android_parser.h | 5 +- - 36 files changed, 2416 insertions(+), 76 deletions(-) + 41 files changed, 2424 insertions(+), 84 deletions(-) create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Android-fonts-fingerprinting-mitigation.grdp create mode 100644 components/component_updater/installer_policies/fonts_pack_component_installer.cc create mode 100644 components/component_updater/installer_policies/fonts_pack_component_installer.h @@ -90,6 +95,16 @@ diff --git a/android_webview/nonembedded/component_updater/registration.cc b/and component_installer_list.push_back( std::make_unique< component_updater::OriginTrialsComponentInstallerPolicy>()); +diff --git a/build/config/freetype/freetype.gni b/build/config/freetype/freetype.gni +--- a/build/config/freetype/freetype.gni ++++ b/build/config/freetype/freetype.gni +@@ -26,5 +26,5 @@ declare_args() { + # https://crbug.com/370816215 + # + # Note: //build should not import directly from //pdf for layering reasons. +- enable_freetype = !is_android && !is_ios && (is_linux || !is_castos) ++ enable_freetype = !is_ios && (is_linux || !is_castos) + } diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/android/java/res/xml/developer_preferences.xml --- a/chrome/android/java/res/xml/developer_preferences.xml +++ b/chrome/android/java/res/xml/developer_preferences.xml @@ -158,6 +173,32 @@ new file mode 100644 + Replaces all system fonts with the same for all devices + + +diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc +--- a/chrome/browser/ui/prefs/prefs_tab_helper.cc ++++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc +@@ -64,8 +64,7 @@ + #include + #endif + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) + // If a font name in prefs default values starts with a comma, consider it's a + // comma-separated font list and resolve it to the first available font. + #define PREFS_FONT_LIST 1 +@@ -442,9 +441,9 @@ void PrefsTabHelper::RegisterProfilePrefs( + value = gfx::FontList::FirstAvailableOrFirst(value); + } + #else // !PREFS_FONT_LIST +- DCHECK(!value.starts_with(',')) +- << "This platform doesn't support default font lists. " +- << pref.pref_name << "=" << value; ++ // DCHECK(!value.starts_with(',')) ++ // << "This platform doesn't support default font lists. " ++ // << pref.pref_name << "=" << value; + #endif // PREFS_FONT_LIST + registry->RegisterStringPref(pref.pref_name, value); + fonts_with_defaults.insert(pref.pref_name); diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn --- a/chrome/renderer/BUILD.gn +++ b/chrome/renderer/BUILD.gn @@ -806,6 +847,18 @@ diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +diff --git a/content/renderer/renderer_main_platform_delegate_android.cc b/content/renderer/renderer_main_platform_delegate_android.cc +--- a/content/renderer/renderer_main_platform_delegate_android.cc ++++ b/content/renderer/renderer_main_platform_delegate_android.cc +@@ -35,7 +35,7 @@ void RendererMainPlatformDelegate::PlatformInitialize() { + // Android 14+ user devices with updated system fonts will call statx and + // possibly other system calls that are not allowed in the sandbox. + // See https://crbug.com/40618213 for details. +- [[maybe_unused]] auto mgr = skia::DefaultFontMgr(); ++ // [[maybe_unused]] auto mgr = skia::DefaultFontMgr(); + } + + void RendererMainPlatformDelegate::PlatformUninitialize() { diff --git a/cromite_flags/chrome/browser/about_flags_cc/Android-fonts-fingerprinting-mitigation.inc b/cromite_flags/chrome/browser/about_flags_cc/Android-fonts-fingerprinting-mitigation.inc new file mode 100644 --- /dev/null @@ -867,6 +920,17 @@ diff --git a/skia/BUILD.gn b/skia/BUILD.gn if (is_linux || is_chromeos || is_android) { # Retain the files for the SkFontMgr_Android on linux to emulate android # fonts. See content/zygote/zygote_main_linux.cc +diff --git a/skia/ext/font_utils.cc b/skia/ext/font_utils.cc +--- a/skia/ext/font_utils.cc ++++ b/skia/ext/font_utils.cc +@@ -59,6 +59,7 @@ SkFontMgr* g_fontmgr_override = nullptr; + #if BUILDFLAG(IS_ANDROID) + // https://crbug.com/461659286 Failure to create any font causes crash. + BASE_FEATURE(kUseAndroidNDKFontAPI, base::FEATURE_DISABLED_BY_DEFAULT); ++SET_CROMITE_FEATURE_DISABLED(kUseAndroidNDKFontAPI); + #endif + + } // namespace diff --git a/third_party/skia/include/ports/SkFontConfigInterface.h b/third_party/skia/include/ports/SkFontConfigInterface.h --- a/third_party/skia/include/ports/SkFontConfigInterface.h +++ b/third_party/skia/include/ports/SkFontConfigInterface.h @@ -3051,6 +3115,18 @@ new file mode 100644 + + return false; +} +diff --git a/third_party/skia/src/ports/SkFontMgr_android_ndk.cpp b/third_party/skia/src/ports/SkFontMgr_android_ndk.cpp +--- a/third_party/skia/src/ports/SkFontMgr_android_ndk.cpp ++++ b/third_party/skia/src/ports/SkFontMgr_android_ndk.cpp +@@ -996,7 +996,7 @@ public: + } + + std::vector> xmlFamilies; +- SkFontMgr_Android_Parser::GetSystemFontFamilies(xmlFamilies); ++ SkFontMgr_Android_Parser::GetSystemFontFamilies(xmlFamilies, /*custom*/ nullptr); + + skia_private::THashMap> streamForPath; + diff --git a/third_party/skia/src/ports/SkFontMgr_android_parser.cpp b/third_party/skia/src/ports/SkFontMgr_android_parser.cpp --- a/third_party/skia/src/ports/SkFontMgr_android_parser.cpp +++ b/third_party/skia/src/ports/SkFontMgr_android_parser.cpp @@ -3129,7 +3205,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android_parser.cpp b/third_par void SkFontMgr_Android_Parser::GetSystemFontFamilies( - std::vector>& fontFamilies) + std::vector>& fontFamilies, -+ const SkFontMgr_Android_CustomFonts* custom) ++ const SkFontMgr_Android_CustomFonts* custom) { // Version 21 of the system font configuration does not need any fallback configuration files. SkString basePath(getenv("ANDROID_ROOT")); diff --git a/build/patches/Content-settings-infrastructure.patch b/build/patches/Content-settings-infrastructure.patch index 31e3d6b3..481e2061 100644 --- a/build/patches/Content-settings-infrastructure.patch +++ b/build/patches/Content-settings-infrastructure.patch @@ -13,9 +13,8 @@ Require: bromite-build-utils.patch --- .../ChromeSiteSettingsDelegate.java | 17 +- ...page_specific_content_settings_delegate.cc | 2 +- - chrome/browser/resources/settings/BUILD.gn | 2 +- .../privacy_page/privacy_page_index.html | 1 + - .../privacy_page/privacy_page_index.ts | 82 +++- + .../privacy_page/privacy_page_index.ts | 83 +++- chrome/browser/resources/settings/route.ts | 2 + ...settings_category_default_radio_group.html | 12 + .../settings_category_default_radio_group.ts | 23 +- @@ -85,7 +84,7 @@ Require: bromite-build-utils.patch .../platform/web_content_settings_client.h | 13 + .../execution_context/execution_context.cc | 16 + .../execution_context/execution_context.h | 5 + - 74 files changed, 1962 insertions(+), 106 deletions(-) + 73 files changed, 1962 insertions(+), 105 deletions(-) create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java @@ -149,25 +148,6 @@ diff --git a/chrome/browser/content_settings/page_specific_content_settings_dele rules->mixed_content_rules.push_back(ContentSettingPatternSource( ContentSettingsPattern::Wildcard(), ContentSettingsPattern::Wildcard(), content_settings::ContentSettingToValue(CONTENT_SETTING_BLOCK), -diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resources/settings/BUILD.gn ---- a/chrome/browser/resources/settings/BUILD.gn -+++ b/chrome/browser/resources/settings/BUILD.gn -@@ -360,6 +360,7 @@ build_webui("build") { - "privacy_sandbox/privacy_sandbox_browser_proxy.ts", - "relaunch_mixin.ts", - "reset_page/reset_browser_proxy.ts", -+ "site_settings/site_settings_util.ts", - "route.ts", - "router.ts", - "safety_hub/safety_hub_browser_proxy.ts", -@@ -373,7 +374,6 @@ build_webui("build") { - "site_settings/constants.ts", - "site_settings/site_settings_mixin.ts", - "site_settings/site_settings_browser_proxy.ts", -- "site_settings/site_settings_util.ts", - "site_settings/website_usage_browser_proxy.ts", - "time.ts", - "tooltip_mixin.ts", diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html --- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html +++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html @@ -175,12 +155,20 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.h -+
++
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts b/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts --- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts +++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts -@@ -29,6 +29,8 @@ import {PrivacyGuideAvailabilityMixin} from './privacy_guide/privacy_guide_avail +@@ -9,6 +9,7 @@ import '../settings_page/settings_section.js'; + import '../settings_shared.css.js'; + import './privacy_guide/privacy_guide_promo.js'; + import './privacy_page.js'; ++import '../controls/settings_dropdown_menu.js'; + + import {PrefsMixin} from '/shared/settings/prefs/prefs_mixin.js'; + import type {CrViewManagerElement} from 'chrome://resources/cr_elements/cr_view_manager/cr_view_manager.js'; +@@ -29,6 +30,8 @@ import {PrivacyGuideAvailabilityMixin} from './privacy_guide/privacy_guide_avail import type {PrivacyGuideBrowserProxy} from './privacy_guide/privacy_guide_browser_proxy.js'; import {MAX_PRIVACY_GUIDE_PROMO_IMPRESSION, PrivacyGuideBrowserProxyImpl} from './privacy_guide/privacy_guide_browser_proxy.js'; import {getTemplate} from './privacy_page_index.html.js'; @@ -189,7 +177,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.t // clang-format off // -@@ -53,8 +55,86 @@ export class SettingsPrivacyPageIndexElement extends +@@ -53,8 +56,86 @@ export class SettingsPrivacyPageIndexElement extends return 'settings-privacy-page-index'; } @@ -399,7 +387,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b label="$i18n{siteSettingsLocalNetworkAccess}"> -+
++
diff --git a/chrome/browser/resources/settings/site_settings/site_details.ts b/chrome/browser/resources/settings/site_settings/site_details.ts @@ -2546,7 +2534,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c + if (preference instanceof ChromeSwitchPreference) { + ((ChromeSwitchPreference)switchPreference).setChecked(value != ContentSetting.BLOCK); + } else { -+ BromiteCustomContentSettingImpl.setWebSitePreferenceValue(content_type, preference, value); ++ BromiteCustomContentSettingImpl.setWebSitePreferenceValue(contentType, preference, value); + } + if (preference instanceof ChromeSwitchPreference && contentType == mHighlightedPermission) { + ((ChromeSwitchPreference)switchPreference).setBackgroundColor( diff --git a/build/patches/Cromite-Branding--improve-settings-ui.patch b/build/patches/Cromite-Branding--improve-settings-ui.patch index 8422cac8..2bc5c4f6 100644 --- a/build/patches/Cromite-Branding--improve-settings-ui.patch +++ b/build/patches/Cromite-Branding--improve-settings-ui.patch @@ -8,10 +8,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- chrome/android/chrome_java_resources.gni | 2 +- .../android/java/res/xml/main_preferences.xml | 4 +- - .../res/xml/privacy_preferences_cromite.xml | 197 ++++++++++++++++++ + .../res/xml/privacy_preferences_cromite.xml | 191 ++++++++++++++++++ .../privacy/settings/PrivacySettings.java | 6 +- .../Cromite-settings-ui.grdp | 15 ++ - 5 files changed, 219 insertions(+), 5 deletions(-) + 5 files changed, 213 insertions(+), 5 deletions(-) create mode 100644 chrome/android/java/res/xml/privacy_preferences_cromite.xml create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Cromite-settings-ui.grdp @@ -52,7 +52,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences_cromite.xml b/chrom new file mode 100644 --- /dev/null +++ b/chrome/android/java/res/xml/privacy_preferences_cromite.xml -@@ -0,0 +1,197 @@ +@@ -0,0 +1,191 @@ + ++ ++ ++ ++ ++ ++ ++ diff --git a/components/browser_ui/widget/android/java/res/layout/title_and_description_layout.xml b/components/browser_ui/widget/android/java/res/layout/title_and_description_layout.xml --- a/components/browser_ui/widget/android/java/res/layout/title_and_description_layout.xml +++ b/components/browser_ui/widget/android/java/res/layout/title_and_description_layout.xml diff --git a/build/patches/User-agent-customization.patch b/build/patches/User-agent-customization.patch index 01b74bd8..c93c4142 100644 --- a/build/patches/User-agent-customization.patch +++ b/build/patches/User-agent-customization.patch @@ -26,7 +26,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../chromium/chrome/browser/tab/TabUtils.java | 8 +- .../browser/android/content/content_utils.cc | 32 ++- .../preferences/browser_prefs_android.cc | 7 + - .../privacy_preferences_manager_impl.cc | 126 ++++++++++++ + .../privacy_preferences_manager_impl.cc | 127 ++++++++++++ ...ktop_site_web_contents_observer_android.cc | 11 + ...sktop_site_web_contents_observer_android.h | 2 + .../preferences/ChromePreferenceKeys.java | 2 - @@ -44,9 +44,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../navigation_controller_android.h | 1 + .../renderer_host/render_process_host_impl.cc | 1 + .../browser/web_contents/web_contents_impl.cc | 6 +- - .../framehost/NavigationControllerImpl.java | 3 +- + .../framehost/NavigationControllerImpl.java | 17 +- content/renderer/render_thread_impl.cc | 1 - - 36 files changed, 803 insertions(+), 19 deletions(-) + 36 files changed, 811 insertions(+), 26 deletions(-) create mode 100644 chrome/android/java/res/layout/custom_useragent_preferences.xml create mode 100644 chrome/android/java/res/xml/useragent_preferences.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/UserAgentPreferences.java @@ -654,7 +654,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav + + NavigationController navigationController = webContents.getNavigationController(); + navigationController.setUseDesktopUserAgent( -+ usingDesktopUserAgent, !this.isNativePage(), UseDesktopUserAgentCaller.OTHER); ++ usingDesktopUserAgent, !this.isNativePage(), /*skipOnInitialNavigation*/ false); + } + else if (this.getPendingLoadParams() != null) { + if (usingDesktopUserAgent) { @@ -809,7 +809,7 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl static jboolean JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingEnabled( JNIEnv* env) { PrefService* local_state = g_browser_process->local_state(); -@@ -37,4 +63,104 @@ JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingDisabledByPolicy( +@@ -37,4 +63,105 @@ JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingDisabledByPolicy( !local_state->GetBoolean(metrics::prefs::kMetricsReportingEnabled); } @@ -838,6 +838,7 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl + /*user_agent*/ ua, /*metadata*/ blink::UserAgentMetadata(), + cors_exempt_header_list, + g_browser_process->GetOriginTrialsSettingsStorage()->GetSettings(), ++ ChromeContentBrowserClient().GetCpuPerformanceTier(), + trace_id); + } + } @@ -1324,6 +1325,27 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh params.getInitiatorOrigin(), params.getHasUserGesture(), params.getShouldClearHistoryList(), +@@ -266,13 +267,13 @@ import org.chromium.url.Origin; + public void setUseDesktopUserAgent( + boolean override, boolean reloadOnChange, boolean skipOnInitialNavigation) { + if (mNativeNavigationControllerAndroid != 0) { +- Log.i( +- TAG, +- "Thread dump for debugging, override: " +- + override +- + " reloadOnChange: " +- + reloadOnChange); +- Thread.dumpStack(); ++ // Log.i( ++ // TAG, ++ // "Thread dump for debugging, override: " ++ // + override ++ // + " reloadOnChange: " ++ // + reloadOnChange); ++ // Thread.dumpStack(); + + NavigationControllerImplJni.get() + .setUseDesktopUserAgent( @@ -447,7 +448,7 @@ import org.chromium.url.Origin; @Nullable String dataUrlAsString, boolean canLoadLocalResources, diff --git a/build/patches/bromite-build-utils.patch b/build/patches/bromite-build-utils.patch index 3c9848d9..8ec63b3f 100644 --- a/build/patches/bromite-build-utils.patch +++ b/build/patches/bromite-build-utils.patch @@ -684,7 +684,7 @@ diff --git a/mojo/public/tools/mojom/mojom_parser.py b/mojo/public/tools/mojom/m +def _ResolveInclude(mojom_abspath, input_root_paths): + mojom_abspath = _ResolveRelativeImportPath(mojom_abspath, mojom_abspath, input_root_paths) -+ with codecs.open(mojom_abspath, encoding='utf-8') as f: ++ with open(mojom_abspath, encoding='utf-8') as f: + src = f.read() + + lines = src.splitlines();