From 44958274eab0a78658d758c474db9a071daae195 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Thu, 22 Feb 2024 12:32:06 -0300 Subject: [PATCH 001/130] Update from Chromium 123.0.6312.105 to Chromium 124.0.6367.29. --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f3fdb4cec0cb..3f06f53d9738 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "projects": { "chrome": { "dir": "src", - "tag": "123.0.6312.105", + "tag": "124.0.6367.29", "repository": { "url": "https://github.com/brave/chromium" } @@ -219,4 +219,4 @@ "protobufjs": "7.2.4", "@babel/traverse": "7.23.2" } -} +} \ No newline at end of file From bcbf6bb1cdb6f49ecb84db393f5084ac7dd31322 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Thu, 22 Feb 2024 12:42:50 -0300 Subject: [PATCH 002/130] Conflict-resolved patches from Chromium 123.0.6312.105 to Chromium 124.0.6367.18. --- patches/build-config-android-config.gni.patch | 4 +-- ...cations-NotificationServiceImpl.java.patch | 10 +++---- ...ync-settings-ManageSyncSettings.java.patch | 10 +++---- ...ome_browsing_data_remover_delegate.h.patch | 2 +- ...les-bookmark_model_loaded_observer.h.patch | 4 +-- ...browser-resources-bookmarks-BUILD.gn.patch | 4 +-- ...browser-resources-downloads-BUILD.gn.patch | 4 +-- ...rowser-resources-extensions-BUILD.gn.patch | 4 +-- ...ources-side_panel-bookmarks-BUILD.gn.patch | 8 +++--- ...ws-frame-browser_frame_view_linux.cc.patch | 19 ------------- ...ews-frame-browser_frame_view_linux.h.patch | 20 ------------- ...e-browser_frame_view_linux_native.cc.patch | 19 ------------- ...me-browser_frame_view_linux_native.h.patch | 28 ------------------- ...ews-profiles-avatar_toolbar_button.h.patch | 6 ++-- ...bui-settings-site_settings_helper.cc.patch | 12 ++++---- ...rer-worker_content_settings_client.h.patch | 8 +++--- ...er-page_specific_content_settings.cc.patch | 14 +++++----- ...-content_settings_policy_provider.cc.patch | 14 +++++----- ...browser-content_settings_registry.cc.patch | 8 +++--- ...-common-content_settings_types.mojom.patch | 14 +++++----- ...nts-infobars-core-infobar_delegate.h.patch | 6 ++-- ...mnibox-browser-omnibox_edit_model.cc.patch | 6 ++-- ...s-permissions-permission_uma_util.cc.patch | 6 ++-- ...nents-permissions-permission_util.cc.patch | 6 ++-- ...mponents-permissions-request_type.cc.patch | 8 +++--- ...-shared-model-prefs-browser_prefs.mm.patch | 10 +++---- patches/net-BUILD.gn.patch | 6 ++-- .../third_party-rust-anyhow-v1-BUILD.gn.patch | 6 ++-- .../third_party-rust-serde-v1-BUILD.gn.patch | 4 +-- ...rd_party-rust-serde_json-v1-BUILD.gn.patch | 4 +-- patches/tools-typescript-ts_library.gni.patch | 16 +++++------ 31 files changed, 102 insertions(+), 188 deletions(-) delete mode 100644 patches/chrome-browser-ui-views-frame-browser_frame_view_linux.cc.patch delete mode 100644 patches/chrome-browser-ui-views-frame-browser_frame_view_linux.h.patch delete mode 100644 patches/chrome-browser-ui-views-frame-browser_frame_view_linux_native.cc.patch delete mode 100644 patches/chrome-browser-ui-views-frame-browser_frame_view_linux_native.h.patch diff --git a/patches/build-config-android-config.gni.patch b/patches/build-config-android-config.gni.patch index 6b1f056e3384..b21e03fefdb3 100644 --- a/patches/build-config-android-config.gni.patch +++ b/patches/build-config-android-config.gni.patch @@ -1,5 +1,5 @@ diff --git a/build/config/android/config.gni b/build/config/android/config.gni -index ae6136cf512ff2d6518f4b02ccfb461696f98f97..357e971b5bccbc348d70a290fdb1eb281687c2b1 100644 +index 427739d70b4e48026357ef2d844eedcc4aa4a00d..009167f81f23ec656186a51f1383f0502cec3562 100644 --- a/build/config/android/config.gni +++ b/build/config/android/config.gni @@ -25,6 +25,7 @@ robolectric_toolchain = "//build/toolchain/android:robolectric_$host_cpu" @@ -8,5 +8,5 @@ index ae6136cf512ff2d6518f4b02ccfb461696f98f97..357e971b5bccbc348d70a290fdb1eb28 if (is_android || is_chromeos) { + import("//brave/build/android/config.gni") import("//build/config/android/channel.gni") - import("//build/config/cast.gni") import("//build/config/clang/clang.gni") + import("//build/config/dcheck_always_on.gni") diff --git a/patches/chrome-android-java-src-org-chromium-chrome-browser-notifications-NotificationServiceImpl.java.patch b/patches/chrome-android-java-src-org-chromium-chrome-browser-notifications-NotificationServiceImpl.java.patch index 92ca00af2b77..42bbaea504a7 100644 --- a/patches/chrome-android-java-src-org-chromium-chrome-browser-notifications-NotificationServiceImpl.java.patch +++ b/patches/chrome-android-java-src-org-chromium-chrome-browser-notifications-NotificationServiceImpl.java.patch @@ -1,11 +1,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationServiceImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationServiceImpl.java -index 07f7e054264b9e139b4847e2db6185a4cb5f4312..2a787811bf2895ca23c61a8569b9783163428e28 100644 +index b14852f5727b2084923719a8c4e94b48c2f2ad5d..7126a556b6ee395a99f942c470842d1f94d10486 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationServiceImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationServiceImpl.java -@@ -113,7 +113,7 @@ public class NotificationServiceImpl extends NotificationService.Impl { - // the - // NotificationPlatformBridge which will take care of delivering the - // appropriate events. +@@ -175,7 +175,7 @@ public class NotificationServiceImpl extends NotificationService.Impl { + .recordIntentHandlerJobStage( + NotificationUmaTracker.IntentHandlerJobStage.DISPATCH_EVENT, + intent.getAction()); - if (!NotificationPlatformBridge.dispatchNotificationEvent(intent)) { + if (!BraveNotificationPlatformBridge.dispatchNotificationEvent(intent)) { Log.w(TAG, "Unable to dispatch the notification event to Chrome."); diff --git a/patches/chrome-android-java-src-org-chromium-chrome-browser-sync-settings-ManageSyncSettings.java.patch b/patches/chrome-android-java-src-org-chromium-chrome-browser-sync-settings-ManageSyncSettings.java.patch index 6534fe6e2ce2..a42f9a074551 100644 --- a/patches/chrome-android-java-src-org-chromium-chrome-browser-sync-settings-ManageSyncSettings.java.patch +++ b/patches/chrome-android-java-src-org-chromium-chrome-browser-sync-settings-ManageSyncSettings.java.patch @@ -2,16 +2,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/M index 328759788286bbd297ae2f255018905e3a8593fd..ec20eaccbe558ffab63e3dac0e6ef099ea5d9f5b 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java -@@ -51,7 +51,7 @@ import org.chromium.chrome.browser.sync.ui.PassphraseDialogFragment; +@@ -51,7 +51,7 @@ import org.chromium.chrome.browser.sync.ui.PassphraseCreationDialogFragment; + import org.chromium.chrome.browser.sync.ui.PassphraseDialogFragment; import org.chromium.chrome.browser.sync.ui.PassphraseTypeDialogFragment; import org.chromium.chrome.browser.ui.signin.SignOutDialogCoordinator; - import org.chromium.chrome.browser.ui.signin.SignOutDialogCoordinator.Listener; -import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference; +import org.chromium.components.browser_ui.settings.brave_tricks.checkbox_to_switch.ChromeBaseCheckBoxPreference; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; - import org.chromium.components.browser_ui.settings.SettingsUtils; - import org.chromium.components.signin.AccountManagerFacadeProvider; -@@ -369,7 +369,7 @@ public class ManageSyncSettings extends ChromeBaseSettingsFragment + import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher; + import org.chromium.components.browser_ui.settings.SettingsLauncher; +@@ -377,7 +377,7 @@ public class ManageSyncSettings extends ChromeBaseSettingsFragment .getIdentityManager(getProfile()) .getPrimaryAccountInfo(ConsentLevel.SYNC)); // May happen if account is removed from the device while this screen is shown. diff --git a/patches/chrome-browser-browsing_data-chrome_browsing_data_remover_delegate.h.patch b/patches/chrome-browser-browsing_data-chrome_browsing_data_remover_delegate.h.patch index de441cc54762..ef2e5d308f74 100644 --- a/patches/chrome-browser-browsing_data-chrome_browsing_data_remover_delegate.h.patch +++ b/patches/chrome-browser-browsing_data-chrome_browsing_data_remover_delegate.h.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h -index 0dd90a1db603f458b97b19863be896854dd2f4d2..43d66357feec72aa7272c661965a89b2f941b71c 100644 +index cffe328e0303ce8c0bb6ad94ef80331c172acd99..591d95199b6288f75ac94011b5e819d12f2242a2 100644 --- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h +++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h @@ -95,6 +95,7 @@ class ChromeBrowsingDataRemoverDelegate diff --git a/patches/chrome-browser-profiles-bookmark_model_loaded_observer.h.patch b/patches/chrome-browser-profiles-bookmark_model_loaded_observer.h.patch index 82f53701522a..8b7a39f11a05 100644 --- a/patches/chrome-browser-profiles-bookmark_model_loaded_observer.h.patch +++ b/patches/chrome-browser-profiles-bookmark_model_loaded_observer.h.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/profiles/bookmark_model_loaded_observer.h b/chrome/browser/profiles/bookmark_model_loaded_observer.h -index edea86a9cfb628dc7758a139a6f928b285cdfe21..822ecc861c363e6aaa037c38cb5a94afb1f92375 100644 +index d2a19acb7815bb7f3b1b678657c9ff05b08a24b0..3a255af9e41e45442ed7fe330adf1c8715ae0ada 100644 --- a/chrome/browser/profiles/bookmark_model_loaded_observer.h +++ b/chrome/browser/profiles/bookmark_model_loaded_observer.h @@ -19,6 +19,7 @@ class BookmarkModelLoadedObserver @@ -9,4 +9,4 @@ index edea86a9cfb628dc7758a139a6f928b285cdfe21..822ecc861c363e6aaa037c38cb5a94af + BRAVE_BOOKMARK_MODEL_LOADED_OBSERVER_H_ private: void BookmarkModelChanged() override; - void BookmarkModelLoaded(bookmarks::BookmarkModel* model, + void BookmarkModelLoaded(bool ids_reassigned) override; diff --git a/patches/chrome-browser-resources-bookmarks-BUILD.gn.patch b/patches/chrome-browser-resources-bookmarks-BUILD.gn.patch index 497bf184e207..ca373270e09d 100644 --- a/patches/chrome-browser-resources-bookmarks-BUILD.gn.patch +++ b/patches/chrome-browser-resources-bookmarks-BUILD.gn.patch @@ -1,9 +1,9 @@ diff --git a/chrome/browser/resources/bookmarks/BUILD.gn b/chrome/browser/resources/bookmarks/BUILD.gn -index 562af13549e34882869414e7576db7d8742bcea9..e60d1fbc62f81681ec52783c1c54a9506e34ae5a 100644 +index c15f4738ca27d7b2248966e81fdc7b9c3f42381b..6b272b0c782c65c32dd5266126b3a0e603d108ea 100644 --- a/chrome/browser/resources/bookmarks/BUILD.gn +++ b/chrome/browser/resources/bookmarks/BUILD.gn @@ -71,4 +71,5 @@ build_webui("build") { - optimize_webui_host = "bookmarks" + if (optimize) { optimize_webui_in_files = [ "bookmarks.js" ] } + import("//brave/browser/resources/bookmarks/sources.gni") non_web_component_files += brave_bookmarks_non_web_component_files exclude_ts_preprocess_files = brave_bookmarks_ts_local_files preprocess_deps = brave_bookmarks_preprocess_extra_deps diff --git a/patches/chrome-browser-resources-downloads-BUILD.gn.patch b/patches/chrome-browser-resources-downloads-BUILD.gn.patch index ad44991a80b8..ea3e4365bfa3 100644 --- a/patches/chrome-browser-resources-downloads-BUILD.gn.patch +++ b/patches/chrome-browser-resources-downloads-BUILD.gn.patch @@ -1,9 +1,9 @@ diff --git a/chrome/browser/resources/downloads/BUILD.gn b/chrome/browser/resources/downloads/BUILD.gn -index b2ea96f64adf4a579ae67e18db648159be4ed388..ebdfa4e7cfabd9246c928df92364f5650fcc9b84 100644 +index eb4a58c7fd2b1e427a15256e2352c2f17b0218b3..a392dc106280f98d26a6c412bf51835daefe4d80 100644 --- a/chrome/browser/resources/downloads/BUILD.gn +++ b/chrome/browser/resources/downloads/BUILD.gn @@ -54,4 +54,5 @@ build_webui("build") { - optimize_webui_host = "downloads" + if (optimize) { optimize_webui_in_files = [ "downloads.js" ] } + import("//brave/browser/resources/downloads/sources.gni") non_web_component_files += brave_downloads_non_web_component_files exclude_ts_preprocess_files = brave_downloads_ts_local_files preprocess_deps = brave_downloads_preprocess_extra_deps diff --git a/patches/chrome-browser-resources-extensions-BUILD.gn.patch b/patches/chrome-browser-resources-extensions-BUILD.gn.patch index 547aa0a7a586..db7fcf9cc1c6 100644 --- a/patches/chrome-browser-resources-extensions-BUILD.gn.patch +++ b/patches/chrome-browser-resources-extensions-BUILD.gn.patch @@ -1,9 +1,9 @@ diff --git a/chrome/browser/resources/extensions/BUILD.gn b/chrome/browser/resources/extensions/BUILD.gn -index 745d46ead75d5725f31c86e83cdc920e1f00cdcb..2de06f9f37ae6aab29f602799aa4f508bf9fc3be 100644 +index f7e3f595d1c3cccf74af54fa163d5076b6f6d856..a888c5e91db49888e2ae2c27d1a6f58ec0ca38a5 100644 --- a/chrome/browser/resources/extensions/BUILD.gn +++ b/chrome/browser/resources/extensions/BUILD.gn @@ -105,4 +105,5 @@ build_webui("build") { - optimize_webui_host = "extensions" + if (optimize) { optimize_webui_in_files = [ "extensions.js" ] } + import("//brave/browser/resources/extensions/sources.gni") web_component_files += brave_extensions_web_component_files non_web_component_files += brave_extensions_non_web_component_files exclude_ts_preprocess_files = brave_extensions_local_ts_files exclude_html_css_preprocess_files = brave_extensions_local_html_files preprocess_deps = brave_extensions_preprocess_extra_deps diff --git a/patches/chrome-browser-resources-side_panel-bookmarks-BUILD.gn.patch b/patches/chrome-browser-resources-side_panel-bookmarks-BUILD.gn.patch index cb3994ae82dc..b8ac35023df5 100644 --- a/patches/chrome-browser-resources-side_panel-bookmarks-BUILD.gn.patch +++ b/patches/chrome-browser-resources-side_panel-bookmarks-BUILD.gn.patch @@ -1,10 +1,10 @@ diff --git a/chrome/browser/resources/side_panel/bookmarks/BUILD.gn b/chrome/browser/resources/side_panel/bookmarks/BUILD.gn -index c986617506442095301d0275f926a2ab95bd4811..52e837546e6c197f991a5b41d63ecf4a236cf0c9 100644 +index 6d95c67f572e2966a314b05881768b1c701da1ba..7df554fecc0d1255979e49c68c3a7571d7908460 100644 --- a/chrome/browser/resources/side_panel/bookmarks/BUILD.gn +++ b/chrome/browser/resources/side_panel/bookmarks/BUILD.gn -@@ -61,4 +61,5 @@ build_webui("build") { - rebase_path( - "$root_gen_dir/chrome/browser/resources/side_panel/shared/tsc/*", +@@ -64,4 +64,5 @@ build_webui("build") { target_gen_dir) ] + + webui_host = "bookmarks-side-panel.top-chrome" + import("//brave/browser/resources/side_panel/bookmarks/sources.gni") non_web_component_files += brave_side_panel_bookmarks_non_web_component_files exclude_ts_preprocess_files = brave_side_panel_bookmarks_ts_local_files preprocess_deps = brave_side_panel_bookmarks_preprocess_extra_deps } diff --git a/patches/chrome-browser-ui-views-frame-browser_frame_view_linux.cc.patch b/patches/chrome-browser-ui-views-frame-browser_frame_view_linux.cc.patch deleted file mode 100644 index 937f04855571..000000000000 --- a/patches/chrome-browser-ui-views-frame-browser_frame_view_linux.cc.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/chrome/browser/ui/views/frame/browser_frame_view_linux.cc b/chrome/browser/ui/views/frame/browser_frame_view_linux.cc -index bbc5b7e49d9f815faba8b60398ebae806b8baef4..fb7e76762215ea5aa483a5a34342b041df802463 100644 ---- a/chrome/browser/ui/views/frame/browser_frame_view_linux.cc -+++ b/chrome/browser/ui/views/frame/browser_frame_view_linux.cc -@@ -8,6 +8,7 @@ - #include "chrome/browser/ui/views/frame/browser_frame_view_paint_utils_linux.h" - #include "chrome/browser/ui/views/frame/browser_view.h" - #include "chrome/browser/ui/views/frame/desktop_browser_frame_aura_linux.h" -+#include "ui/base/metadata/metadata_impl_macros.h" - #include "ui/gfx/geometry/skia_conversions.h" - #include "ui/gfx/shadow_value.h" - #include "ui/linux/linux_ui.h" -@@ -119,3 +120,6 @@ float BrowserFrameViewLinux::GetRestoredCornerRadiusDip() const { - int BrowserFrameViewLinux::GetTranslucentTopAreaHeight() const { - return 0; - } -+ -+BEGIN_METADATA(BrowserFrameViewLinux) -+END_METADATA diff --git a/patches/chrome-browser-ui-views-frame-browser_frame_view_linux.h.patch b/patches/chrome-browser-ui-views-frame-browser_frame_view_linux.h.patch deleted file mode 100644 index caa14cea91d2..000000000000 --- a/patches/chrome-browser-ui-views-frame-browser_frame_view_linux.h.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/chrome/browser/ui/views/frame/browser_frame_view_linux.h b/chrome/browser/ui/views/frame/browser_frame_view_linux.h -index 46f1a23a093e2e26f30a2b0f0e9f939b28162378..7e7d4800351eb07a014eab4935e73f219835b4ef 100644 ---- a/chrome/browser/ui/views/frame/browser_frame_view_linux.h -+++ b/chrome/browser/ui/views/frame/browser_frame_view_linux.h -@@ -8,6 +8,7 @@ - #include "base/memory/raw_ptr.h" - #include "chrome/browser/ui/views/frame/browser_frame_view_layout_linux.h" - #include "chrome/browser/ui/views/frame/opaque_browser_frame_view.h" -+#include "ui/base/metadata/metadata_header_macros.h" - #include "ui/linux/window_button_order_observer.h" - - namespace ui { -@@ -18,6 +19,7 @@ class LinuxUi; - // render client side decorations (shadow, border, and rounded corners). - class BrowserFrameViewLinux : public OpaqueBrowserFrameView, - public ui::WindowButtonOrderObserver { -+ METADATA_HEADER(BrowserFrameViewLinux, OpaqueBrowserFrameView) - public: - BrowserFrameViewLinux(BrowserFrame* frame, - BrowserView* browser_view, diff --git a/patches/chrome-browser-ui-views-frame-browser_frame_view_linux_native.cc.patch b/patches/chrome-browser-ui-views-frame-browser_frame_view_linux_native.cc.patch deleted file mode 100644 index 21835d6c280c..000000000000 --- a/patches/chrome-browser-ui-views-frame-browser_frame_view_linux_native.cc.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/chrome/browser/ui/views/frame/browser_frame_view_linux_native.cc b/chrome/browser/ui/views/frame/browser_frame_view_linux_native.cc -index d915fd7f06297239f5b80491bd7cfa8860ee57b9..3d4e73a00ff6feb1b1f39e654426df06b789884a 100644 ---- a/chrome/browser/ui/views/frame/browser_frame_view_linux_native.cc -+++ b/chrome/browser/ui/views/frame/browser_frame_view_linux_native.cc -@@ -6,6 +6,7 @@ - - #include "base/notreached.h" - #include "chrome/browser/ui/views/frame/browser_frame_view_layout_linux_native.h" -+#include "ui/base/metadata/metadata_impl_macros.h" - #include "ui/linux/linux_ui.h" - #include "ui/views/controls/button/image_button.h" - #include "ui/views/window/frame_background.h" -@@ -126,3 +127,6 @@ views::Button* BrowserFrameViewLinuxNative::GetButtonFromDisplayType( - NOTREACHED_NORETURN(); - } - } -+ -+BEGIN_METADATA(BrowserFrameViewLinuxNative) -+END_METADATA diff --git a/patches/chrome-browser-ui-views-frame-browser_frame_view_linux_native.h.patch b/patches/chrome-browser-ui-views-frame-browser_frame_view_linux_native.h.patch deleted file mode 100644 index 2467fc1f72b2..000000000000 --- a/patches/chrome-browser-ui-views-frame-browser_frame_view_linux_native.h.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/chrome/browser/ui/views/frame/browser_frame_view_linux_native.h b/chrome/browser/ui/views/frame/browser_frame_view_linux_native.h -index f980503b847d6f27885c06d296fc5cbffeca1143..474adf73a412f3f0a58a617841d34e5ba42edee8 100644 ---- a/chrome/browser/ui/views/frame/browser_frame_view_linux_native.h -+++ b/chrome/browser/ui/views/frame/browser_frame_view_linux_native.h -@@ -7,6 +7,7 @@ - - #include "base/memory/raw_ptr.h" - #include "chrome/browser/ui/views/frame/browser_frame_view_linux.h" -+#include "ui/base/metadata/metadata_header_macros.h" - #include "ui/linux/nav_button_provider.h" - #include "ui/linux/window_frame_provider.h" - -@@ -15,6 +16,7 @@ class BrowserFrameViewLayoutLinuxNative; - // A specialization of BrowserFrameViewLinux that is also able to - // render frame buttons using the native toolkit. - class BrowserFrameViewLinuxNative : public BrowserFrameViewLinux { -+ METADATA_HEADER(BrowserFrameViewLinuxNative, BrowserFrameViewLinux) - public: - BrowserFrameViewLinuxNative( - BrowserFrame* frame, -@@ -28,7 +30,6 @@ class BrowserFrameViewLinuxNative : public BrowserFrameViewLinux { - - ~BrowserFrameViewLinuxNative() override; - -- protected: - // BrowserFrameViewLinux: - float GetRestoredCornerRadiusDip() const override; - int GetTranslucentTopAreaHeight() const override; diff --git a/patches/chrome-browser-ui-views-profiles-avatar_toolbar_button.h.patch b/patches/chrome-browser-ui-views-profiles-avatar_toolbar_button.h.patch index 361966b77c4c..0f47f94dbd6f 100644 --- a/patches/chrome-browser-ui-views-profiles-avatar_toolbar_button.h.patch +++ b/patches/chrome-browser-ui-views-profiles-avatar_toolbar_button.h.patch @@ -1,9 +1,9 @@ diff --git a/chrome/browser/ui/views/profiles/avatar_toolbar_button.h b/chrome/browser/ui/views/profiles/avatar_toolbar_button.h -index 53a31459e88ae680065c61fdf0401800a888605e..a8c22a8ca132a7ecd72ba37cf2273e0d046b075c 100644 +index 0ed6e1e407325cadc098a3ffd7ea60e64ce3dc45..767269acce0304f922454699114b79da391395f6 100644 --- a/chrome/browser/ui/views/profiles/avatar_toolbar_button.h +++ b/chrome/browser/ui/views/profiles/avatar_toolbar_button.h -@@ -82,6 +82,7 @@ class AvatarToolbarButton : public ToolbarButton { - static void SetIPHMinDelayAfterCreationForTesting(base::TimeDelta delay); +@@ -109,6 +109,7 @@ class AvatarToolbarButton : public ToolbarButton { + void NotifyManagementTransientTextClearedForTesting() const; private: + BRAVE_AVATAR_BUTTON_H diff --git a/patches/chrome-browser-ui-webui-settings-site_settings_helper.cc.patch b/patches/chrome-browser-ui-webui-settings-site_settings_helper.cc.patch index 09126f876b6b..f490e9deec0f 100644 --- a/patches/chrome-browser-ui-webui-settings-site_settings_helper.cc.patch +++ b/patches/chrome-browser-ui-webui-settings-site_settings_helper.cc.patch @@ -1,16 +1,16 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc -index 485d05957276197dcf38517cb37747a4c68a169a..a32b320aa9ff2ccca744cb979268107cd5a18fde 100644 +index 2fa632f129976f5520cb4485305a0ec45af6b618..a615ca9348bdfd68c9f4a9f5f5738609deecfa78 100644 --- a/chrome/browser/ui/webui/settings/site_settings_helper.cc +++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc -@@ -215,6 +215,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = { - // TODO(crbug.com/1501130): Add WebUI for Automatic Fullscreen. - {ContentSettingsType::AUTOMATIC_FULLSCREEN, nullptr}, +@@ -218,6 +218,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = { + {ContentSettingsType::TOP_LEVEL_TPCD_TRIAL, nullptr}, {ContentSettingsType::SUB_APP_INSTALLATION_PROMPTS, nullptr}, + {ContentSettingsType::DIRECT_SOCKETS, nullptr}, + BRAVE_CONTENT_SETTINGS_TYPE_GROUP_NAMES_LIST }; - static_assert(std::size(kContentSettingsTypeGroupNames) == -@@ -475,6 +476,7 @@ bool HasRegisteredGroupName(ContentSettingsType type) { + static_assert( +@@ -480,6 +481,7 @@ bool HasRegisteredGroupName(ContentSettingsType type) { } ContentSettingsType ContentSettingsTypeFromGroupName(base::StringPiece name) { diff --git a/patches/chrome-renderer-worker_content_settings_client.h.patch b/patches/chrome-renderer-worker_content_settings_client.h.patch index d4918551fd71..ec5309bc0620 100644 --- a/patches/chrome-renderer-worker_content_settings_client.h.patch +++ b/patches/chrome-renderer-worker_content_settings_client.h.patch @@ -1,10 +1,10 @@ diff --git a/chrome/renderer/worker_content_settings_client.h b/chrome/renderer/worker_content_settings_client.h -index 1a4aa335e4208d504470e51be8954857bae747be..807207bd7dee1e428c377e42c60c67ed39e968d2 100644 +index c3ae92129a6747b7c3344e5b40a61fbc09903460..845dc3751f9de768b34520d74a8b3ffd8302c190 100644 --- a/chrome/renderer/worker_content_settings_client.h +++ b/chrome/renderer/worker_content_settings_client.h -@@ -41,6 +41,7 @@ class WorkerContentSettingsClient : public blink::WebContentSettingsClient { - bool AllowScriptFromSource(bool enabled_per_settings, - const blink::WebURL& script_url) override; +@@ -39,6 +39,7 @@ class WorkerContentSettingsClient : public blink::WebContentSettingsClient { + bool AllowRunningInsecureContent(bool allowed_per_settings, + const blink::WebURL& url) override; bool ShouldAutoupgradeMixedContent() override; + BRAVE_WORKER_CONTENT_SETTINGS_CLIENT_H diff --git a/patches/components-content_settings-browser-page_specific_content_settings.cc.patch b/patches/components-content_settings-browser-page_specific_content_settings.cc.patch index 449a4ee82697..1b08203f590a 100644 --- a/patches/components-content_settings-browser-page_specific_content_settings.cc.patch +++ b/patches/components-content_settings-browser-page_specific_content_settings.cc.patch @@ -1,20 +1,20 @@ diff --git a/components/content_settings/browser/page_specific_content_settings.cc b/components/content_settings/browser/page_specific_content_settings.cc -index 68ae039115d398887f84bd5a8e3e91f080a33201..917116dea8a69c21573803c3103a1d0bc32cc995 100644 +index f0e16a91303229daa581931d5eb6a70cbf4a13d2..00462d5830c2f18baf33b690764abdd22c12b25c 100644 --- a/components/content_settings/browser/page_specific_content_settings.cc +++ b/components/content_settings/browser/page_specific_content_settings.cc -@@ -816,6 +816,7 @@ bool PageSpecificContentSettings::IsContentBlocked( +@@ -828,6 +828,7 @@ bool PageSpecificContentSettings::IsContentBlocked( content_type == ContentSettingsType::ADS || content_type == ContentSettingsType::SOUND || content_type == ContentSettingsType::CLIPBOARD_READ_WRITE || + content_type == ContentSettingsType::AUTOPLAY || content_type == ContentSettingsType::SENSORS || - content_type == ContentSettingsType::GEOLOCATION) { - const auto& it = content_settings_status_.find(content_type); -@@ -841,6 +842,7 @@ bool PageSpecificContentSettings::IsContentAllowed( + content_type == ContentSettingsType::GEOLOCATION || + content_type == ContentSettingsType::NOTIFICATIONS) { +@@ -854,6 +855,7 @@ bool PageSpecificContentSettings::IsContentAllowed( content_type != ContentSettingsType::MEDIASTREAM_CAMERA && content_type != ContentSettingsType::MIDI_SYSEX && content_type != ContentSettingsType::CLIPBOARD_READ_WRITE && + content_type != ContentSettingsType::AUTOPLAY && content_type != ContentSettingsType::SENSORS && - content_type != ContentSettingsType::GEOLOCATION) { - return false; + content_type != ContentSettingsType::GEOLOCATION && + content_type != ContentSettingsType::NOTIFICATIONS) { diff --git a/patches/components-content_settings-core-browser-content_settings_policy_provider.cc.patch b/patches/components-content_settings-core-browser-content_settings_policy_provider.cc.patch index 4c652e8d2a9e..6568bc80f5ee 100644 --- a/patches/components-content_settings-core-browser-content_settings_policy_provider.cc.patch +++ b/patches/components-content_settings-core-browser-content_settings_policy_provider.cc.patch @@ -1,5 +1,5 @@ diff --git a/components/content_settings/core/browser/content_settings_policy_provider.cc b/components/content_settings/core/browser/content_settings_policy_provider.cc -index 08eeb1722781a48335f5cddf39a0cb0ba87da8ca..3ad832b7dcf53e5cbc267fe0f5e896a2051e296d 100644 +index 088c159f20ebd8a5bf1b6440a4b39ada079f80a0..512eb3302d53b072eb2958e7ce536952dad1a75a 100644 --- a/components/content_settings/core/browser/content_settings_policy_provider.cc +++ b/components/content_settings/core/browser/content_settings_policy_provider.cc @@ -38,6 +38,7 @@ struct PrefsForManagedContentSettingsMapEntry { @@ -7,14 +7,14 @@ index 08eeb1722781a48335f5cddf39a0cb0ba87da8ca..3ad832b7dcf53e5cbc267fe0f5e896a2 constexpr PrefsForManagedContentSettingsMapEntry kPrefsForManagedContentSettingsMap[] = { + BRAVE_MANAGED_CONTENT_SETTINGS - {prefs::kManagedCookiesAllowedForUrls, ContentSettingsType::COOKIES, - CONTENT_SETTING_ALLOW}, - {prefs::kManagedCookiesBlockedForUrls, ContentSettingsType::COOKIES, -@@ -120,6 +121,7 @@ constexpr PrefsForManagedContentSettingsMapEntry + {prefs::kManagedAutomaticFullscreenAllowedForUrls, + ContentSettingsType::AUTOMATIC_FULLSCREEN, CONTENT_SETTING_ALLOW}, + {prefs::kManagedAutomaticFullscreenBlockedForUrls, +@@ -124,6 +125,7 @@ constexpr PrefsForManagedContentSettingsMapEntry }; constexpr const char* kManagedPrefs[] = { + BRAVE_MANAGED_PREFS + prefs::kManagedAutomaticFullscreenAllowedForUrls, + prefs::kManagedAutomaticFullscreenBlockedForUrls, prefs::kManagedAutoSelectCertificateForUrls, - prefs::kManagedClipboardAllowedForUrls, - prefs::kManagedClipboardBlockedForUrls, diff --git a/patches/components-content_settings-core-browser-content_settings_registry.cc.patch b/patches/components-content_settings-core-browser-content_settings_registry.cc.patch index 9826b6457125..aa047675be7f 100644 --- a/patches/components-content_settings-core-browser-content_settings_registry.cc.patch +++ b/patches/components-content_settings-core-browser-content_settings_registry.cc.patch @@ -1,10 +1,10 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc -index d7b1d4142abddb078838682445cb918dc0f7f9bb..35e133072943aeab9391aef78eec094ee90cbda5 100644 +index 4c6fe184aa191bb91f9a3331cab6b08665684798..5ff77d8962cbfab6db8a0ebc1a08c3d1ae3c5e58 100644 --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -730,6 +730,7 @@ void ContentSettingsRegistry::Init() { - WebsiteSettingsRegistry::ALL_PLATFORMS, - ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE, +@@ -740,6 +740,7 @@ void ContentSettingsRegistry::Init() { + WebsiteSettingsRegistry::DESKTOP, + ContentSettingsInfo::INHERIT_IN_INCOGNITO, ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); + BRAVE_INIT } diff --git a/patches/components-content_settings-core-common-content_settings_types.mojom.patch b/patches/components-content_settings-core-common-content_settings_types.mojom.patch index 3fbdae66b052..c081b95c717d 100644 --- a/patches/components-content_settings-core-common-content_settings_types.mojom.patch +++ b/patches/components-content_settings-core-common-content_settings_types.mojom.patch @@ -1,12 +1,12 @@ diff --git a/components/content_settings/core/common/content_settings_types.mojom b/components/content_settings/core/common/content_settings_types.mojom -index 5e704d5151311dad1550ce63487a9a7f4ea823e1..c2765f06bc2d3337f8b2ad687be9510092119734 100644 +index 406f182232279b9a5accaa530891de906455b1a1..1dc2cd19cf575f5b4811e523e9aa14fb1afbb6c3 100644 --- a/components/content_settings/core/common/content_settings_types.mojom +++ b/components/content_settings/core/common/content_settings_types.mojom -@@ -398,6 +398,21 @@ enum ContentSettingsType { - // Whether an application can enumerate audio output device. - SPEAKER_SELECTION, - -- +@@ -408,4 +408,22 @@ enum ContentSettingsType { + // Pointer Lock API allows a site to hide the cursor and have exclusive access + // to mouse inputs. + POINTER_LOCK, ++ + BRAVE_START, + BRAVE_ADS = BRAVE_START, + BRAVE_COSMETIC_FILTERING, @@ -23,5 +23,5 @@ index 5e704d5151311dad1550ce63487a9a7f4ea823e1..c2765f06bc2d3337f8b2ad687be95100 + BRAVE_HTTPS_UPGRADE, + BRAVE_REMEMBER_1P_STORAGE, + BRAVE_LOCALHOST_ACCESS, - NUM_TYPES, ++ NUM_TYPES, }; diff --git a/patches/components-infobars-core-infobar_delegate.h.patch b/patches/components-infobars-core-infobar_delegate.h.patch index 302457573926..82877858f000 100644 --- a/patches/components-infobars-core-infobar_delegate.h.patch +++ b/patches/components-infobars-core-infobar_delegate.h.patch @@ -1,11 +1,11 @@ diff --git a/components/infobars/core/infobar_delegate.h b/components/infobars/core/infobar_delegate.h -index 706319fdf5dea1cde8f5e08ecb82a9ab358e9588..2462c2b1e663e32f06125ca2f6033e05f7a83e04 100644 +index c90385e3fadc115ef75a95b175cacfaf7879ca4a..19690dd23f37d24c912d1153c0bf200df76cb316 100644 --- a/components/infobars/core/infobar_delegate.h +++ b/components/infobars/core/infobar_delegate.h -@@ -191,6 +191,7 @@ class InfoBarDelegate { - PARCEL_TRACKING_INFOBAR_DELEGATE = 117, +@@ -192,6 +192,7 @@ class InfoBarDelegate { TEST_THIRD_PARTY_COOKIE_PHASEOUT_DELEGATE = 118, ENABLE_LINK_CAPTURING_INFOBAR_DELEGATE = 119, + DEV_TOOLS_SHARED_PROCESS_DELEGATE = 120, + BRAVE_INFOBAR_DELEGATE_IDENTIFIERS }; diff --git a/patches/components-omnibox-browser-omnibox_edit_model.cc.patch b/patches/components-omnibox-browser-omnibox_edit_model.cc.patch index 0ab29a8c7c0a..6d566d64fef6 100644 --- a/patches/components-omnibox-browser-omnibox_edit_model.cc.patch +++ b/patches/components-omnibox-browser-omnibox_edit_model.cc.patch @@ -1,10 +1,10 @@ diff --git a/components/omnibox/browser/omnibox_edit_model.cc b/components/omnibox/browser/omnibox_edit_model.cc -index 38006c15566f2c74e8082901660979a66a95c7e0..e1951116a8b9eaf9f6b8d03e78e059ae0b4eaf2c 100644 +index 287448717ec88b25dc1a4c5fe7328030c00722e0..f2d48b36ff6f958aaf01b8ceea0338fa895a538f 100644 --- a/components/omnibox/browser/omnibox_edit_model.cc +++ b/components/omnibox/browser/omnibox_edit_model.cc -@@ -507,6 +507,7 @@ void OmniboxEditModel::AdjustTextForCopy(int sel_min, +@@ -502,6 +502,7 @@ void OmniboxEditModel::AdjustTextForCopy(int sel_min, (*text == display_text_ || *text == url_for_editing_)) { - *url_from_text = controller_->client()->GetLocationBarModel()->GetURL(); + *url_from_text = controller_->client()->GetNavigationEntryURL(); *write_url = true; + BRAVE_ADJUST_TEXT_FOR_COPY diff --git a/patches/components-permissions-permission_uma_util.cc.patch b/patches/components-permissions-permission_uma_util.cc.patch index 7abb99c74f2b..ba67d74f97e1 100644 --- a/patches/components-permissions-permission_uma_util.cc.patch +++ b/patches/components-permissions-permission_uma_util.cc.patch @@ -1,11 +1,11 @@ diff --git a/components/permissions/permission_uma_util.cc b/components/permissions/permission_uma_util.cc -index 8671406b669516792e7967de40f192a400d19413..fbc3ca98564e53038053f25be116d6b52fa73fa7 100644 +index 44a074877a9a4d23521b58079ee5f3026086ad82..c4d8f9d9383b37c47b3d9c1e59941f9c02c8fc3e 100644 --- a/components/permissions/permission_uma_util.cc +++ b/components/permissions/permission_uma_util.cc @@ -142,6 +142,7 @@ RequestTypeForUma GetUmaValueForRequestType(RequestType request_type) { - case RequestType::kCapturedSurfaceControl: - return RequestTypeForUma::CAPTURED_SURFACE_CONTROL; #endif + case RequestType::kIdentityProvider: + return RequestTypeForUma::PERMISSION_IDENTITY_PROVIDER; + BRAVE_GET_UMA_VALUE_FOR_REQUEST_TYPE } } diff --git a/patches/components-permissions-permission_util.cc.patch b/patches/components-permissions-permission_util.cc.patch index 6bd5c319805f..aa1be0af1245 100644 --- a/patches/components-permissions-permission_util.cc.patch +++ b/patches/components-permissions-permission_util.cc.patch @@ -1,9 +1,9 @@ diff --git a/components/permissions/permission_util.cc b/components/permissions/permission_util.cc -index 92ccf50905c56305669204ba575606827676b79c..7f8605c9f911ad7a4f686130eda4d99a0cf2d0bf 100644 +index 86d92b177d04fca82f3a8f005a2c2b0dd3c68725..ce93530c5cc0e618dfc3ff781220b00b47044b51 100644 --- a/components/permissions/permission_util.cc +++ b/components/permissions/permission_util.cc -@@ -343,6 +343,7 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingTypeSafe( - return ContentSettingsType::SPEAKER_SELECTION; +@@ -353,6 +353,7 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingTypeSafe( + return ContentSettingsType::POINTER_LOCK; case PermissionType::NUM: break; + PERMISSION_UTIL_PERMISSION_TYPE_TO_CONTENT_SETTINGS_TYPE diff --git a/patches/components-permissions-request_type.cc.patch b/patches/components-permissions-request_type.cc.patch index 63672c2e4666..ba80aa96e28b 100644 --- a/patches/components-permissions-request_type.cc.patch +++ b/patches/components-permissions-request_type.cc.patch @@ -1,11 +1,11 @@ diff --git a/components/permissions/request_type.cc b/components/permissions/request_type.cc -index f66f790dd83fcf27e865eec1d8a2a98838d35f48..8ebf68e3522f53104630600d4efe6b788a7d4437 100644 +index eca3d2d54100507d2f7fd47c746c1d2ad80a8cca..29e13105e5dc6da32bfbb8b7eebb618060978280 100644 --- a/components/permissions/request_type.cc +++ b/components/permissions/request_type.cc -@@ -468,6 +468,7 @@ const char* PermissionKeyForRequestType(permissions::RequestType request_type) { - return "window_management"; - } +@@ -445,6 +445,7 @@ const char* PermissionKeyForRequestType(permissions::RequestType request_type) { #endif + case permissions::RequestType::kIdentityProvider: + return "identity_provider"; + BRAVE_PERMISSION_KEY_FOR_REQUEST_TYPE } diff --git a/patches/ios-chrome-browser-shared-model-prefs-browser_prefs.mm.patch b/patches/ios-chrome-browser-shared-model-prefs-browser_prefs.mm.patch index 6b8f30bfe114..b7a03e6a4257 100644 --- a/patches/ios-chrome-browser-shared-model-prefs-browser_prefs.mm.patch +++ b/patches/ios-chrome-browser-shared-model-prefs-browser_prefs.mm.patch @@ -1,8 +1,8 @@ diff --git a/ios/chrome/browser/shared/model/prefs/browser_prefs.mm b/ios/chrome/browser/shared/model/prefs/browser_prefs.mm -index f9cd984bcee58e89f0033f0e1fb1c72dce67a4c9..4eb825f1c40bd219a4fadaf3ffbbb858ac80dbb9 100644 +index 2fcb293b9ffb61a5deb8e21404d8b29cfa97dcee..d23564a16caaf781465051b6776f1d19901ab958 100644 --- a/ios/chrome/browser/shared/model/prefs/browser_prefs.mm +++ b/ios/chrome/browser/shared/model/prefs/browser_prefs.mm -@@ -498,6 +498,7 @@ void RegisterLocalStatePrefs(PrefRegistrySimple* registry) { +@@ -505,6 +505,7 @@ void RegisterLocalStatePrefs(PrefRegistrySimple* registry) { registry->RegisterStringPref(kIOSChromeNextVersionKey, std::string()); registry->RegisterStringPref(kIOSChromeUpgradeURLKey, std::string()); registry->RegisterTimePref(kLastInfobarDisplayTimeKey, base::Time()); @@ -10,10 +10,10 @@ index f9cd984bcee58e89f0033f0e1fb1c72dce67a4c9..4eb825f1c40bd219a4fadaf3ffbbb858 } void RegisterBrowserStatePrefs(user_prefs::PrefRegistrySyncable* registry) { -@@ -752,6 +753,7 @@ void RegisterBrowserStatePrefs(user_prefs::PrefRegistrySyncable* registry) { - registry->RegisterTimePref(kLastCookieDeletionDate, base::Time()); +@@ -765,6 +766,7 @@ void RegisterBrowserStatePrefs(user_prefs::PrefRegistrySyncable* registry) { + PrefRegistry::LOSSY_PREF); - registry->RegisterDictionaryPref(prefs::kWebAnnotationsPolicy); + registry->RegisterBooleanPref(prefs::kUserAgentWasChanged, false); + BRAVE_REGISTER_BROWSER_STATE_PREFS } diff --git a/patches/net-BUILD.gn.patch b/patches/net-BUILD.gn.patch index 06bc11d6a78e..8511bd0bc352 100644 --- a/patches/net-BUILD.gn.patch +++ b/patches/net-BUILD.gn.patch @@ -1,12 +1,12 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn -index 0bd4954d54cf0eb7a04fbf794360899c07260fed..9cb53fe1d8ff6a60d2ab9cb19b72751bd345c76a 100644 +index 0e5d94a0bce317761852f0bc43ac1d3010a8a351..6972f413834e7cdf922300720f91ba62fb2e3ff9 100644 --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1094,6 +1094,7 @@ component("net") { +@@ -1098,6 +1098,7 @@ component("net") { "reporting/reporting_uploader.h", ] } + sources += brave_net_sources - if (is_android) { + if (enable_device_bound_sessions) { sources += [ diff --git a/patches/third_party-rust-anyhow-v1-BUILD.gn.patch b/patches/third_party-rust-anyhow-v1-BUILD.gn.patch index 2e37cccd0e2c..04f30da00598 100644 --- a/patches/third_party-rust-anyhow-v1-BUILD.gn.patch +++ b/patches/third_party-rust-anyhow-v1-BUILD.gn.patch @@ -1,10 +1,10 @@ diff --git a/third_party/rust/anyhow/v1/BUILD.gn b/third_party/rust/anyhow/v1/BUILD.gn -index 75cebe9b2206ddff644da12c2188751d9e8ea5c0..4d810b1b524d943597228945cdf93a2e5dc7d3d8 100644 +index 60c7399819c6c381b778601b6c74356a4dcd4131..758abb9c6644f894e1568d527df4fcf9cdf732b0 100644 --- a/third_party/rust/anyhow/v1/BUILD.gn +++ b/third_party/rust/anyhow/v1/BUILD.gn @@ -47,5 +47,4 @@ cargo_crate("lib") { - "//third_party/rust/chromium_crates_io/vendor/anyhow-1.0.79/build.rs" + "//third_party/rust/chromium_crates_io/vendor/anyhow-1.0.80/build.rs" build_sources = - [ "//third_party/rust/chromium_crates_io/vendor/anyhow-1.0.79/build.rs" ] + [ "//third_party/rust/chromium_crates_io/vendor/anyhow-1.0.80/build.rs" ] - testonly = true } diff --git a/patches/third_party-rust-serde-v1-BUILD.gn.patch b/patches/third_party-rust-serde-v1-BUILD.gn.patch index 3cfdfe42d6cf..bfa368a6af04 100644 --- a/patches/third_party-rust-serde-v1-BUILD.gn.patch +++ b/patches/third_party-rust-serde-v1-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/third_party/rust/serde/v1/BUILD.gn b/third_party/rust/serde/v1/BUILD.gn -index 899413a1c5587988ed01ac114d29710c7c1f8033..db228cf07077e67e41b0baff0b163f70ae7e6212 100644 +index 1598d8655d5b934aabc3a2e3d71c8709f9e07428..3ce4df34c6452c9f20db96208afda4e69c10ab01 100644 --- a/third_party/rust/serde/v1/BUILD.gn +++ b/third_party/rust/serde/v1/BUILD.gn @@ -55,6 +55,7 @@ cargo_crate("lib") { @@ -8,5 +8,5 @@ index 899413a1c5587988ed01ac114d29710c7c1f8033..db228cf07077e67e41b0baff0b163f70 ] + features += [ "alloc", "rc" ] build_root = - "//third_party/rust/chromium_crates_io/vendor/serde-1.0.196/build.rs" + "//third_party/rust/chromium_crates_io/vendor/serde-1.0.197/build.rs" build_sources = diff --git a/patches/third_party-rust-serde_json-v1-BUILD.gn.patch b/patches/third_party-rust-serde_json-v1-BUILD.gn.patch index 37cc87c0ed6d..01a83cf7f9fd 100644 --- a/patches/third_party-rust-serde_json-v1-BUILD.gn.patch +++ b/patches/third_party-rust-serde_json-v1-BUILD.gn.patch @@ -1,10 +1,10 @@ diff --git a/third_party/rust/serde_json/v1/BUILD.gn b/third_party/rust/serde_json/v1/BUILD.gn -index 0bbb0ce299691050fa144462e0a8d14f0cd198b7..d93b8e92e647bda7e09c4f329a1815d544dce293 100644 +index 22601bbeacc06c97193160b96803cef4f9484c8d..2b3b8181c315846444611bd9fdd19ef67a7e5129 100644 --- a/third_party/rust/serde_json/v1/BUILD.gn +++ b/third_party/rust/serde_json/v1/BUILD.gn @@ -79,5 +79,4 @@ cargo_crate("lib") { build_sources = [ - "//third_party/rust/chromium_crates_io/vendor/serde_json-1.0.113/build.rs", + "//third_party/rust/chromium_crates_io/vendor/serde_json-1.0.114/build.rs", ] - testonly = true } diff --git a/patches/tools-typescript-ts_library.gni.patch b/patches/tools-typescript-ts_library.gni.patch index d94ec2d9fabb..b8d5cf58cc28 100644 --- a/patches/tools-typescript-ts_library.gni.patch +++ b/patches/tools-typescript-ts_library.gni.patch @@ -1,12 +1,12 @@ diff --git a/tools/typescript/ts_library.gni b/tools/typescript/ts_library.gni -index 3750d3f841c61a89b4232cc91f6874b4af12c344..c038dc1a3fc43100945ee7d791f043f1808da83a 100644 +index 3750d3f841c61a89b4232cc91f6874b4af12c344..362c306c3e9ebbbcdef3fac15831b02f98e3d996 100644 --- a/tools/typescript/ts_library.gni +++ b/tools/typescript/ts_library.gni -@@ -150,6 +150,7 @@ template("ts_library") { - # other ts_library() deps are automatically inferred from |deps| in - # path_mappings.py. Don't add any such mappings here. - ] -+ import("//brave/tools/typescript/sources.gni") foreach(mapping, brave_path_mappings) { path_mappings += [ mapping[0] + rebase_path(mapping[1], target_gen_dir) ] } +@@ -168,6 +168,7 @@ template("ts_library") { + ] + } - # The |platform| flag is used in path_mappings.py and validate_tsconfig.py, - # to limit some logic to certain platforms, like preventing special iOS ++ import("//brave/tools/typescript/sources.gni") foreach(mapping, brave_path_mappings) { path_mappings += [ mapping[0] + rebase_path(mapping[1], target_gen_dir) ] } + args += [ "--path_mappings" ] + path_mappings + if (defined(invoker.path_mappings)) { + args += invoker.path_mappings From f173359a4d059b1b9f45c98403c023bf6b9c0254 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Wed, 27 Mar 2024 17:00:32 -0300 Subject: [PATCH 003/130] Update patches from Chromium 123.0.6312.105 to Chromium 124.0.6367.29. --- patches/base-BUILD.gn.patch | 8 ++-- ...base-threading-thread_restrictions.h.patch | 4 +- patches/build-android-gyp-lint.py.patch | 4 +- patches/build-android-gyp-proguard.py.patch | 4 +- patches/build-config-BUILDCONFIG.gn.patch | 2 +- ...ld-config-android-internal_rules.gni.patch | 4 +- patches/build-config-android-rules.gni.patch | 2 +- patches/build-config-compiler-BUILD.gn.patch | 2 +- patches/chrome-BUILD.gn.patch | 26 +++++------ patches/chrome-android-BUILD.gn.patch | 20 ++++----- ...rome-android-chrome_java_sources.gni.patch | 4 +- ...e-android-chrome_public_apk_tmpl.gni.patch | 8 ++-- ...d-expectations-lint-suppressions.xml.patch | 4 +- ...ome-android-features-tab_ui-BUILD.gn.patch | 4 +- ...rowser-feed-FeedSurfaceMediator.java.patch | 4 +- ...ions-NotificationPlatformBridge.java.patch | 10 ++--- ...cations-NotificationServiceImpl.java.patch | 4 +- ...rivacy-settings-PrivacySettings.java.patch | 8 ++-- ...ync-settings-ManageSyncSettings.java.patch | 4 +- ...ed_mode-TabbedRootUiCoordinator.java.patch | 4 +- patches/chrome-app-BUILD.gn.patch | 4 +- patches/chrome-browser-BUILD.gn.patch | 4 +- patches/chrome-browser-about_flags.cc.patch | 6 +-- ...rowsing_data-browsing_data_bridge.cc.patch | 4 +- ...hrome-browser-browser_process_impl.h.patch | 2 +- ...owser-download-download_item_model.h.patch | 4 +- ...wnload-download_target_determiner.cc.patch | 6 +-- ...r-download-internal-android-BUILD.gn.patch | 2 +- .../chrome-browser-extensions-BUILD.gn.patch | 4 +- ..._private-extension_info_generator.cc.patch | 4 +- ...r-extensions-extension_management.cc.patch | 4 +- ...ser-extensions-extension_tab_util.cc.patch | 2 +- ...rotocol-external_protocol_handler.cc.patch | 4 +- ...ter-external_process_importer_host.h.patch | 4 +- ...t-profile_network_context_service.cc.patch | 4 +- ...et-system_network_context_manager.cc.patch | 2 +- ...annels-ChromeChannelDefinitions.java.patch | 8 ++-- ...hrome-browser-prefs-browser_prefs.cc.patch | 6 +-- ...les-bookmark_model_loaded_observer.h.patch | 2 +- ...ext_menu-render_view_context_menu.cc.patch | 4 +- ...text_menu-render_view_context_menu.h.patch | 4 +- ...r-resources-downloads-downloads.html.patch | 4 +- ...e-browser-resources-history-BUILD.gn.patch | 4 +- ...browser-resources-history-history.ts.patch | 2 +- ...-resources-history-history_item.html.patch | 2 +- ...-resources-password_manager-BUILD.gn.patch | 2 +- ...-browser-resources-settings-BUILD.gn.patch | 4 +- ...ettings-people_page-sync_controls.ts.patch | 2 +- ...vacy_page-personalization_options.ts.patch | 2 +- ...tings-privacy_page-privacy_page.html.patch | 2 +- ...ettings-privacy_page-privacy_page.ts.patch | 2 +- ...-browser-resources-settings-route.ts.patch | 4 +- ...browser-resources-settings-router.ts.patch | 4 +- ...owser-resources-settings-settings.ts.patch | 2 +- ...-settings-site_settings-constants.ts.patch | 4 +- ...ings_category_default_radio_group.ts.patch | 4 +- ..._settings_page-site_settings_page.ts.patch | 2 +- ...el-bookmarks-power_bookmarks_list.ts.patch | 2 +- ...heck_client_download_request_base.cc.patch | 4 +- ...-account_consistency_mode_manager.cc.patch | 4 +- ...browser-sync-sync_service_factory.cc.patch | 2 +- patches/chrome-browser-ui-BUILD.gn.patch | 6 +-- ...rowser-ui-actions-chrome_action_id.h.patch | 4 +- ...ui-android-appmenu-internal-BUILD.gn.patch | 2 +- ...-browser-ui-android-toolbar-BUILD.gn.patch | 2 +- ...rowser-toolbar-top-ToolbarPhone.java.patch | 6 +-- ...owser-toolbar-top-ToolbarTablet.java.patch | 6 +-- patches/chrome-browser-ui-browser.cc.patch | 2 +- ...hrome-browser-ui-browser_ui_prefs.cc.patch | 4 +- .../chrome-browser-ui-chrome_pages.cc.patch | 4 +- .../chrome-browser-ui-color-BUILD.gn.patch | 4 +- ...r-ui-omnibox-chrome_omnibox_client.h.patch | 2 +- ...-ui-side_panel-side_panel_entry_id.h.patch | 2 +- .../chrome-browser-ui-tab_helpers.cc.patch | 4 +- ...me-browser-ui-tabs-tab_strip_model.h.patch | 4 +- ...oolbar-recent_tabs_sub_menu_model.cc.patch | 6 +-- ...cent_tabs_sub_menu_model_unittest.cc.patch | 2 +- ...views-bookmarks-bookmark_bar_view.cc.patch | 2 +- ...ws-bookmarks-bookmark_bubble_view.cc.patch | 6 +-- ...ws-location_bar-location_bar_view.cc.patch | 6 +-- ...ews-location_bar-location_bar_view.h.patch | 8 ++-- ...verlay-video_overlay_window_views.cc.patch | 6 +-- ...-page_info-page_info_view_factory.cc.patch | 4 +- ...ermission_prompt_bubble_base_view.cc.patch | 4 +- ...ews-profiles-avatar_toolbar_button.h.patch | 4 +- ...ws-profiles-profile_menu_view_base.h.patch | 4 +- .../chrome-browser-ui-views-tabs-tab.cc.patch | 2 +- ...ws-tabs-tab_hover_card_bubble_view.h.patch | 2 +- ...e-browser-ui-views-tabs-tab_strip.cc.patch | 8 ++-- ...ser-ui-views-toolbar-toolbar_view.cc.patch | 2 +- ...-chrome_web_ui_controller_factory.cc.patch | 4 +- ...owser-ui-webui-history-history_ui.cc.patch | 4 +- ...-ui-webui-settings-people_handler.cc.patch | 8 ++-- ...ttings_localized_strings_provider.cc.patch | 4 +- ...ome-browser-ui-webui-theme_source.cc.patch | 2 +- ..._integration-web_app_shortcut_mac.mm.patch | 4 +- patches/chrome-common-BUILD.gn.patch | 4 +- ...extensions-api-developer_private.idl.patch | 2 +- ...tensions-chrome_extensions_client.cc.patch | 2 +- patches/chrome-renderer-BUILD.gn.patch | 4 +- ...er-chrome_content_renderer_client.cc.patch | 6 +-- ...rer-chrome_content_renderer_client.h.patch | 4 +- patches/chrome-test-BUILD.gn.patch | 4 +- ...me-test-data-webui-settings-BUILD.gn.patch | 4 +- patches/chrome-utility-BUILD.gn.patch | 2 +- ...-content_settings_policy_provider.cc.patch | 4 +- ...ore-browser-content_settings_pref.cc.patch | 4 +- ...browser-content_settings_registry.cc.patch | 4 +- ...browser-content_settings_uma_util.cc.patch | 4 +- ...re-browser-content_settings_utils.cc.patch | 2 +- ...-core-common-cookie_settings_base.cc.patch | 6 +-- ...s-core-common-cookie_settings_base.h.patch | 2 +- ...derer-content_settings_agent_impl.cc.patch | 4 +- ...nderer-content_settings_agent_impl.h.patch | 4 +- ...sh-core-browser-resources-crashes.ts.patch | 4 +- ...nternal-common-download_item_impl.cc.patch | 4 +- ...embedder_support-user_agent_utils.cc.patch | 2 +- ...history-core-browser-history_types.h.patch | 2 +- ...nts-infobars-core-infobar_delegate.h.patch | 4 +- ...idump_uploader-MinidumpUploader.java.patch | 2 +- .../components-omnibox-browser-BUILD.gn.patch | 6 +-- ...x-browser-autocomplete_controller.cc.patch | 6 +-- patches/components-page_info-BUILD.gn.patch | 4 +- .../components-page_info-page_info.cc.patch | 4 +- ...ore-browser-password_form_filling.cc.patch | 4 +- ...ser-password_store-login_database.cc.patch | 4 +- patches/components-permissions-BUILD.gn.patch | 4 +- ...prompt-permission_dialog_delegate.cc.patch | 2 +- ...s-permissions-permission_uma_util.cc.patch | 2 +- ...licy-tools-generate_policy_source.py.patch | 4 +- ...late_writers-writer_configuration.py.patch | 4 +- ...g-core-common-safe_browsing_prefs.cc.patch | 2 +- .../components-search_engines-BUILD.gn.patch | 4 +- ...ch_engines-default_search_manager.cc.patch | 4 +- ...ch_engines-prepopulated_engines.json.patch | 2 +- patches/components-strings-BUILD.gn.patch | 2 +- ...s-sync-engine-sync_scheduler_impl.cc.patch | 4 +- ...nents-sync-protocol-proto_visitors.h.patch | 6 +-- ...s-sync-protocol-protocol_sources.gni.patch | 4 +- ...nts-sync-service-sync_service_impl.h.patch | 4 +- ...linux-system_media_controls_linux.cc.patch | 6 +-- ...-content-renderer-translate_agent.cc.patch | 2 +- ...coa-render_widget_host_view_cocoa.mm.patch | 4 +- ...tent-browser-gpu-gpu_internals_ui.cc.patch | 4 +- ...r_host-navigation_controller_impl.cc.patch | 2 +- ...-renderer_host-navigation_request.cc.patch | 6 +-- ...derer_host-render_frame_host_impl.cc.patch | 8 ++-- ...t-browser-resources-gpu-info_view.ts.patch | 2 +- ...er-web_contents-web_contents_impl.cc.patch | 4 +- ...ygote_host-zygote_host_impl_linux.cc.patch | 4 +- patches/content-common-BUILD.gn.patch | 2 +- patches/content-common-frame.mojom.patch | 2 +- patches/content-common-user_agent.cc.patch | 4 +- ...ontent-renderer-render_frame_impl.cc.patch | 4 +- ...ntent-renderer-render_thread_impl.cc.patch | 2 +- .../crypto-unexportable_key_metrics.cc.patch | 8 ++-- ...xtension_web_request_event_router.cc.patch | 4 +- ...nsions-browser-user_script_manager.h.patch | 6 +-- ...r-native_extension_bindings_system.h.patch | 2 +- patches/ios-chrome-app-BUILD.gn.patch | 4 +- ...-chrome-browser-flags-about_flags.mm.patch | 4 +- ...ngs-checks-mojom_attributes_check.py.patch | 2 +- patches/net-BUILD.gn.patch | 4 +- patches/net-cookies-canonical_cookie.cc.patch | 4 +- patches/net-dns-BUILD.gn.patch | 4 +- ...net-dns-host_resolver_manager_job.cc.patch | 4 +- .../sandbox-policy-win-sandbox_win.cc.patch | 2 +- patches/sandbox-win-BUILD.gn.patch | 2 +- ...ices-network-cors-cors_url_loader.cc.patch | 4 +- ...services-network-public-cpp-BUILD.gn.patch | 4 +- .../third_party-android_deps-BUILD.gn.patch | 4 +- ...-common-client_hints-client_hints.cc.patch | 2 +- ...mmon-permissions-permission_utils.cc.patch | 2 +- .../third_party-blink-renderer-BUILD.gn.patch | 2 +- ...rty-blink-renderer-bindings-BUILD.gn.patch | 4 +- ...bindings-core-v8-v8_script_runner.cc.patch | 6 +-- ...er-bindings-generated_in_modules.gni.patch | 4 +- ...renderer-bindings-idl_in_modules.gni.patch | 4 +- ...ndings-scripts-bind_gen-interface.py.patch | 4 +- ...d_party-blink-renderer-core-BUILD.gn.patch | 4 +- ...erer-core-dom-events-event_target.cc.patch | 4 +- ...ink-renderer-core-frame-dom_window.h.patch | 2 +- ...derer-core-frame-local_dom_window.cc.patch | 4 +- ...e-html-canvas-html_canvas_element.cc.patch | 2 +- ...re-html-canvas-html_canvas_element.h.patch | 4 +- ...core-loader-mixed_content_checker.cc.patch | 2 +- ...cy-permissions_policy_features.json5.patch | 2 +- ...re-script-dynamic_module_resolver.cc.patch | 4 +- ...enderer-core-script-script_loader.cc.patch | 4 +- ...arty-blink-renderer-modules-BUILD.gn.patch | 2 +- ...anvas2d-base_rendering_context_2d.cc.patch | 8 ++-- ...r_request_media_key_system_access.cc.patch | 4 +- ...modules-mediastream-media_devices.cc.patch | 4 +- ...odules-scheduler-scheduled_action.cc.patch | 4 +- ...bgl-webgl2_rendering_context_base.cc.patch | 8 ++-- ...ebgl-webgl_rendering_context_base.cc.patch | 44 +++++++++---------- ...-websockets-websocket_channel_impl.h.patch | 6 +-- ...rty-blink-renderer-platform-BUILD.gn.patch | 4 +- ...form-bindings-idl_member_installer.h.patch | 4 +- ...platform-fonts-font_fallback_list.cc.patch | 2 +- ...tform-runtime_enabled_features.json5.patch | 10 ++--- .../third_party-rust-log-v0_4-BUILD.gn.patch | 2 +- ...ty-rust-regex_automata-v0_4-BUILD.gn.patch | 2 +- .../third_party-rust-semver-v1-BUILD.gn.patch | 2 +- .../third_party-rust-syn-v2-BUILD.gn.patch | 2 +- ...ry-internal-actions-action_runner.py.patch | 4 +- ...-android_browser_backend_settings.py.patch | 4 +- .../catapult/tracing-tracing_project.py.patch | 4 +- ...plication-ApplicationPanelSidebar.ts.patch | 4 +- patches/tools-crates-gnrt-lib-gn.rs.patch | 6 +-- .../tools-crates-gnrt-lib-platforms.rs.patch | 4 +- ...tools-gritsettings-resource_ids.spec.patch | 8 ++-- patches/tools-licenses-licenses.py.patch | 6 +-- ...metadata-histogram_suffixes_list.xml.patch | 4 +- ...tograms-metadata-page-histograms.xml.patch | 4 +- .../tools-perf-process_perf_results.py.patch | 2 +- patches/tools-typescript-ts_library.gni.patch | 2 +- patches/tools-typescript-ts_library.py.patch | 4 +- ...y-platform-ax_platform_node_cocoa.mm.patch | 4 +- .../ui-native_theme-native_theme_win.cc.patch | 4 +- .../ui-native_theme-native_theme_win.h.patch | 2 +- patches/ui-webui-resources-BUILD.gn.patch | 4 +- ...webui-resources-cr_elements-BUILD.gn.patch | 4 +- ...dio_button-cr_radio_button_style.css.patch | 2 +- ...urces-cr_elements-cr_shared_vars.css.patch | 2 +- ...cr_elements-cr_toolbar-cr_toolbar.ts.patch | 4 +- ...ebui-resources-tools-build_webui.gni.patch | 8 ++-- patches/v8/BUILD.gn.patch | 6 +-- patches/v8/src-codegen-compiler.cc.patch | 4 +- 229 files changed, 481 insertions(+), 481 deletions(-) diff --git a/patches/base-BUILD.gn.patch b/patches/base-BUILD.gn.patch index 42e0730ebeca..78353186c1a1 100644 --- a/patches/base-BUILD.gn.patch +++ b/patches/base-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn -index a989a351a87650d33342cc8eea9d719bcad31fb6..6a266d17d905c8ac0e14a586c76eafffdf8a2814 100644 +index 25356ec40cdbf63c89ccc4b05245b00d65e0739a..d4aee10c897450e6f761bea521dc1eeac26280b8 100644 --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -4550,6 +4550,7 @@ if (is_android) { +@@ -4595,6 +4595,7 @@ if (is_android) { "android/java/src/org/chromium/base/task/ThreadPoolTaskExecutor.java", "android/java/src/org/chromium/base/task/UiThreadTaskExecutor.java", ] @@ -10,7 +10,7 @@ index a989a351a87650d33342cc8eea9d719bcad31fb6..6a266d17d905c8ac0e14a586c76eafff if (use_clang_profiling) { sources += [ -@@ -4588,6 +4589,7 @@ if (is_android) { +@@ -4633,6 +4634,7 @@ if (is_android) { "android/java/src/org/chromium/base/shared_preferences/SharedPreferencesManager.java", "android/java/src/org/chromium/base/shared_preferences/StrictPreferenceKeyChecker.java", ] @@ -18,7 +18,7 @@ index a989a351a87650d33342cc8eea9d719bcad31fb6..6a266d17d905c8ac0e14a586c76eafff } android_library("base_cached_flags_java") { -@@ -4614,6 +4616,7 @@ if (is_android) { +@@ -4659,6 +4661,7 @@ if (is_android) { "android/java/src/org/chromium/base/cached_flags/ValuesOverridden.java", "android/java/src/org/chromium/base/cached_flags/ValuesReturned.java", ] diff --git a/patches/base-threading-thread_restrictions.h.patch b/patches/base-threading-thread_restrictions.h.patch index 07e6929e29ca..27b9dfabf905 100644 --- a/patches/base-threading-thread_restrictions.h.patch +++ b/patches/base-threading-thread_restrictions.h.patch @@ -1,8 +1,8 @@ diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h -index 0c6f557a44b83a3a40e5dbde8a436272788680bc..2754bbb7037001db3f5bbae10f5c52c8a2399056 100644 +index e9b8366361706dcd5977fe9cdba221026770a3c5..912d0f43e4aff3a81701dd47904d2ed9a44e2663 100644 --- a/base/threading/thread_restrictions.h +++ b/base/threading/thread_restrictions.h -@@ -727,6 +727,7 @@ class BASE_EXPORT [[maybe_unused, nodiscard]] ScopedAllowBaseSyncPrimitives { +@@ -728,6 +728,7 @@ class BASE_EXPORT [[maybe_unused, nodiscard]] ScopedAllowBaseSyncPrimitives { ScopedAllowBaseSyncPrimitives& operator=( const ScopedAllowBaseSyncPrimitives&) = delete; diff --git a/patches/build-android-gyp-lint.py.patch b/patches/build-android-gyp-lint.py.patch index 5173cd03462c..0c8809551b86 100644 --- a/patches/build-android-gyp-lint.py.patch +++ b/patches/build-android-gyp-lint.py.patch @@ -1,8 +1,8 @@ diff --git a/build/android/gyp/lint.py b/build/android/gyp/lint.py -index 75f9b598d2a1c956a9a5d6e0ab987350bd0f64c7..f9e25d8b1287be4a57bfb5ae73bccd01f750b0c6 100755 +index 9b2845e4c8ffe04aa9eb208262df5ef20bfb55d2..9cc7c557a1804092b7cfea7244aae5f393b05cf4 100755 --- a/build/android/gyp/lint.py +++ b/build/android/gyp/lint.py -@@ -547,5 +547,6 @@ def main(): +@@ -549,5 +549,6 @@ def main(): action_helpers.write_depfile(args.depfile, args.stamp, depfile_deps) diff --git a/patches/build-android-gyp-proguard.py.patch b/patches/build-android-gyp-proguard.py.patch index 5fe562aec5e2..8caecd6662ed 100644 --- a/patches/build-android-gyp-proguard.py.patch +++ b/patches/build-android-gyp-proguard.py.patch @@ -1,8 +1,8 @@ diff --git a/build/android/gyp/proguard.py b/build/android/gyp/proguard.py -index f5f4e8e11e25fd35054ebcbc23870bff82608e21..faf0ee2b6797eb3efc7718f17600c8064b93def8 100755 +index 6e9743f8c749c507cd5d8c5f2b98306ff0fe5b97..6bb01fbf520899ddf071e57a3a502975eb2dc6a3 100755 --- a/build/android/gyp/proguard.py +++ b/build/android/gyp/proguard.py -@@ -334,6 +334,7 @@ def _OptimizeWithR8(options, config_paths, libraries, dynamic_config_data): +@@ -342,6 +342,7 @@ def _OptimizeWithR8(options, config_paths, libraries, dynamic_config_data): '--pg-map-output', tmp_mapping_path, ] diff --git a/patches/build-config-BUILDCONFIG.gn.patch b/patches/build-config-BUILDCONFIG.gn.patch index ffb6c5bea01c..317d1f42c49a 100644 --- a/patches/build-config-BUILDCONFIG.gn.patch +++ b/patches/build-config-BUILDCONFIG.gn.patch @@ -1,5 +1,5 @@ diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn -index 894e82b45b8bc675faf94623829606c117671e93..841ee31e933ad02321c151c2784608a91b198663 100644 +index 26a23e459a62ddb6adff2748a70882aaa091a40a..acc8d6382b6a00935b2c01840a9dfd0a9fd5825c 100644 --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn @@ -329,6 +329,7 @@ is_posix = !is_win && !is_fuchsia diff --git a/patches/build-config-android-internal_rules.gni.patch b/patches/build-config-android-internal_rules.gni.patch index a35ff916a5b1..bec9fe37fa01 100644 --- a/patches/build-config-android-internal_rules.gni.patch +++ b/patches/build-config-android-internal_rules.gni.patch @@ -1,8 +1,8 @@ diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni -index b1bf874b29ed21dab8263c1e170076974f34c5a6..0862f5a3476cdfc489b090eb50b0edb81a042c76 100644 +index e2f3f9566b158d67fd554194d6e1c51b20064eed..69e77fc9c7ffe1c2e8bf5c1ee74f1c2be6b1f8ec 100644 --- a/build/config/android/internal_rules.gni +++ b/build/config/android/internal_rules.gni -@@ -4069,6 +4069,7 @@ if (enable_java_templates) { +@@ -4074,6 +4074,7 @@ if (enable_java_templates) { } else { not_needed(invoker, [ "missing_classes_allowlist" ]) } diff --git a/patches/build-config-android-rules.gni.patch b/patches/build-config-android-rules.gni.patch index adaaac4cca95..247c154b52a2 100644 --- a/patches/build-config-android-rules.gni.patch +++ b/patches/build-config-android-rules.gni.patch @@ -1,5 +1,5 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni -index 693c79cca13978fdef4fdbec142aac207f9815ff..cb3e262a918e042694d7a04175741ca90e103355 100644 +index 0929028a119b68a76d8e56e5f5e299e41d81c6e4..33e1c1f8e2f21825583a3d4bd1f1a76b6c08290b 100644 --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni @@ -213,6 +213,7 @@ if (enable_java_templates && is_android) { diff --git a/patches/build-config-compiler-BUILD.gn.patch b/patches/build-config-compiler-BUILD.gn.patch index bc816296b531..f4d0f737d60e 100644 --- a/patches/build-config-compiler-BUILD.gn.patch +++ b/patches/build-config-compiler-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 3c7b4d82d0b4675597b4d67b5ed40f62e229512f..56092de9e91df34cf6406d0fd8f1c1c51742f1b0 100644 +index bd7dd25175f1e6b32107545d12415fe45f3e792d..2f20aca5923a1b981b52e2a85b5c6e3738952a83 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn @@ -591,7 +591,6 @@ config("compiler") { diff --git a/patches/chrome-BUILD.gn.patch b/patches/chrome-BUILD.gn.patch index cea643c6e300..7d2c01de037c 100644 --- a/patches/chrome-BUILD.gn.patch +++ b/patches/chrome-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn -index 650ae8ca482ab1438cf670718bf369038b852f2d..688891ad8c308e2cf7c9212f54b0e6f4fceffe29 100644 +index a107e48cbe9d50d2794df3ebadc785e146324f62..7c272b7b6e8c277ce0566bd7d03a9884dc1ca8f3 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -187,6 +187,7 @@ if (!is_android && !is_mac) { +@@ -188,6 +188,7 @@ if (!is_android && !is_mac) { "common/crash_keys.cc", "common/crash_keys.h", ] @@ -10,7 +10,7 @@ index 650ae8ca482ab1438cf670718bf369038b852f2d..688891ad8c308e2cf7c9212f54b0e6f4 deps += [ ":chrome_dll", -@@ -501,11 +502,12 @@ if (is_win) { +@@ -506,11 +507,12 @@ if (is_win) { args += [ "--keystone=0" ] } } @@ -24,7 +24,7 @@ index 650ae8ca482ab1438cf670718bf369038b852f2d..688891ad8c308e2cf7c9212f54b0e6f4 extra_substitutions = [ "CHROMIUM_BUNDLE_ID=$chrome_mac_bundle_id", "CHROMIUM_SHORT_NAME=$chrome_product_short_name", -@@ -525,6 +527,7 @@ if (is_win) { +@@ -530,6 +532,7 @@ if (is_win) { "//chrome/common:buildflags", "//chrome/common:version_header", ] @@ -32,7 +32,7 @@ index 650ae8ca482ab1438cf670718bf369038b852f2d..688891ad8c308e2cf7c9212f54b0e6f4 if (enable_updater) { deps += [ ":chromium_updater_privileged_helper" ] -@@ -667,6 +670,7 @@ if (is_win) { +@@ -672,6 +675,7 @@ if (is_win) { # this dependency directly copies the file into the framework's # resources directory. public_deps += [ ":chrome_framework_widevine_signature" ] @@ -40,7 +40,7 @@ index 650ae8ca482ab1438cf670718bf369038b852f2d..688891ad8c308e2cf7c9212f54b0e6f4 } } -@@ -710,9 +714,11 @@ if (is_win) { +@@ -715,9 +719,11 @@ if (is_win) { "--scm=0", ] } @@ -52,7 +52,7 @@ index 650ae8ca482ab1438cf670718bf369038b852f2d..688891ad8c308e2cf7c9212f54b0e6f4 if (is_chrome_branded && include_branded_entitlements) { # These entitlements are bound to the official Google Chrome signing # certificate and will not necessarily work in any other build. -@@ -737,6 +743,7 @@ if (is_win) { +@@ -742,6 +748,7 @@ if (is_win) { info_plist_target = invoker.info_plist_target } else { info_plist_target = ":chrome_helper_plist" @@ -60,7 +60,7 @@ index 650ae8ca482ab1438cf670718bf369038b852f2d..688891ad8c308e2cf7c9212f54b0e6f4 } extra_substitutions = [ -@@ -917,6 +924,7 @@ if (is_win) { +@@ -922,6 +929,7 @@ if (is_win) { sources += [ "//third_party/updater/chrome_mac_universal_prod/${updater_product_full_name}.app" ] } else { sources += [ "$root_out_dir/${updater_product_full_name}.app" ] @@ -68,7 +68,7 @@ index 650ae8ca482ab1438cf670718bf369038b852f2d..688891ad8c308e2cf7c9212f54b0e6f4 public_deps += [ "//chrome/updater/mac:browser_install_script", -@@ -1230,6 +1238,7 @@ if (is_win) { +@@ -1235,6 +1243,7 @@ if (is_win) { "-current_version", chrome_dylib_version, ] @@ -76,7 +76,7 @@ index 650ae8ca482ab1438cf670718bf369038b852f2d..688891ad8c308e2cf7c9212f54b0e6f4 if (!is_component_build) { # Specify a sensible install_name for static builds. The library is -@@ -1410,6 +1419,7 @@ if (is_win) { +@@ -1415,6 +1424,7 @@ if (is_win) { group("dependencies") { public_deps = [ @@ -84,7 +84,7 @@ index 650ae8ca482ab1438cf670718bf369038b852f2d..688891ad8c308e2cf7c9212f54b0e6f4 "//build:branding_buildflags", "//build:chromeos_buildflags", "//chrome/browser", -@@ -1473,7 +1483,7 @@ group("dependencies") { +@@ -1478,7 +1488,7 @@ group("dependencies") { if (is_win) { process_version_rc_template("chrome_exe_version") { @@ -93,7 +93,7 @@ index 650ae8ca482ab1438cf670718bf369038b852f2d..688891ad8c308e2cf7c9212f54b0e6f4 output = "$target_gen_dir/chrome_exe_version.rc" } -@@ -1522,6 +1532,7 @@ group("resources") { +@@ -1527,6 +1537,7 @@ group("resources") { "//chrome/browser:resources", "//chrome/common:resources", "//chrome/renderer:resources", @@ -101,7 +101,7 @@ index 650ae8ca482ab1438cf670718bf369038b852f2d..688891ad8c308e2cf7c9212f54b0e6f4 ] } -@@ -1575,6 +1586,7 @@ if (!is_android) { +@@ -1580,6 +1591,7 @@ if (!is_android) { if (enable_resource_allowlist_generation) { repack_allowlist = _chrome_resource_allowlist deps = [ ":resource_allowlist" ] diff --git a/patches/chrome-android-BUILD.gn.patch b/patches/chrome-android-BUILD.gn.patch index 3811803b7974..ca067239082b 100644 --- a/patches/chrome-android-BUILD.gn.patch +++ b/patches/chrome-android-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn -index d3e324f0f6fbbc17088b321edae228e0debce440..86a3fba12e8a723e9a5edd05b6cc34d9126148c1 100644 +index ff6f69a25e60bd03378fba1d3d8efc3b52c3acf0..e7e62cd071e9f8bf1740702d410a553727330ae3 100644 --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -164,6 +164,7 @@ if (current_toolchain == default_toolchain) { +@@ -191,6 +191,7 @@ if (current_toolchain == default_toolchain) { "java/res_chromium_base/mipmap-xxxhdpi/layered_app_icon_background.png", "java/res_chromium_base/values/channel_constants.xml", ] @@ -10,7 +10,7 @@ index d3e324f0f6fbbc17088b321edae228e0debce440..86a3fba12e8a723e9a5edd05b6cc34d9 } android_resources("chrome_app_java_resources") { -@@ -241,6 +242,7 @@ if (current_toolchain == default_toolchain) { +@@ -270,6 +271,7 @@ if (current_toolchain == default_toolchain) { } else { deps += [ "//components/plus_addresses/android:java_resources" ] } @@ -18,7 +18,7 @@ index d3e324f0f6fbbc17088b321edae228e0debce440..86a3fba12e8a723e9a5edd05b6cc34d9 } android_library("app_hooks_java") { -@@ -675,6 +677,7 @@ if (current_toolchain == default_toolchain) { +@@ -713,6 +715,7 @@ if (current_toolchain == default_toolchain) { ] deps += feed_deps @@ -26,7 +26,7 @@ index d3e324f0f6fbbc17088b321edae228e0debce440..86a3fba12e8a723e9a5edd05b6cc34d9 srcjar_deps = [ ":chrome_android_java_enums_srcjar", -@@ -693,6 +696,7 @@ if (current_toolchain == default_toolchain) { +@@ -731,6 +734,7 @@ if (current_toolchain == default_toolchain) { "//components/supervised_user/core/browser:supervised_user_utils_enum_javagen", "//net:effective_connection_type_java", ] @@ -34,7 +34,7 @@ index d3e324f0f6fbbc17088b321edae228e0debce440..86a3fba12e8a723e9a5edd05b6cc34d9 # From java_sources.gni. sources = chrome_java_sources + [ app_hooks_impl ] -@@ -835,6 +839,7 @@ if (current_toolchain == default_toolchain) { +@@ -877,6 +881,7 @@ if (current_toolchain == default_toolchain) { "//components/messages/android/internal:java", "//components/segmentation_platform/internal:internal_java", ] @@ -42,7 +42,7 @@ index d3e324f0f6fbbc17088b321edae228e0debce440..86a3fba12e8a723e9a5edd05b6cc34d9 } action_with_pydeps("chrome_android_java_google_api_keys_srcjar") { -@@ -2151,6 +2156,7 @@ if (current_toolchain == default_toolchain) { +@@ -2200,6 +2205,7 @@ if (current_toolchain == default_toolchain) { "java/res_chromium_base/mipmap-xxxhdpi/layered_app_icon_background.png", "java/res_chromium_base/values/channel_constants.xml", ] @@ -50,7 +50,7 @@ index d3e324f0f6fbbc17088b321edae228e0debce440..86a3fba12e8a723e9a5edd05b6cc34d9 # Dep needed to ensure override works properly. deps = [ ":chrome_base_module_resources" ] -@@ -2363,6 +2369,7 @@ if (current_toolchain == default_toolchain) { +@@ -2412,6 +2418,7 @@ if (current_toolchain == default_toolchain) { ":${_variant}_locale_pak_assets", ":${_variant}_paks", ] @@ -58,7 +58,7 @@ index d3e324f0f6fbbc17088b321edae228e0debce440..86a3fba12e8a723e9a5edd05b6cc34d9 if (_is_monochrome) { deps += [ "//android_webview:locale_pak_assets" ] } -@@ -2626,6 +2633,7 @@ if (current_toolchain == default_toolchain) { +@@ -2681,6 +2688,7 @@ if (current_toolchain == default_toolchain) { "//components/payments/content/android:service_java", "//third_party/androidx:androidx_browser_browser_java", ] @@ -66,7 +66,7 @@ index d3e324f0f6fbbc17088b321edae228e0debce440..86a3fba12e8a723e9a5edd05b6cc34d9 # More deps for DFMs. if (dfmify_dev_ui) { -@@ -3736,6 +3744,7 @@ generate_jni("chrome_jni_headers") { +@@ -3767,6 +3775,7 @@ generate_jni("chrome_jni_headers") { "java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java", "java/src/org/chromium/chrome/browser/webapps/WebappRegistry.java", ] diff --git a/patches/chrome-android-chrome_java_sources.gni.patch b/patches/chrome-android-chrome_java_sources.gni.patch index b02b402970e4..cd0e4de2da6d 100644 --- a/patches/chrome-android-chrome_java_sources.gni.patch +++ b/patches/chrome-android-chrome_java_sources.gni.patch @@ -1,8 +1,8 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni -index c31339d4fbf79bfc9277270051b59d8aaa372bb2..dfbdc238cadeea6028ebd98665d2d0138712080b 100644 +index 6406705f094a1b3e682314d1d7e38204cd9c94eb..2201315468cd50d8f46e8945bc0b2e80ac1e4fde 100644 --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -1235,3 +1235,4 @@ chrome_java_sources = [ +@@ -1238,3 +1238,4 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/webauth/authenticator/CableAuthenticatorUSBActivity.java", "java/src/org/chromium/chrome/browser/webshare/ShareServiceImplementationFactory.java", ] diff --git a/patches/chrome-android-chrome_public_apk_tmpl.gni.patch b/patches/chrome-android-chrome_public_apk_tmpl.gni.patch index 0110f5162af4..876d97fb7731 100644 --- a/patches/chrome-android-chrome_public_apk_tmpl.gni.patch +++ b/patches/chrome-android-chrome_public_apk_tmpl.gni.patch @@ -1,8 +1,8 @@ diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni -index df3d58c8bade42ce87ff75a3ded8ce014fe6d6a9..8b40bff381fe06b4f4e31ac40b5cb5c678ac0883 100644 +index fd6e0d5513e5cfc4340b6989abf22108d017d4a3..04fb8cd508dfa786cc7cc4b4fc0a79b3558933fb 100644 --- a/chrome/android/chrome_public_apk_tmpl.gni +++ b/chrome/android/chrome_public_apk_tmpl.gni -@@ -317,6 +317,7 @@ template("chrome_common_apk_or_module_tmpl") { +@@ -318,6 +318,7 @@ template("chrome_common_apk_or_module_tmpl") { "*ic_file_download_white*", # Bottom edge seems misaligned. "*ic_lock.*", # Bottom edge seems misaligned. ] @@ -10,7 +10,7 @@ index df3d58c8bade42ce87ff75a3ded8ce014fe6d6a9..8b40bff381fe06b4f4e31ac40b5cb5c6 # Most of these, with the exception of resource_exclusion_exceptions, # are currently duplicated in system_webview_apk_tmpl.gni. -@@ -341,6 +342,7 @@ template("chrome_common_apk_or_module_tmpl") { +@@ -342,6 +343,7 @@ template("chrome_common_apk_or_module_tmpl") { proguard_enabled = true proguard_configs = [ "//chrome/android/proguard/main.flags" ] @@ -18,7 +18,7 @@ index df3d58c8bade42ce87ff75a3ded8ce014fe6d6a9..8b40bff381fe06b4f4e31ac40b5cb5c6 if (_is_monochrome) { proguard_configs += [ "//android_webview/nonembedded/java/proguard.flags" ] -@@ -729,6 +731,7 @@ template("chrome_common_apk_or_module_tmpl") { +@@ -750,6 +752,7 @@ template("chrome_common_apk_or_module_tmpl") { "version_code", "version_name", ]) diff --git a/patches/chrome-android-expectations-lint-suppressions.xml.patch b/patches/chrome-android-expectations-lint-suppressions.xml.patch index 07b472df250b..44c40c1e614a 100644 --- a/patches/chrome-android-expectations-lint-suppressions.xml.patch +++ b/patches/chrome-android-expectations-lint-suppressions.xml.patch @@ -1,8 +1,8 @@ diff --git a/chrome/android/expectations/lint-suppressions.xml b/chrome/android/expectations/lint-suppressions.xml -index c25f917f4ccb020705829ae34f307f01d4250b18..50ba9ffb95f49362558b74dd7ef0b81ba8261bfc 100644 +index 65ac2e34addcb0200706e26bad48645cb5576bad..947416cb58a9c829a192993de94bdc058129fbc5 100644 --- a/chrome/android/expectations/lint-suppressions.xml +++ b/chrome/android/expectations/lint-suppressions.xml -@@ -277,4 +277,5 @@ https://chromium.googlesource.com/chromium/src/+/main/build/android/docs/lint.md +@@ -272,4 +272,5 @@ https://chromium.googlesource.com/chromium/src/+/main/build/android/docs/lint.md diff --git a/patches/chrome-android-features-tab_ui-BUILD.gn.patch b/patches/chrome-android-features-tab_ui-BUILD.gn.patch index 7fd69f720f8c..1322399c06e2 100644 --- a/patches/chrome-android-features-tab_ui-BUILD.gn.patch +++ b/patches/chrome-android-features-tab_ui-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/chrome/android/features/tab_ui/BUILD.gn b/chrome/android/features/tab_ui/BUILD.gn -index bb27efb8f31b4dc225c1e22898cbfa7394e3a986..e5e8042f382928d4a10acf544ea5bb2aa949ea3c 100644 +index eebba562f7d77af6dca6470aa416ad1bd3f36354..024519017b01a9d157ce47e2ab013e2cb04712f9 100644 --- a/chrome/android/features/tab_ui/BUILD.gn +++ b/chrome/android/features/tab_ui/BUILD.gn -@@ -99,6 +99,7 @@ android_resources("java_resources") { +@@ -103,6 +103,7 @@ android_resources("java_resources") { "java/res/values/ids.xml", "java/res/values/styles.xml", ] diff --git a/patches/chrome-android-feed-core-java-src-org-chromium-chrome-browser-feed-FeedSurfaceMediator.java.patch b/patches/chrome-android-feed-core-java-src-org-chromium-chrome-browser-feed-FeedSurfaceMediator.java.patch index b715fe656179..0fa5438ed51c 100644 --- a/patches/chrome-android-feed-core-java-src-org-chromium-chrome-browser-feed-FeedSurfaceMediator.java.patch +++ b/patches/chrome-android-feed-core-java-src-org-chromium-chrome-browser-feed-FeedSurfaceMediator.java.patch @@ -1,8 +1,8 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java -index 247c6d1987d7e1f489fc23c04bce9f1af4a3be37..e2c5cccb46fe308be85f61f8f21f9ea232bf5c22 100644 +index 4825163bc3caadfb304e3f9005b3215300f7735c..5c6b01a5260e0d34c532bfc9e1a079a5e41cc5ea 100644 --- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java +++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java -@@ -298,7 +298,7 @@ public class FeedSurfaceMediator +@@ -299,7 +299,7 @@ public class FeedSurfaceMediator // Start is showing, update the value of Pref.ENABLE_SNIPPETS_BY_DSE here. The // value should be updated before adding an observer to prevent an extra call of // updateContent(). diff --git a/patches/chrome-android-java-src-org-chromium-chrome-browser-notifications-NotificationPlatformBridge.java.patch b/patches/chrome-android-java-src-org-chromium-chrome-browser-notifications-NotificationPlatformBridge.java.patch index 52f58000c3f0..1170fcd23b64 100644 --- a/patches/chrome-android-java-src-org-chromium-chrome-browser-notifications-NotificationPlatformBridge.java.patch +++ b/patches/chrome-android-java-src-org-chromium-chrome-browser-notifications-NotificationPlatformBridge.java.patch @@ -1,8 +1,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java -index b0e54227e04907f04be5b1beaf271fb70e4d40f4..911bc478609228c28bddfcffb8846b7785ecdfe6 100644 +index 3cad8d266abf42a10e6de1fc42b6d10e202f899f..dd48ad0aea49e1e8ea5f5cef3f87cc7fa78ae41d 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java -@@ -96,7 +96,7 @@ public class NotificationPlatformBridge { +@@ -97,7 +97,7 @@ public class NotificationPlatformBridge { // TODO(crbug.com/1521424): Fine tune this duration, and possibly turn it off for A11Y users. private static final long PROVISIONAL_UNSUBSCRIBE_DURATION_MS = 10 * 1000; @@ -11,7 +11,7 @@ index b0e54227e04907f04be5b1beaf271fb70e4d40f4..911bc478609228c28bddfcffb8846b77 private static NotificationManagerProxy sNotificationManagerOverride; -@@ -119,7 +119,7 @@ public class NotificationPlatformBridge { +@@ -120,7 +120,7 @@ public class NotificationPlatformBridge { private TrustedWebActivityClient mTwaClient; /** Encapsulates attributes that identify a notification and where it originates from. */ @@ -20,7 +20,7 @@ index b0e54227e04907f04be5b1beaf271fb70e4d40f4..911bc478609228c28bddfcffb8846b77 public final String notificationId; public final @NotificationType int notificationType; public final String origin; -@@ -185,7 +185,7 @@ public class NotificationPlatformBridge { +@@ -186,7 +186,7 @@ public class NotificationPlatformBridge { sNotificationManagerOverride = notificationManager; } @@ -29,7 +29,7 @@ index b0e54227e04907f04be5b1beaf271fb70e4d40f4..911bc478609228c28bddfcffb8846b77 mNativeNotificationPlatformBridge = nativeNotificationPlatformBridge; Context context = ContextUtils.getApplicationContext(); if (sNotificationManagerOverride != null) { -@@ -793,7 +793,7 @@ public class NotificationPlatformBridge { +@@ -814,7 +814,7 @@ public class NotificationPlatformBridge { .storeNotificationResourcesIfSuspended(notification); } diff --git a/patches/chrome-android-java-src-org-chromium-chrome-browser-notifications-NotificationServiceImpl.java.patch b/patches/chrome-android-java-src-org-chromium-chrome-browser-notifications-NotificationServiceImpl.java.patch index 42bbaea504a7..e4c766f91cf3 100644 --- a/patches/chrome-android-java-src-org-chromium-chrome-browser-notifications-NotificationServiceImpl.java.patch +++ b/patches/chrome-android-java-src-org-chromium-chrome-browser-notifications-NotificationServiceImpl.java.patch @@ -1,8 +1,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationServiceImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationServiceImpl.java -index b14852f5727b2084923719a8c4e94b48c2f2ad5d..7126a556b6ee395a99f942c470842d1f94d10486 100644 +index 7aa74c3482f9ebd1b7715c02ee874abfa3ad49ae..172da4329160cddf2c4f84607fabde3fc4003c55 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationServiceImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationServiceImpl.java -@@ -175,7 +175,7 @@ public class NotificationServiceImpl extends NotificationService.Impl { +@@ -182,7 +182,7 @@ public class NotificationServiceImpl extends NotificationService.Impl { .recordIntentHandlerJobStage( NotificationUmaTracker.IntentHandlerJobStage.DISPATCH_EVENT, intent.getAction()); diff --git a/patches/chrome-android-java-src-org-chromium-chrome-browser-privacy-settings-PrivacySettings.java.patch b/patches/chrome-android-java-src-org-chromium-chrome-browser-privacy-settings-PrivacySettings.java.patch index a61b432ecf2c..ca5f6e0d243f 100644 --- a/patches/chrome-android-java-src-org-chromium-chrome-browser-privacy-settings-PrivacySettings.java.patch +++ b/patches/chrome-android-java-src-org-chromium-chrome-browser-privacy-settings-PrivacySettings.java.patch @@ -1,8 +1,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -index 6d36f86cc96e8c1c6f2bee8b103664ff35b59779..6bc15955db5f3809620e04dff38e3a506724ce62 100644 +index 1c26a9f482f0759dc50898a95717cdc6e382f5ac..a5329a2eadaf22c60e346367d0d7c28a3ba65c9e 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -54,7 +54,7 @@ import org.chromium.ui.text.NoUnderlineClickableSpan; +@@ -56,7 +56,7 @@ import org.chromium.ui.text.NoUnderlineClickableSpan; import org.chromium.ui.text.SpanApplier; /** Fragment to keep track of the all the privacy related preferences. */ @@ -11,7 +11,7 @@ index 6d36f86cc96e8c1c6f2bee8b103664ff35b59779..6bc15955db5f3809620e04dff38e3a50 implements Preference.OnPreferenceChangeListener { private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment"; private static final String PREF_PRELOAD_PAGES = "preload_pages"; -@@ -367,6 +367,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -402,6 +402,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { menu.clear(); @@ -19,7 +19,7 @@ index 6d36f86cc96e8c1c6f2bee8b103664ff35b59779..6bc15955db5f3809620e04dff38e3a50 MenuItem help = menu.add(Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_help); help.setIcon( -@@ -381,6 +382,6 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -416,6 +417,6 @@ public class PrivacySettings extends ChromeBaseSettingsFragment .show(getActivity(), getString(R.string.help_context_privacy), null); return true; } diff --git a/patches/chrome-android-java-src-org-chromium-chrome-browser-sync-settings-ManageSyncSettings.java.patch b/patches/chrome-android-java-src-org-chromium-chrome-browser-sync-settings-ManageSyncSettings.java.patch index a42f9a074551..bdc6b796db36 100644 --- a/patches/chrome-android-java-src-org-chromium-chrome-browser-sync-settings-ManageSyncSettings.java.patch +++ b/patches/chrome-android-java-src-org-chromium-chrome-browser-sync-settings-ManageSyncSettings.java.patch @@ -1,5 +1,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java -index 328759788286bbd297ae2f255018905e3a8593fd..ec20eaccbe558ffab63e3dac0e6ef099ea5d9f5b 100644 +index 32f1750d53ef256ad27da2526e50f998ca3472dd..8f07095fba13afe4f341979b4a1ef5417e9bc1d9 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java @@ -51,7 +51,7 @@ import org.chromium.chrome.browser.sync.ui.PassphraseCreationDialogFragment; @@ -11,7 +11,7 @@ index 328759788286bbd297ae2f255018905e3a8593fd..ec20eaccbe558ffab63e3dac0e6ef099 import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher; import org.chromium.components.browser_ui.settings.SettingsLauncher; -@@ -377,7 +377,7 @@ public class ManageSyncSettings extends ChromeBaseSettingsFragment +@@ -390,7 +390,7 @@ public class ManageSyncSettings extends ChromeBaseSettingsFragment .getIdentityManager(getProfile()) .getPrimaryAccountInfo(ConsentLevel.SYNC)); // May happen if account is removed from the device while this screen is shown. diff --git a/patches/chrome-android-java-src-org-chromium-chrome-browser-tabbed_mode-TabbedRootUiCoordinator.java.patch b/patches/chrome-android-java-src-org-chromium-chrome-browser-tabbed_mode-TabbedRootUiCoordinator.java.patch index 5ed05fd736d4..fa4c8e0e086c 100644 --- a/patches/chrome-android-java-src-org-chromium-chrome-browser-tabbed_mode-TabbedRootUiCoordinator.java.patch +++ b/patches/chrome-android-java-src-org-chromium-chrome-browser-tabbed_mode-TabbedRootUiCoordinator.java.patch @@ -1,8 +1,8 @@ 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 -index 2ada6eac3fd85d22c66f3fb7091b06f6e52aef1f..c56e767c3077f9fbbc995edacae126edca580aa0 100644 +index a8f6b64648920684ff9aae27385318ff8aa90f3f..c7f8dd0072cc5ce14c5c41bbfd85726dfdcb5076 100644 --- 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 -@@ -907,7 +907,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -908,7 +908,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { NotificationPermissionController.attach( mWindowAndroid, mNotificationPermissionController); diff --git a/patches/chrome-app-BUILD.gn.patch b/patches/chrome-app-BUILD.gn.patch index c0380c58d69a..e09b1c16ee21 100644 --- a/patches/chrome-app-BUILD.gn.patch +++ b/patches/chrome-app-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/chrome/app/BUILD.gn b/chrome/app/BUILD.gn -index f621c80a6276407736c39511bb262c09a10c91cc..4e867666d83fe4bacaaa9961a85b2c3aaeb1fe23 100644 +index c4f3bad4b54b7067c25e8763f2b7f7676f0a22f6..b0beb550b31e248ebd80726408f3c0c8a46f7e3c 100644 --- a/chrome/app/BUILD.gn +++ b/chrome/app/BUILD.gn -@@ -107,6 +107,7 @@ grit("generated_resources") { +@@ -108,6 +108,7 @@ grit("generated_resources") { if (is_android) { outputs += android_generated_java_resources } diff --git a/patches/chrome-browser-BUILD.gn.patch b/patches/chrome-browser-BUILD.gn.patch index 723db6493bd1..343c4637fb89 100644 --- a/patches/chrome-browser-BUILD.gn.patch +++ b/patches/chrome-browser-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index e9c28ab05bd012216864a0de1afcfcad421adb7a..e243c97b1fbed54bd60e1e106ffe93a712cea239 100644 +index e382658efba86d3c317699e4e5d5496409b09706..2fbd6fe28d03db6c06290450061058cf864480f5 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2690,6 +2690,7 @@ static_library("browser") { +@@ -2699,6 +2699,7 @@ static_library("browser") { "performance_monitor/metric_evaluator_helper_posix.h", ] } diff --git a/patches/chrome-browser-about_flags.cc.patch b/patches/chrome-browser-about_flags.cc.patch index 2f3891e652b7..77fe273eb6b3 100644 --- a/patches/chrome-browser-about_flags.cc.patch +++ b/patches/chrome-browser-about_flags.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index 7b6154b7c3494d706917da79d5fcefb524c91e54..4e9586cae1bb833178b180bf25ea4393b2cc9f4b 100644 +index c9e74052c7afbac65035e604647e4a7d545d2643..4f5573620ea6e0e2f8a61ea1009fa485453a6a57 100644 --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -3734,6 +3734,7 @@ const FeatureEntry::Choice kAccountBookmarksAndReadingListBehindOptInChoices[] = +@@ -3813,6 +3813,7 @@ const FeatureEntry::FeatureVariation kDefaultBrowserPromptRefreshVariations[] = // // When adding a new choice, add it to the end of the list. const FeatureEntry kFeatureEntries[] = { @@ -10,7 +10,7 @@ index 7b6154b7c3494d706917da79d5fcefb524c91e54..4e9586cae1bb833178b180bf25ea4393 // Include generated flags for flag unexpiry; see //docs/flag_expiry.md and // //tools/flags/generate_unexpire_flags.py. #include "build/chromeos_buildflags.h" -@@ -11227,6 +11228,7 @@ void GetStorage(Profile* profile, GetStorageCallback callback) { +@@ -11318,6 +11319,7 @@ void GetStorage(Profile* profile, GetStorageCallback callback) { bool ShouldSkipConditionalFeatureEntry(const flags_ui::FlagsStorage* storage, const FeatureEntry& entry) { diff --git a/patches/chrome-browser-android-browsing_data-browsing_data_bridge.cc.patch b/patches/chrome-browser-android-browsing_data-browsing_data_bridge.cc.patch index dd73a98e803a..0b4e763d8946 100644 --- a/patches/chrome-browser-android-browsing_data-browsing_data_bridge.cc.patch +++ b/patches/chrome-browser-android-browsing_data-browsing_data_bridge.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/android/browsing_data/browsing_data_bridge.cc b/chrome/browser/android/browsing_data/browsing_data_bridge.cc -index ee7ccfec6299983a8592a6e05eeb0c65b96e6a3d..416a92f2644b3862c9af60c4cc73199c69776bb4 100644 +index f9c2bb6c102047c45645c306803608f2cd285cf6..53f3b80c67de09cff7315ae7f6a50ac989ce93e5 100644 --- a/chrome/browser/android/browsing_data/browsing_data_bridge.cc +++ b/chrome/browser/android/browsing_data/browsing_data_bridge.cc -@@ -121,6 +121,7 @@ static void JNI_BrowsingDataBridge_ClearBrowsingData( +@@ -146,6 +146,7 @@ static void JNI_BrowsingDataBridge_ClearBrowsingData( remove_mask |= chrome_browsing_data_remover::DATA_TYPE_CONTENT_SETTINGS; break; case browsing_data::BrowsingDataType::DOWNLOADS: diff --git a/patches/chrome-browser-browser_process_impl.h.patch b/patches/chrome-browser-browser_process_impl.h.patch index f817ad1ceac7..8bde359a080d 100644 --- a/patches/chrome-browser-browser_process_impl.h.patch +++ b/patches/chrome-browser-browser_process_impl.h.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h -index e569e2d1a0dd038ff8aed837a3317b9f77dcdf58..7459809e99b572e21fcb2af10377d9c1e68f0e47 100644 +index b303ad32bec666a851e03f755494d2aa4e5f7c37..ff66c9333d90571005542646f5c96a434d432c1e 100644 --- a/chrome/browser/browser_process_impl.h +++ b/chrome/browser/browser_process_impl.h @@ -232,6 +232,7 @@ class BrowserProcessImpl : public BrowserProcess, diff --git a/patches/chrome-browser-download-download_item_model.h.patch b/patches/chrome-browser-download-download_item_model.h.patch index 6806854bf602..ed5113c82744 100644 --- a/patches/chrome-browser-download-download_item_model.h.patch +++ b/patches/chrome-browser-download-download_item_model.h.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/download/download_item_model.h b/chrome/browser/download/download_item_model.h -index a7fa23335dd8d0255433b269e96074595950d958..9a4aa185a1a0283b8ba0a24442417f6332510689 100644 +index 3cabacab9b33cbb753a6ba1f4ed855d0681743f7..a627c6cca79b42596a771db750df6314c1ff81c1 100644 --- a/chrome/browser/download/download_item_model.h +++ b/chrome/browser/download/download_item_model.h -@@ -144,6 +144,7 @@ class DownloadItemModel : public DownloadUIModel, +@@ -145,6 +145,7 @@ class DownloadItemModel : public DownloadUIModel, void OnDownloadDestroyed(download::DownloadItem* download) override; private: diff --git a/patches/chrome-browser-download-download_target_determiner.cc.patch b/patches/chrome-browser-download-download_target_determiner.cc.patch index b1991e7a23e2..c6f771da78d3 100644 --- a/patches/chrome-browser-download-download_target_determiner.cc.patch +++ b/patches/chrome-browser-download-download_target_determiner.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/browser/download/download_target_determiner.cc -index f5108b18c95a66b7eef01cfc96b97d89f860be47..941550bd790f9cba5576ce494807cef26178064c 100644 +index b68f470add6a6c8399cd197e05a50843863bf8ba..19be8db78bf4ac3557def3f50951faf3bd33b252 100644 --- a/chrome/browser/download/download_target_determiner.cc +++ b/chrome/browser/download/download_target_determiner.cc -@@ -1271,6 +1271,7 @@ DownloadFileType::DangerLevel DownloadTargetDeterminer::GetDangerLevel( +@@ -1275,6 +1275,7 @@ DownloadFileType::DangerLevel DownloadTargetDeterminer::GetDangerLevel( download_->GetDownloadSource() != download::DownloadSource::DRAG_AND_DROP; if (HasPromptedForPath() || confirmation_reason_ != DownloadConfirmationReason::NONE || @@ -10,7 +10,7 @@ index f5108b18c95a66b7eef01cfc96b97d89f860be47..941550bd790f9cba5576ce494807cef2 user_approved_path) { return DownloadFileType::NOT_DANGEROUS; } -@@ -1310,6 +1311,7 @@ DownloadFileType::DangerLevel DownloadTargetDeterminer::GetDangerLevel( +@@ -1314,6 +1315,7 @@ DownloadFileType::DangerLevel DownloadTargetDeterminer::GetDangerLevel( ui::PAGE_TRANSITION_FROM_ADDRESS_BAR) != 0 || (download_->HasUserGesture() && visits == VISITED_REFERRER))) return DownloadFileType::NOT_DANGEROUS; diff --git a/patches/chrome-browser-download-internal-android-BUILD.gn.patch b/patches/chrome-browser-download-internal-android-BUILD.gn.patch index 2a0b5cb88ae7..b57c76a94b3f 100644 --- a/patches/chrome-browser-download-internal-android-BUILD.gn.patch +++ b/patches/chrome-browser-download-internal-android-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/download/internal/android/BUILD.gn b/chrome/browser/download/internal/android/BUILD.gn -index 9895b3ef205d192223de2483cd306c0bd5181723..0066347e8cd4374bdd1e5dfe5f7995f0266f0804 100644 +index 2731bf67092b2f91ebf96ab5a2fee408046911c1..59b644368a48577ddba525f8c2c5c37cdd38e5bd 100644 --- a/chrome/browser/download/internal/android/BUILD.gn +++ b/chrome/browser/download/internal/android/BUILD.gn @@ -200,6 +200,7 @@ android_resources("java_resources") { diff --git a/patches/chrome-browser-extensions-BUILD.gn.patch b/patches/chrome-browser-extensions-BUILD.gn.patch index ace0a6edba4c..37b192734f7a 100644 --- a/patches/chrome-browser-extensions-BUILD.gn.patch +++ b/patches/chrome-browser-extensions-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn -index 2f5e88a288e6e8fa623a75ccdfaef54914d21e96..08554d0131c9b7e649465f50102ba5b6c015f6fb 100644 +index e488b14ebd3c0c046c72bab50a215fcae913e3f1..ec132492362ff3d18efeab77e92960b55a82bc1f 100644 --- a/chrome/browser/extensions/BUILD.gn +++ b/chrome/browser/extensions/BUILD.gn -@@ -1422,6 +1422,7 @@ static_library("extensions") { +@@ -1430,6 +1430,7 @@ static_library("extensions") { } else { sources += [ "api/braille_display_private/braille_controller_stub.cc" ] } diff --git a/patches/chrome-browser-extensions-api-developer_private-extension_info_generator.cc.patch b/patches/chrome-browser-extensions-api-developer_private-extension_info_generator.cc.patch index 4131ab22a039..5d19383ae165 100644 --- a/patches/chrome-browser-extensions-api-developer_private-extension_info_generator.cc.patch +++ b/patches/chrome-browser-extensions-api-developer_private-extension_info_generator.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc -index 74c0b1db664c25ab4bacf5d5e4d71f96ed5da460..9db7b2d2666c2d01b3028f964dec5b85af69d688 100644 +index 3e472faab4fb85ebbeed770d0d016c955d13a607..24f327d627d7e55fd4ae769ed2bee56a62a9d7ce 100644 --- a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc +++ b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc -@@ -658,6 +658,7 @@ void ExtensionInfoGenerator::CreateExtensionInfoHelper( +@@ -651,6 +651,7 @@ void ExtensionInfoGenerator::CreateExtensionInfoHelper( info->incognito_access.is_enabled = util::CanBeIncognitoEnabled(&extension); info->incognito_access.is_active = util::IsIncognitoEnabled(extension.id(), browser_context_); diff --git a/patches/chrome-browser-extensions-extension_management.cc.patch b/patches/chrome-browser-extensions-extension_management.cc.patch index a49d839d1a48..727724a4938c 100644 --- a/patches/chrome-browser-extensions-extension_management.cc.patch +++ b/patches/chrome-browser-extensions-extension_management.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc -index 16c5b86a6634535e1e5a48fb7f99a4a52f82c663..dfac18c4d83ea62d075fbae04507676b65fdfac5 100644 +index d967e337abf0cf263ac91b901dc624f105efe874..08b9e5a965c8cd7fd11a8f19fd3b56a9c2485cde 100644 --- a/chrome/browser/extensions/extension_management.cc +++ b/chrome/browser/extensions/extension_management.cc -@@ -939,6 +939,7 @@ ExtensionManagementFactory::BuildServiceInstanceForBrowserContext( +@@ -931,6 +931,7 @@ ExtensionManagementFactory::BuildServiceInstanceForBrowserContext( content::BrowserContext* context) const { TRACE_EVENT0("browser,startup", "ExtensionManagementFactory::BuildServiceInstanceFor"); diff --git a/patches/chrome-browser-extensions-extension_tab_util.cc.patch b/patches/chrome-browser-extensions-extension_tab_util.cc.patch index 277a4c8301b5..d395340b5ae8 100644 --- a/patches/chrome-browser-extensions-extension_tab_util.cc.patch +++ b/patches/chrome-browser-extensions-extension_tab_util.cc.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/extensions/extension_tab_util.cc b/chrome/browser/extensions/extension_tab_util.cc -index ea962bb6f7309b8bc36c0e8203e2dc7fe828bfd3..dcfbcb9891933d5370618d42e30bc6332c1028e0 100644 +index ec50f23732384f884f2a041debfc6b233551d464..de510bc64ef84a4812aec0333bcbcbe2f8cf9f28 100644 --- a/chrome/browser/extensions/extension_tab_util.cc +++ b/chrome/browser/extensions/extension_tab_util.cc @@ -902,6 +902,7 @@ bool ExtensionTabUtil::IsKillURL(const GURL& url) { diff --git a/patches/chrome-browser-external_protocol-external_protocol_handler.cc.patch b/patches/chrome-browser-external_protocol-external_protocol_handler.cc.patch index 1bbd2b4d0de1..48fd3734bcf4 100644 --- a/patches/chrome-browser-external_protocol-external_protocol_handler.cc.patch +++ b/patches/chrome-browser-external_protocol-external_protocol_handler.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/external_protocol/external_protocol_handler.cc b/chrome/browser/external_protocol/external_protocol_handler.cc -index 44d011b985cd892100ab7f0a5e6ff4db253a0910..441726f81b3608264f996f6b4f0b1cdd4c932fb1 100644 +index e5384635fe117d86c470f781f3f3e20cab07ece9..46fffa9553edb7bf4e8e9773dd71c7916a9a7f40 100644 --- a/chrome/browser/external_protocol/external_protocol_handler.cc +++ b/chrome/browser/external_protocol/external_protocol_handler.cc -@@ -349,7 +349,7 @@ ExternalProtocolHandler::BlockState ExternalProtocolHandler::GetBlockState( +@@ -369,7 +369,7 @@ ExternalProtocolHandler::BlockState ExternalProtocolHandler::GetBlockState( if (scheme == "mailto") { base::UmaHistogramEnumeration(kBlockStateMetric, BlockStateMetric::kAllowedDefaultMail); diff --git a/patches/chrome-browser-importer-external_process_importer_host.h.patch b/patches/chrome-browser-importer-external_process_importer_host.h.patch index deb4b0f66812..c8fbc72b417d 100644 --- a/patches/chrome-browser-importer-external_process_importer_host.h.patch +++ b/patches/chrome-browser-importer-external_process_importer_host.h.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/importer/external_process_importer_host.h b/chrome/browser/importer/external_process_importer_host.h -index a55ef6ae01873eff0d83d7ea82bfd506ca31566b..c22ff75ec50a6a030b175385b309b12dc7ae9c0c 100644 +index 7a543722cef41a13529638b59cfa09ffd25731c6..4577f6d13351b469f458d0a43187e73ea2870c71 100644 --- a/chrome/browser/importer/external_process_importer_host.h +++ b/chrome/browser/importer/external_process_importer_host.h -@@ -75,6 +75,7 @@ class ExternalProcessImporterHost +@@ -80,6 +80,7 @@ class ExternalProcessImporterHost void NotifyImportItemEnded(importer::ImportItem item); void NotifyImportEnded(); diff --git a/patches/chrome-browser-net-profile_network_context_service.cc.patch b/patches/chrome-browser-net-profile_network_context_service.cc.patch index 1a94cf44d4a2..8605a17fe189 100644 --- a/patches/chrome-browser-net-profile_network_context_service.cc.patch +++ b/patches/chrome-browser-net-profile_network_context_service.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc -index 0525b84f86b29df534a676443201efae46fd747a..8dc6fe2aa3760c5e0f73b9818d3bedd408a7605a 100644 +index e50641649a959a17233ebf36f1d92041e329146a..c6a45234683cccb541e9fcc0a6b6b439a65c0456 100644 --- a/chrome/browser/net/profile_network_context_service.cc +++ b/chrome/browser/net/profile_network_context_service.cc -@@ -513,6 +513,7 @@ network::mojom::CTPolicyPtr ProfileNetworkContextService::GetCTPolicy() { +@@ -517,6 +517,7 @@ network::mojom::CTPolicyPtr ProfileNetworkContextService::GetCTPolicy() { std::vector excluded_legacy_spkis( TranslateStringArray(ct_excluded_legacy_spkis)); diff --git a/patches/chrome-browser-net-system_network_context_manager.cc.patch b/patches/chrome-browser-net-system_network_context_manager.cc.patch index 3ff67ab7ad07..054b4f026cc8 100644 --- a/patches/chrome-browser-net-system_network_context_manager.cc.patch +++ b/patches/chrome-browser-net-system_network_context_manager.cc.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc -index c28a295b63f91ef2ed88a0a3a0caef6ae29f9b7a..56e21c085e94465665fd31bac0dbd53e9cbb20e2 100644 +index 22a62ad698fdb325b834a2fec3914441a30020d3..ba172ba7da580db4d7d680d99fe2e1f13bb59918 100644 --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc @@ -399,7 +399,7 @@ class SystemNetworkContextManager::URLLoaderFactoryForSystem diff --git a/patches/chrome-browser-notifications-android-java-src-org-chromium-chrome-browser-notifications-channels-ChromeChannelDefinitions.java.patch b/patches/chrome-browser-notifications-android-java-src-org-chromium-chrome-browser-notifications-channels-ChromeChannelDefinitions.java.patch index de2b2a508938..c6fa16617a82 100644 --- a/patches/chrome-browser-notifications-android-java-src-org-chromium-chrome-browser-notifications-channels-ChromeChannelDefinitions.java.patch +++ b/patches/chrome-browser-notifications-android-java-src-org-chromium-chrome-browser-notifications-channels-ChromeChannelDefinitions.java.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/channels/ChromeChannelDefinitions.java b/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/channels/ChromeChannelDefinitions.java -index cbfc8977af42ad50f5bf4ba4c4fad86952415019..04f138d878fd18a84ae23b648ded8174c887d988 100644 +index ecf1232e7808b0b136af7194615c1a65acbccead..74ef53079bcb47525e1c5f9f301553b0f886ee2b 100644 --- a/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/channels/ChromeChannelDefinitions.java +++ b/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/channels/ChromeChannelDefinitions.java @@ -78,6 +78,7 @@ public class ChromeChannelDefinitions extends ChannelDefinitions { @@ -10,7 +10,7 @@ index cbfc8977af42ad50f5bf4ba4c4fad86952415019..04f138d878fd18a84ae23b648ded8174 ChannelId.MEDIA_PLAYBACK, ChannelId.SCREEN_CAPTURE, ChannelId.CONTENT_SUGGESTIONS, -@@ -134,7 +135,8 @@ public class ChromeChannelDefinitions extends ChannelDefinitions { +@@ -132,7 +133,8 @@ public class ChromeChannelDefinitions extends ChannelDefinitions { String USB = "usb"; } @@ -20,7 +20,7 @@ index cbfc8977af42ad50f5bf4ba4c4fad86952415019..04f138d878fd18a84ae23b648ded8174 @Retention(RetentionPolicy.SOURCE) public @interface ChannelGroupId { String SITES = "sites"; -@@ -162,6 +164,7 @@ public class ChromeChannelDefinitions extends ChannelDefinitions { +@@ -160,6 +162,7 @@ public class ChromeChannelDefinitions extends ChannelDefinitions { Map map = new HashMap<>(); Set startup = new HashSet<>(); @@ -28,7 +28,7 @@ index cbfc8977af42ad50f5bf4ba4c4fad86952415019..04f138d878fd18a84ae23b648ded8174 map.put( ChannelId.BROWSER, PredefinedChannel.create( -@@ -402,6 +405,7 @@ public class ChromeChannelDefinitions extends ChannelDefinitions { +@@ -390,6 +393,7 @@ public class ChromeChannelDefinitions extends ChannelDefinitions { static { Map map = new HashMap<>(); diff --git a/patches/chrome-browser-prefs-browser_prefs.cc.patch b/patches/chrome-browser-prefs-browser_prefs.cc.patch index 893c5d495cdb..e245933950a6 100644 --- a/patches/chrome-browser-prefs-browser_prefs.cc.patch +++ b/patches/chrome-browser-prefs-browser_prefs.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc -index 2ab6e767c374164c6613688d46e9a2af1be5cbba..e95b24b7e4f359450e682997edf3f1259c66c996 100644 +index 9686c676b0f0b5befc0af58b2b6291733d9f0778..9073d139728ef839a53f04bc39e2616adc313ae4 100644 --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -1668,6 +1668,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1698,6 +1698,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { DeviceOAuth2TokenStoreDesktop::RegisterPrefs(registry); #endif @@ -11,7 +11,7 @@ index 2ab6e767c374164c6613688d46e9a2af1be5cbba..e95b24b7e4f359450e682997edf3f125 #if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) screen_ai::RegisterLocalStatePrefs(registry); #endif // BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) -@@ -2116,6 +2118,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -2145,6 +2147,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, #if BUILDFLAG(ENABLE_COMPOSE) registry->RegisterBooleanPref(prefs::kPrefHasCompletedComposeFRE, false); #endif diff --git a/patches/chrome-browser-profiles-bookmark_model_loaded_observer.h.patch b/patches/chrome-browser-profiles-bookmark_model_loaded_observer.h.patch index 8b7a39f11a05..b7f094962479 100644 --- a/patches/chrome-browser-profiles-bookmark_model_loaded_observer.h.patch +++ b/patches/chrome-browser-profiles-bookmark_model_loaded_observer.h.patch @@ -2,7 +2,7 @@ diff --git a/chrome/browser/profiles/bookmark_model_loaded_observer.h b/chrome/b index d2a19acb7815bb7f3b1b678657c9ff05b08a24b0..3a255af9e41e45442ed7fe330adf1c8715ae0ada 100644 --- a/chrome/browser/profiles/bookmark_model_loaded_observer.h +++ b/chrome/browser/profiles/bookmark_model_loaded_observer.h -@@ -19,6 +19,7 @@ class BookmarkModelLoadedObserver +@@ -26,6 +26,7 @@ class BookmarkModelLoadedObserver BookmarkModelLoadedObserver& operator=(const BookmarkModelLoadedObserver&) = delete; diff --git a/patches/chrome-browser-renderer_context_menu-render_view_context_menu.cc.patch b/patches/chrome-browser-renderer_context_menu-render_view_context_menu.cc.patch index c1f7c8c74128..7f0785e13bcc 100644 --- a/patches/chrome-browser-renderer_context_menu-render_view_context_menu.cc.patch +++ b/patches/chrome-browser-renderer_context_menu-render_view_context_menu.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc -index 25f2e8f6c4f0929ea38011e8f92c9b2d9df7bdf5..7dadaff979b90eb80abe79ae8bfea23a75014f16 100644 +index d182bc1b7bff26c469e7817d4cb4c1d2fbe4a90d..c7419677f676f0257ea49a4dcb95198fcea33c09 100644 --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc -@@ -2324,6 +2324,7 @@ void RenderViewContextMenu::AppendSearchProvider() { +@@ -2334,6 +2334,7 @@ void RenderViewContextMenu::AppendSearchProvider() { selection_navigation_url_ = match.destination_url; if (!selection_navigation_url_.is_valid()) return; diff --git a/patches/chrome-browser-renderer_context_menu-render_view_context_menu.h.patch b/patches/chrome-browser-renderer_context_menu-render_view_context_menu.h.patch index c439aa4dd719..068d2f69d510 100644 --- a/patches/chrome-browser-renderer_context_menu-render_view_context_menu.h.patch +++ b/patches/chrome-browser-renderer_context_menu-render_view_context_menu.h.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.h b/chrome/browser/renderer_context_menu/render_view_context_menu.h -index e4041eee0e29eb437022ab6b0363a79b83585073..246cea8d39e6a6760ac2f7c59d95abf90a543838 100644 +index 9634f1d7f34422643ee172a59e7a53562f8adc93..ddad04f3342493a3355e0cefd4a5bf3d0b8cb511 100644 --- a/chrome/browser/renderer_context_menu/render_view_context_menu.h +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.h -@@ -204,6 +204,7 @@ class RenderViewContextMenu +@@ -203,6 +203,7 @@ class RenderViewContextMenu // Returns true if keyboard lock is active and requires the user to press and // hold escape to exit exclusive access mode. bool IsPressAndHoldEscRequiredToExitFullscreen() const; diff --git a/patches/chrome-browser-resources-downloads-downloads.html.patch b/patches/chrome-browser-resources-downloads-downloads.html.patch index 69ffa8a00666..1a7fb9795521 100644 --- a/patches/chrome-browser-resources-downloads-downloads.html.patch +++ b/patches/chrome-browser-resources-downloads-downloads.html.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/resources/downloads/downloads.html b/chrome/browser/resources/downloads/downloads.html -index 61d82b65d9315f9ba29c1ad5358b1555669a2d4f..25709268e9b5e693cc3fcd558a7069669275d654 100644 +index d0db0a42712cb05819634c7b344c59186fb3bdb8..68c631cc68c7e34e3500375b116b50e807adfc93 100644 --- a/chrome/browser/resources/downloads/downloads.html +++ b/chrome/browser/resources/downloads/downloads.html -@@ -6,6 +6,7 @@ +@@ -7,6 +7,7 @@ $i18n{title} diff --git a/patches/chrome-browser-resources-history-BUILD.gn.patch b/patches/chrome-browser-resources-history-BUILD.gn.patch index 0a385dc8cadc..d612778e968c 100644 --- a/patches/chrome-browser-resources-history-BUILD.gn.patch +++ b/patches/chrome-browser-resources-history-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/resources/history/BUILD.gn b/chrome/browser/resources/history/BUILD.gn -index e31d6e35da8ccecf0e769d87fd6f04a150a421c6..6f68140fe80014157a9a954dc61c4e2f0f7451a5 100644 +index 1c522a91a41d5c61ca97ba24a0dad2d29a589f81..8e44440238e28af12c6f2b53f06f51e9a9c96930 100644 --- a/chrome/browser/resources/history/BUILD.gn +++ b/chrome/browser/resources/history/BUILD.gn -@@ -68,4 +68,5 @@ build_webui("build") { +@@ -69,4 +69,5 @@ build_webui("build") { "lazy_load.js", ] } diff --git a/patches/chrome-browser-resources-history-history.ts.patch b/patches/chrome-browser-resources-history-history.ts.patch index 429d474e45ec..7b83c8877322 100644 --- a/patches/chrome-browser-resources-history-history.ts.patch +++ b/patches/chrome-browser-resources-history-history.ts.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/history/history.ts b/chrome/browser/resources/history/history.ts -index 70742f191d94b436b8be1d55f4c2549d753d66b7..4eab517cafeee02e5397bf4abb2c904c3bc33ecd 100644 +index 3637c65ea48ce5423e1788a1d3b6f4b867a66c08..545940f2834a9fc32b09c9becd058758d5a4c678 100644 --- a/chrome/browser/resources/history/history.ts +++ b/chrome/browser/resources/history/history.ts @@ -2,6 +2,7 @@ diff --git a/patches/chrome-browser-resources-history-history_item.html.patch b/patches/chrome-browser-resources-history-history_item.html.patch index 36c9645ba157..e25b63ff34c3 100644 --- a/patches/chrome-browser-resources-history-history_item.html.patch +++ b/patches/chrome-browser-resources-history-history_item.html.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/history/history_item.html b/chrome/browser/resources/history/history_item.html -index 92a190f5988c8495e032f5553c19fce2809033b5..bc17c2eff898eddf0b2be0ccc919cd650bd04cfe 100644 +index b2aeff13398fcd5dd17e0d7538bae438dc3ed7ba..7657cac1ea3d442ce01d774507e6ac2e931c9ac2 100644 --- a/chrome/browser/resources/history/history_item.html +++ b/chrome/browser/resources/history/history_item.html @@ -1,4 +1,4 @@ diff --git a/patches/chrome-browser-resources-password_manager-BUILD.gn.patch b/patches/chrome-browser-resources-password_manager-BUILD.gn.patch index 28db2069f624..c467c58989b9 100644 --- a/patches/chrome-browser-resources-password_manager-BUILD.gn.patch +++ b/patches/chrome-browser-resources-password_manager-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/password_manager/BUILD.gn b/chrome/browser/resources/password_manager/BUILD.gn -index 9ec7196e8f868f6854ad6d9a851ee796231696f0..e866a2ec98ffc42b71ceb23f1c9cebee089c71b3 100644 +index f2338429012f830123504945f25c4fc9e3a1e19f..0704795adcea2c3f77120e38a7fc93e883b99b12 100644 --- a/chrome/browser/resources/password_manager/BUILD.gn +++ b/chrome/browser/resources/password_manager/BUILD.gn @@ -147,4 +147,5 @@ build_webui("build") { diff --git a/patches/chrome-browser-resources-settings-BUILD.gn.patch b/patches/chrome-browser-resources-settings-BUILD.gn.patch index 990ef12ff4ab..63e95804a7db 100644 --- a/patches/chrome-browser-resources-settings-BUILD.gn.patch +++ b/patches/chrome-browser-resources-settings-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resources/settings/BUILD.gn -index b61c4e085049e51173a008fcbacac37336163779..f60367e0b8deef40ab50823c49ef24319c012f18 100644 +index 6a10fe92d1349aab45d9d92695e404891be60c89..94f5c620fb2b3d6ff46deb4700b6a2f726fc3c29 100644 --- a/chrome/browser/resources/settings/BUILD.gn +++ b/chrome/browser/resources/settings/BUILD.gn -@@ -456,4 +456,5 @@ build_webui("build") { +@@ -453,4 +453,5 @@ build_webui("build") { "$root_gen_dir/chrome/browser/resources/settings_shared/tsc", root_build_dir) ] } diff --git a/patches/chrome-browser-resources-settings-people_page-sync_controls.ts.patch b/patches/chrome-browser-resources-settings-people_page-sync_controls.ts.patch index 192f94c9464a..207087050ca1 100644 --- a/patches/chrome-browser-resources-settings-people_page-sync_controls.ts.patch +++ b/patches/chrome-browser-resources-settings-people_page-sync_controls.ts.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/settings/people_page/sync_controls.ts b/chrome/browser/resources/settings/people_page/sync_controls.ts -index e09dbb0c957ae6deaf2eb4fd61304145c84223e6..3935aa175babfc9cf1beb2732347312c1a0bdf18 100644 +index c631f84883ad57aab55fefe26043b84d32c9be34..5415efd119bcbf27b06e70e9494939a6d7c3b9a0 100644 --- a/chrome/browser/resources/settings/people_page/sync_controls.ts +++ b/chrome/browser/resources/settings/people_page/sync_controls.ts @@ -120,7 +120,7 @@ export class SettingsSyncControlsElement extends diff --git a/patches/chrome-browser-resources-settings-privacy_page-personalization_options.ts.patch b/patches/chrome-browser-resources-settings-privacy_page-personalization_options.ts.patch index db322c00f249..6353fa584673 100644 --- a/patches/chrome-browser-resources-settings-privacy_page-personalization_options.ts.patch +++ b/patches/chrome-browser-resources-settings-privacy_page-personalization_options.ts.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/settings/privacy_page/personalization_options.ts b/chrome/browser/resources/settings/privacy_page/personalization_options.ts -index e454b74b0cbf119c84413aa2f8a5f69c5466d798..7bd49109d82fee2e35a6a5abc54a21658f84afa8 100644 +index af8734fe073031ecc3cdca95c04405f1ddace522..011719567598f61ba61e18fbd87dad036b17e00f 100644 --- a/chrome/browser/resources/settings/privacy_page/personalization_options.ts +++ b/chrome/browser/resources/settings/privacy_page/personalization_options.ts @@ -88,7 +88,7 @@ export class SettingsPersonalizationOptionsElement extends diff --git a/patches/chrome-browser-resources-settings-privacy_page-privacy_page.html.patch b/patches/chrome-browser-resources-settings-privacy_page-privacy_page.html.patch index f8ab272e201b..18a487686782 100644 --- a/patches/chrome-browser-resources-settings-privacy_page-privacy_page.html.patch +++ b/patches/chrome-browser-resources-settings-privacy_page-privacy_page.html.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html -index 2874ca0f265be5f9bf9cde9980b1ae5dcfd9c59e..fc3f552e0c3088b4e69b854c0d6d0c7cab1060ca 100644 +index 0eba0e90734edce85533ccd8fe38c5a0e0031517..b0dbaa28afbe4329dde90db298441de478cf603e 100644 --- a/chrome/browser/resources/settings/privacy_page/privacy_page.html +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html @@ -36,6 +36,7 @@ diff --git a/patches/chrome-browser-resources-settings-privacy_page-privacy_page.ts.patch b/patches/chrome-browser-resources-settings-privacy_page-privacy_page.ts.patch index 49229d5b26fe..f3057aa5384b 100644 --- a/patches/chrome-browser-resources-settings-privacy_page-privacy_page.ts.patch +++ b/patches/chrome-browser-resources-settings-privacy_page-privacy_page.ts.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts -index 776b5e8305f0d0f11c91485b26630fed22c61773..2a5f6262aa70d7fe36e6d672c40613d2bd857153 100644 +index b2490887597fc476f0823e3c88c3a252f83bac88..5781047609cc8e0c018ee3cd09fb2b46452ec770 100644 --- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts @@ -21,6 +21,7 @@ import '../settings_page/settings_animated_pages.js'; diff --git a/patches/chrome-browser-resources-settings-route.ts.patch b/patches/chrome-browser-resources-settings-route.ts.patch index ca5ab649ff8c..e384902f8abc 100644 --- a/patches/chrome-browser-resources-settings-route.ts.patch +++ b/patches/chrome-browser-resources-settings-route.ts.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts -index 16e43f44bbd0f74ba156e8b13e8f1f66414a967b..6d91a86b79587b5e3703ccb494a39c84439c6d41 100644 +index 0bf867602723d231697059bbdbd758958ed8ddf6..c7293ca720853bac041b536e91fbb9554e17b605 100644 --- a/chrome/browser/resources/settings/route.ts +++ b/chrome/browser/resources/settings/route.ts @@ -9,6 +9,7 @@ import {pageVisibility} from './page_visibility.js'; @@ -10,7 +10,7 @@ index 16e43f44bbd0f74ba156e8b13e8f1f66414a967b..6d91a86b79587b5e3703ccb494a39c84 /** * Add all of the child routes that originate from the privacy route, * regardless of whether the privacy section under basic or advanced. -@@ -297,6 +298,7 @@ function createBrowserSettingsRoutes(): SettingsRoutes { +@@ -298,6 +299,7 @@ function createBrowserSettingsRoutes(): SettingsRoutes { } // } diff --git a/patches/chrome-browser-resources-settings-router.ts.patch b/patches/chrome-browser-resources-settings-router.ts.patch index e1cc755ab11b..33efa8990930 100644 --- a/patches/chrome-browser-resources-settings-router.ts.patch +++ b/patches/chrome-browser-resources-settings-router.ts.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resources/settings/router.ts -index 0a95f74a0db0b1ad1c7f2fa24084d65ac01d0f85..a0e1f79750b83ea2ac4feae6621d2d1f1edbcb4f 100644 +index c862f46a27b7b24d91429856d24a0fe3d2e7100f..53273cc20f31a945d93f7d528c46c3fbf5ce913b 100644 --- a/chrome/browser/resources/settings/router.ts +++ b/chrome/browser/resources/settings/router.ts -@@ -110,6 +110,7 @@ export interface SettingsRoutes { +@@ -111,6 +111,7 @@ export interface SettingsRoutes { SYSTEM: Route; TRACKING_PROTECTION: Route; TRIGGERED_RESET_DIALOG: Route; diff --git a/patches/chrome-browser-resources-settings-settings.ts.patch b/patches/chrome-browser-resources-settings-settings.ts.patch index 8ca5324fb375..863229f0c2b6 100644 --- a/patches/chrome-browser-resources-settings-settings.ts.patch +++ b/patches/chrome-browser-resources-settings-settings.ts.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/settings/settings.ts b/chrome/browser/resources/settings/settings.ts -index 9aad0b99b881372708a2052da251c228d9e627e0..5c32d610150ada15cbf1522630bc2c47b9897e88 100644 +index a20094a5fe381fdbc20ea7de58b868b63d7662f2..3e466b439dc79b9a4cc6b7064cca39c57a00a39a 100644 --- a/chrome/browser/resources/settings/settings.ts +++ b/chrome/browser/resources/settings/settings.ts @@ -2,6 +2,7 @@ diff --git a/patches/chrome-browser-resources-settings-site_settings-constants.ts.patch b/patches/chrome-browser-resources-settings-site_settings-constants.ts.patch index 9ecd9b1eb48b..a5ac9eb1c001 100644 --- a/patches/chrome-browser-resources-settings-site_settings-constants.ts.patch +++ b/patches/chrome-browser-resources-settings-site_settings-constants.ts.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/resources/settings/site_settings/constants.ts b/chrome/browser/resources/settings/site_settings/constants.ts -index eb2cfb43ecdc90ab429877ef2ef4343fa8812988..2347ce565a2cd1e6601646f7bf5925b20af53a96 100644 +index 3bd37ec520914cac61f50ca84c670a9c1f70723c..fdc168756fcd5a9cf005f1a5e7827433e328d7aa 100644 --- a/chrome/browser/resources/settings/site_settings/constants.ts +++ b/chrome/browser/resources/settings/site_settings/constants.ts -@@ -57,6 +57,7 @@ export enum ContentSettingsTypes { +@@ -58,6 +58,7 @@ export enum ContentSettingsTypes { // are used everywhere where ContentSettingsTypes is used in JS. PDF_DOCUMENTS = 'pdfDocuments', SITE_DATA = 'site-data', diff --git a/patches/chrome-browser-resources-settings-site_settings-settings_category_default_radio_group.ts.patch b/patches/chrome-browser-resources-settings-site_settings-settings_category_default_radio_group.ts.patch index 4a244d944698..70a432c95a9c 100644 --- a/patches/chrome-browser-resources-settings-site_settings-settings_category_default_radio_group.ts.patch +++ b/patches/chrome-browser-resources-settings-site_settings-settings_category_default_radio_group.ts.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts -index 28869c5f68d8d7d740cafbb1c561fbc455c78da4..6069e9cfb547fbd8b49e86a0b93f007c7e868995 100644 +index 914ca9210b367d3f38cab1e4172d33c149d8d9fb..e48ae97532ffdb21db46c9d7d4e947da0e1711af 100644 --- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts +++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts -@@ -162,6 +162,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends +@@ -165,6 +165,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends case ContentSettingsTypes.WEB_PRINTING: // "Ask" vs "Blocked". return ContentSetting.ASK; diff --git a/patches/chrome-browser-resources-settings-site_settings_page-site_settings_page.ts.patch b/patches/chrome-browser-resources-settings-site_settings_page-site_settings_page.ts.patch index 17a4d4199fe9..1e86277d27c7 100644 --- a/patches/chrome-browser-resources-settings-site_settings_page-site_settings_page.ts.patch +++ b/patches/chrome-browser-resources-settings-site_settings_page-site_settings_page.ts.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts -index 80fe3ae9995948c0d450694b2b90432d839a7d42..aeb51635d63695df40eb5d791d881928230b71ca 100644 +index 87626786c11718b95e840720511319b71b83507d..df3451e1f8fe6bc4c4a203c6c4039e9c89b08941 100644 --- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts +++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts @@ -8,6 +8,7 @@ diff --git a/patches/chrome-browser-resources-side_panel-bookmarks-power_bookmarks_list.ts.patch b/patches/chrome-browser-resources-side_panel-bookmarks-power_bookmarks_list.ts.patch index fda90666bfdc..c1ced0a1ad23 100644 --- a/patches/chrome-browser-resources-side_panel-bookmarks-power_bookmarks_list.ts.patch +++ b/patches/chrome-browser-resources-side_panel-bookmarks-power_bookmarks_list.ts.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_list.ts b/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_list.ts -index 0869ea291eb9fdffb5d5c2139f82ea1e79636451..219984431aedaaede6f6cee47e6f6fdec428cc10 100644 +index 662707e51b0f09955ea305260fb13babf5913fdd..d84c7bcf9ed553a906ddeab388fc166bad00c97d 100644 --- a/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_list.ts +++ b/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_list.ts @@ -3,6 +3,7 @@ diff --git a/patches/chrome-browser-safe_browsing-download_protection-check_client_download_request_base.cc.patch b/patches/chrome-browser-safe_browsing-download_protection-check_client_download_request_base.cc.patch index 14ea6e6d1806..3cded9c35333 100644 --- a/patches/chrome-browser-safe_browsing-download_protection-check_client_download_request_base.cc.patch +++ b/patches/chrome-browser-safe_browsing-download_protection-check_client_download_request_base.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request_base.cc b/chrome/browser/safe_browsing/download_protection/check_client_download_request_base.cc -index bd930642ab78db9a83f887f4a70e7f8c5263541c..cbb053c12e413e08214e4ee57736d9b771d07814 100644 +index 8403477cce9389e74d4bf6a0307b82d9c1cbb903..20987609d10635a2b31e56b904c679b0e4f53ce2 100644 --- a/chrome/browser/safe_browsing/download_protection/check_client_download_request_base.cc +++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request_base.cc -@@ -334,6 +334,7 @@ void CheckClientDownloadRequestBase::OnRequestBuilt( +@@ -343,6 +343,7 @@ void CheckClientDownloadRequestBase::OnRequestBuilt( client_download_request_ = std::move(request); SanitizeRequest(); diff --git a/patches/chrome-browser-signin-account_consistency_mode_manager.cc.patch b/patches/chrome-browser-signin-account_consistency_mode_manager.cc.patch index b0effd72415e..5f016e1a53ca 100644 --- a/patches/chrome-browser-signin-account_consistency_mode_manager.cc.patch +++ b/patches/chrome-browser-signin-account_consistency_mode_manager.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/browser/signin/account_consistency_mode_manager.cc -index 79f00f9b96b74b85075189745c943c5ca933154b..f5f0bb7a3db2848b67c3f6ce78e7659005acf0c0 100644 +index d2c034c279b4d2774cd11cd3ceb1bc302822d8e7..e6181b61f2f3e1cb87ee80388e333f36b1c82eab 100644 --- a/chrome/browser/signin/account_consistency_mode_manager.cc +++ b/chrome/browser/signin/account_consistency_mode_manager.cc -@@ -192,6 +192,7 @@ AccountConsistencyModeManager::ComputeAccountConsistencyMethod( +@@ -197,6 +197,7 @@ AccountConsistencyModeManager::ComputeAccountConsistencyMethod( Profile* profile) { DCHECK(ShouldBuildServiceForProfile(profile)); diff --git a/patches/chrome-browser-sync-sync_service_factory.cc.patch b/patches/chrome-browser-sync-sync_service_factory.cc.patch index ff831b080e97..5f60bd059a2a 100644 --- a/patches/chrome-browser-sync-sync_service_factory.cc.patch +++ b/patches/chrome-browser-sync-sync_service_factory.cc.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/sync/sync_service_factory.cc b/chrome/browser/sync/sync_service_factory.cc -index 5a60dafb6b3dd1795dcdfe2682063103d58735d4..a9b8e45261fa7c0a02bcb8bbdfc2cfd0e367c880 100644 +index 99c819f61ce55fb740441ad2c13d095600ba29da..78fc30534cdbf22d4b38d8273dc995fd32286257 100644 --- a/chrome/browser/sync/sync_service_factory.cc +++ b/chrome/browser/sync/sync_service_factory.cc @@ -166,7 +166,7 @@ std::unique_ptr BuildSyncService( diff --git a/patches/chrome-browser-ui-BUILD.gn.patch b/patches/chrome-browser-ui-BUILD.gn.patch index e1db965794a7..88b6b8edf6d9 100644 --- a/patches/chrome-browser-ui-BUILD.gn.patch +++ b/patches/chrome-browser-ui-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn -index 768e11b9e56483cbe6235c894bca669b928e4d0c..c4800832c36164383978ac8e417751cb29581f52 100644 +index 343094ba0f527d9598ebb9819a8855505653ef86..d192c91c98aa0c988f9a887c87acd61c21000a75 100644 --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -717,6 +717,7 @@ static_library("ui") { +@@ -727,6 +727,7 @@ static_library("ui") { "//chrome/browser/permissions", ] @@ -10,7 +10,7 @@ index 768e11b9e56483cbe6235c894bca669b928e4d0c..c4800832c36164383978ac8e417751cb if (enable_vr && is_win) { deps += [ "//chrome/browser/vr:vr_base" ] -@@ -4606,7 +4607,10 @@ static_library("ui") { +@@ -4653,7 +4654,10 @@ static_library("ui") { ] deps += [ "//chrome/updater/app/server/win:updater_legacy_idl" ] } else { diff --git a/patches/chrome-browser-ui-actions-chrome_action_id.h.patch b/patches/chrome-browser-ui-actions-chrome_action_id.h.patch index 061821592aaf..4d7b3edbbebb 100644 --- a/patches/chrome-browser-ui-actions-chrome_action_id.h.patch +++ b/patches/chrome-browser-ui-actions-chrome_action_id.h.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/actions/chrome_action_id.h b/chrome/browser/ui/actions/chrome_action_id.h -index 77db85aafc066c70e91adac9de5fbe6a742a432d..ba32190e51600ec5fe9281a907663d00d16ce827 100644 +index 28c7c4d0c8cf26e826210427adbda1025a579c5c..6844aa9e8b3f0ebfcdc1e4c61d14f4b61fa5a556 100644 --- a/chrome/browser/ui/actions/chrome_action_id.h +++ b/chrome/browser/ui/actions/chrome_action_id.h -@@ -555,6 +555,8 @@ +@@ -539,6 +539,8 @@ /* Side Panel items */ \ E(kActionSidePanelShowAboutThisSite) \ E(kActionSidePanelShowAssistant) \ diff --git a/patches/chrome-browser-ui-android-appmenu-internal-BUILD.gn.patch b/patches/chrome-browser-ui-android-appmenu-internal-BUILD.gn.patch index 7c93dcd52203..56baf6e8044d 100644 --- a/patches/chrome-browser-ui-android-appmenu-internal-BUILD.gn.patch +++ b/patches/chrome-browser-ui-android-appmenu-internal-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/BUILD.gn b/chrome/browser/ui/android/appmenu/internal/BUILD.gn -index 950d1b91a63ffb5d809b463e71e3a0bc3598b3a7..0ec2d6076f7de292cae054ab3ee8007cad48d464 100644 +index 00ca9a9e250635402df26382f9d7b4b6bf36084b..1ca4fa1c83bb3f8f9e57f402a5f615702150b56c 100644 --- a/chrome/browser/ui/android/appmenu/internal/BUILD.gn +++ b/chrome/browser/ui/android/appmenu/internal/BUILD.gn @@ -21,6 +21,7 @@ android_library("java") { diff --git a/patches/chrome-browser-ui-android-toolbar-BUILD.gn.patch b/patches/chrome-browser-ui-android-toolbar-BUILD.gn.patch index b7a3e72c2745..3271c60b0f32 100644 --- a/patches/chrome-browser-ui-android-toolbar-BUILD.gn.patch +++ b/patches/chrome-browser-ui-android-toolbar-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/ui/android/toolbar/BUILD.gn b/chrome/browser/ui/android/toolbar/BUILD.gn -index 6f79c8f2d555ef9219306c0da3ee2f2ba9e0b098..09c86c6f2b3b79ff59553c431fff7f310f2d6889 100644 +index 79dec1b157b8c533affc9ab26c355cc96ac6f7ce..54a6c13fadcc8aff6087343879c43867615636cd 100644 --- a/chrome/browser/ui/android/toolbar/BUILD.gn +++ b/chrome/browser/ui/android/toolbar/BUILD.gn @@ -115,6 +115,7 @@ android_library("java") { diff --git a/patches/chrome-browser-ui-android-toolbar-java-src-org-chromium-chrome-browser-toolbar-top-ToolbarPhone.java.patch b/patches/chrome-browser-ui-android-toolbar-java-src-org-chromium-chrome-browser-toolbar-top-ToolbarPhone.java.patch index af9522a22d27..2a2808f4395a 100644 --- a/patches/chrome-browser-ui-android-toolbar-java-src-org-chromium-chrome-browser-toolbar-top-ToolbarPhone.java.patch +++ b/patches/chrome-browser-ui-android-toolbar-java-src-org-chromium-chrome-browser-toolbar-top-ToolbarPhone.java.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java -index 560f7f0007479e33eafeb1ca290c8f1af3697f93..b184a5d36264d6582e57c6c9d421b083f023c93e 100644 +index 3f1c9344dfa727bdbd491b958715635f72110bbb..fceca0a025eae06e0da021365c98e64da2335c2e 100644 --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java @@ -441,6 +441,7 @@ public class ToolbarPhone extends ToolbarLayout @@ -26,7 +26,7 @@ index 560f7f0007479e33eafeb1ca290c8f1af3697f93..b184a5d36264d6582e57c6c9d421b083 TraceEvent.begin("ToolbarPhone.updateLocationBarLayoutForExpansionAnimation"); if (isInTabSwitcherMode()) return; -@@ -1562,6 +1565,7 @@ public class ToolbarPhone extends ToolbarLayout +@@ -1540,6 +1543,7 @@ public class ToolbarPhone extends ToolbarLayout canvas.restore(); } @@ -34,7 +34,7 @@ index 560f7f0007479e33eafeb1ca290c8f1af3697f93..b184a5d36264d6582e57c6c9d421b083 // Draw the tab stack button and associated text if necessary. if (mTabSwitcherAnimationTabStackDrawable != null && mToggleTabStackButton != null -@@ -2366,6 +2370,7 @@ public class ToolbarPhone extends ToolbarLayout +@@ -2344,6 +2348,7 @@ public class ToolbarPhone extends ToolbarLayout } else { populateUrlClearExpansionAnimatorSet(animators); } diff --git a/patches/chrome-browser-ui-android-toolbar-java-src-org-chromium-chrome-browser-toolbar-top-ToolbarTablet.java.patch b/patches/chrome-browser-ui-android-toolbar-java-src-org-chromium-chrome-browser-toolbar-top-ToolbarTablet.java.patch index da95fabcff34..5c4ddc1d4a6d 100644 --- a/patches/chrome-browser-ui-android-toolbar-java-src-org-chromium-chrome-browser-toolbar-top-ToolbarTablet.java.patch +++ b/patches/chrome-browser-ui-android-toolbar-java-src-org-chromium-chrome-browser-toolbar-top-ToolbarTablet.java.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarTablet.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarTablet.java -index fc6d875b8660fa38ef7d9fb8e9f0224bd9e0f564..3a3a800812ffdd85b667ca6c32b3eb47377af839 100644 +index c082045ca5a25a49aaf11a1449720864eafdcab4..f253b1c54f80cd842230b046c0b58e942672b8b5 100644 --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarTablet.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarTablet.java -@@ -409,10 +409,12 @@ public class ToolbarTablet extends ToolbarLayout +@@ -410,10 +410,12 @@ public class ToolbarTablet extends ToolbarLayout mOfflineDownloader.downloadPage(getContext(), getToolbarDataProvider().getTab()); RecordUserAction.record("MobileToolbarDownloadPage"); } @@ -15,7 +15,7 @@ index fc6d875b8660fa38ef7d9fb8e9f0224bd9e0f564..3a3a800812ffdd85b667ca6c32b3eb47 String description = null; Context context = getContext(); Resources resources = context.getResources(); -@@ -533,6 +535,7 @@ public class ToolbarTablet extends ToolbarLayout +@@ -546,6 +548,7 @@ public class ToolbarTablet extends ToolbarLayout mLocationBar.getTabletCoordinator().tintBackground(textBoxColor); mLocationBar.updateVisualsForState(); setToolbarHairlineColor(color); diff --git a/patches/chrome-browser-ui-browser.cc.patch b/patches/chrome-browser-ui-browser.cc.patch index e338d0e78c8e..6ac6b213ed39 100644 --- a/patches/chrome-browser-ui-browser.cc.patch +++ b/patches/chrome-browser-ui-browser.cc.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc -index 0791cc8f55a922c6c9e0bd6b69d863ed0e0b8dd0..464ea34b20c29b54f56278722106dd9e9de59da6 100644 +index 3d985470f60d1c8f63d6794ad2bcf5954defe8db..4ea4b9f719a56cf82c82d787a9d7a655711f1cac 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc @@ -458,6 +458,7 @@ Browser* Browser::Create(const CreateParams& params) { diff --git a/patches/chrome-browser-ui-browser_ui_prefs.cc.patch b/patches/chrome-browser-ui-browser_ui_prefs.cc.patch index 92ad490b38d8..81a1026a83d2 100644 --- a/patches/chrome-browser-ui-browser_ui_prefs.cc.patch +++ b/patches/chrome-browser-ui-browser_ui_prefs.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc -index c5ae80c271b6ab0a4aa610009d95c7c76b6fe1a9..2f18100c6137807f68948a1c3c8ada42157c9353 100644 +index bf9682c3e22cbcd57acb014787d1e16d1358e9fb..ed0b5cbc9568196d5aa5a7455b9fcc287b790488 100644 --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -86,7 +86,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -85,7 +85,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); registry->RegisterBooleanPref( translate::prefs::kOfferTranslateEnabled, true, diff --git a/patches/chrome-browser-ui-chrome_pages.cc.patch b/patches/chrome-browser-ui-chrome_pages.cc.patch index 54cecac8b6ea..302d8a6a4569 100644 --- a/patches/chrome-browser-ui-chrome_pages.cc.patch +++ b/patches/chrome-browser-ui-chrome_pages.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/chrome_pages.cc b/chrome/browser/ui/chrome_pages.cc -index f5aa2afc76f6bce3b88d7db8dc6ef487236564a8..8713f355d19d6d8af6a942137dad0960eea25ef0 100644 +index 580ecdf01a9328ed8dbb6da1c483559f0d860a07..c97b7e0e0b644051b71faf72574d6afdb8c9022f 100644 --- a/chrome/browser/ui/chrome_pages.cc +++ b/chrome/browser/ui/chrome_pages.cc -@@ -392,7 +392,7 @@ void ShowSlow(Browser* browser) { +@@ -396,7 +396,7 @@ void ShowSlow(Browser* browser) { #endif } diff --git a/patches/chrome-browser-ui-color-BUILD.gn.patch b/patches/chrome-browser-ui-color-BUILD.gn.patch index a7f38642c2d1..f02e19f91d01 100644 --- a/patches/chrome-browser-ui-color-BUILD.gn.patch +++ b/patches/chrome-browser-ui-color-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/color/BUILD.gn b/chrome/browser/ui/color/BUILD.gn -index 20cb2ca6f9d8c640bd5d474be2a7e63a91f024da..6a80a6ba53b02ae381fb0b649ff0810ec581f49f 100644 +index 88a875ae5dd49685398cd70d2ae89fabd0b602c0..4c072175987b5aa26dd2499f42fcf32385f86f2d 100644 --- a/chrome/browser/ui/color/BUILD.gn +++ b/chrome/browser/ui/color/BUILD.gn -@@ -59,6 +59,7 @@ source_set("mixers") { +@@ -61,6 +61,7 @@ source_set("mixers") { "//ui/color:color", "//ui/color:mixers", ] diff --git a/patches/chrome-browser-ui-omnibox-chrome_omnibox_client.h.patch b/patches/chrome-browser-ui-omnibox-chrome_omnibox_client.h.patch index b461d172909b..5555165cf906 100644 --- a/patches/chrome-browser-ui-omnibox-chrome_omnibox_client.h.patch +++ b/patches/chrome-browser-ui-omnibox-chrome_omnibox_client.h.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_client.h b/chrome/browser/ui/omnibox/chrome_omnibox_client.h -index db1e94ddecdefe05ef45d090722eeee3e5eb0105..4ad6d835f8d50f428d1ca7563a25916abb5d3fd0 100644 +index 2b729a70b66f54267d295855dfbd3006f3f8bb03..df143ac73f2c3d8dab3c0ece998d51e3fa09566b 100644 --- a/chrome/browser/ui/omnibox/chrome_omnibox_client.h +++ b/chrome/browser/ui/omnibox/chrome_omnibox_client.h @@ -23,7 +23,7 @@ class GURL; diff --git a/patches/chrome-browser-ui-side_panel-side_panel_entry_id.h.patch b/patches/chrome-browser-ui-side_panel-side_panel_entry_id.h.patch index c18dc1d90931..de95cc25a0d4 100644 --- a/patches/chrome-browser-ui-side_panel-side_panel_entry_id.h.patch +++ b/patches/chrome-browser-ui-side_panel-side_panel_entry_id.h.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/ui/side_panel/side_panel_entry_id.h b/chrome/browser/ui/side_panel/side_panel_entry_id.h -index 801c1915779e954f02463dca28c06f0470221b32..42291589f2c6002c40677a0572463f556af1a2e7 100644 +index 76da7d49baaa9c61841c85d4641b7260ad1cb0d0..8d6b0a2a40e10221a2f77513b8cc50dba2f25319 100644 --- a/chrome/browser/ui/side_panel/side_panel_entry_id.h +++ b/chrome/browser/ui/side_panel/side_panel_entry_id.h @@ -33,6 +33,7 @@ diff --git a/patches/chrome-browser-ui-tab_helpers.cc.patch b/patches/chrome-browser-ui-tab_helpers.cc.patch index 024852f75d29..4bb73b1dcdd7 100644 --- a/patches/chrome-browser-ui-tab_helpers.cc.patch +++ b/patches/chrome-browser-ui-tab_helpers.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc -index 2daaf7f1a6bdb544f4e76972be2bc3023f12501d..3b2d57acb91b1603cf700ab851bdbe9170e151c3 100644 +index 272366561a78b43f3208cccb3837414056812572..f976939ba79f2fee8859791bb4dcaf1bd5f2e933 100644 --- a/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc -@@ -808,4 +808,5 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -799,4 +799,5 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { // This is common code for all of us. PLEASE DO YOUR PART to keep it tidy and // organized. diff --git a/patches/chrome-browser-ui-tabs-tab_strip_model.h.patch b/patches/chrome-browser-ui-tabs-tab_strip_model.h.patch index d3417028c072..0cccce06b772 100644 --- a/patches/chrome-browser-ui-tabs-tab_strip_model.h.patch +++ b/patches/chrome-browser-ui-tabs-tab_strip_model.h.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/tabs/tab_strip_model.h b/chrome/browser/ui/tabs/tab_strip_model.h -index 90041e5401fd5c010d7048a9002c60c83920e8cc..3e527300c2acfa4ad7c08574976d354bd16f14ea 100644 +index 779c8b4b56b9baf26f36a4701c92d3b4e664a8dd..ef3212fdce1a23e600b010ff953f0de427bdc14c 100644 --- a/chrome/browser/ui/tabs/tab_strip_model.h +++ b/chrome/browser/ui/tabs/tab_strip_model.h -@@ -602,6 +602,7 @@ class TabStripModel : public TabGroupController { +@@ -612,6 +612,7 @@ class TabStripModel : public TabGroupController { // Serialise this object into a trace. void WriteIntoTrace(perfetto::TracedValue context) const; diff --git a/patches/chrome-browser-ui-toolbar-recent_tabs_sub_menu_model.cc.patch b/patches/chrome-browser-ui-toolbar-recent_tabs_sub_menu_model.cc.patch index 5bad48640a15..bf719b9d95dd 100644 --- a/patches/chrome-browser-ui-toolbar-recent_tabs_sub_menu_model.cc.patch +++ b/patches/chrome-browser-ui-toolbar-recent_tabs_sub_menu_model.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.cc b/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.cc -index c450e6632c89bec11cdc79b057ad48140c2ec0db..ba17da25fdca397e7d876b415789d6747d2c1a60 100644 +index a87da10ff482bf1eab646a743305452143b7fb3f..8e83b8bd4f74b53988d3abfb8cd8ca74b21007cb 100644 --- a/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.cc +++ b/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.cc -@@ -333,6 +333,7 @@ void RecentTabsSubMenuModel::Build() { +@@ -336,6 +336,7 @@ void RecentTabsSubMenuModel::Build() { } AddSeparator(ui::NORMAL_SEPARATOR); history_separator_index_ = GetItemCount() - 1; @@ -10,7 +10,7 @@ index c450e6632c89bec11cdc79b057ad48140c2ec0db..ba17da25fdca397e7d876b415789d674 BuildLocalEntries(); BuildTabsFromOtherDevices(); } -@@ -472,6 +473,7 @@ void RecentTabsSubMenuModel::BuildTabsFromOtherDevices() { +@@ -475,6 +476,7 @@ void RecentTabsSubMenuModel::BuildTabsFromOtherDevices() { ++k) { BuildOtherDevicesTabItem(this, session_tag, *tabs_in_session[k]); } // for all tabs in one session diff --git a/patches/chrome-browser-ui-toolbar-recent_tabs_sub_menu_model_unittest.cc.patch b/patches/chrome-browser-ui-toolbar-recent_tabs_sub_menu_model_unittest.cc.patch index 6342395a3d69..e6d33e5b01d3 100644 --- a/patches/chrome-browser-ui-toolbar-recent_tabs_sub_menu_model_unittest.cc.patch +++ b/patches/chrome-browser-ui-toolbar-recent_tabs_sub_menu_model_unittest.cc.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc b/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc -index cc7261c2d4666218661b6e8ca0a1f0fdef376020..8491cd124b7397f80d8d47ebf9c997cda45fd2eb 100644 +index e6f9687b7614cde2d2fb2321cc51aa2f69bb8b7c..2d06d7b0c49eaa95b144acad5265aba3aa80198b 100644 --- a/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc +++ b/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc @@ -181,6 +181,7 @@ class RecentTabsSubMenuModelTest : public BrowserWithTestWindowTest, diff --git a/patches/chrome-browser-ui-views-bookmarks-bookmark_bar_view.cc.patch b/patches/chrome-browser-ui-views-bookmarks-bookmark_bar_view.cc.patch index bb654b61d349..3780a6f6d74f 100644 --- a/patches/chrome-browser-ui-views-bookmarks-bookmark_bar_view.cc.patch +++ b/patches/chrome-browser-ui-views-bookmarks-bookmark_bar_view.cc.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc -index 18c8bbb7f2749b9e94e7fe6427ab8569c0f9c4fb..ef65db89a1c9bd73285dbee553a1e6bd2a1c95ac 100644 +index 47301df0eed37c888dfce10d40b9d66ac19b41a5..81a37b573a0c4696823eb691af5fccaee5b4d2e3 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc @@ -819,6 +819,7 @@ void BookmarkBarView::Layout(PassKey) { diff --git a/patches/chrome-browser-ui-views-bookmarks-bookmark_bubble_view.cc.patch b/patches/chrome-browser-ui-views-bookmarks-bookmark_bubble_view.cc.patch index 57ec713b470c..90d3657be787 100644 --- a/patches/chrome-browser-ui-views-bookmarks-bookmark_bubble_view.cc.patch +++ b/patches/chrome-browser-ui-views-bookmarks-bookmark_bubble_view.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc -index b09602c9b3e8ff708658e5e7f2cc538fd826cb5d..ed0b7d73f6f8323d49ec0d23216088aca33af334 100644 +index ef54ba3741886e3ed3a87bcabf2cc9c7e20e5a4f..e34215482e3fd784f59653d3eb68bfd2faa60908 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc -@@ -373,6 +373,7 @@ void BookmarkBubbleView::ShowBubble( +@@ -374,6 +374,7 @@ void BookmarkBubbleView::ShowBubble( bookmark_node); bool show_simplified_flow = !already_bookmarked; @@ -10,7 +10,7 @@ index b09602c9b3e8ff708658e5e7f2cc538fd826cb5d..ed0b7d73f6f8323d49ec0d23216088ac auto bubble_delegate_unique = std::make_unique( std::move(delegate), browser, url, show_simplified_flow); -@@ -504,6 +505,7 @@ void BookmarkBubbleView::ShowBubble( +@@ -515,6 +516,7 @@ void BookmarkBubbleView::ShowBubble( auto bubble = std::make_unique( std::move(dialog_model), anchor_view, views::BubbleBorder::TOP_RIGHT); bookmark_bubble_ = bubble.get(); diff --git a/patches/chrome-browser-ui-views-location_bar-location_bar_view.cc.patch b/patches/chrome-browser-ui-views-location_bar-location_bar_view.cc.patch index 13cd78e99d92..a6ec9110bbea 100644 --- a/patches/chrome-browser-ui-views-location_bar-location_bar_view.cc.patch +++ b/patches/chrome-browser-ui-views-location_bar-location_bar_view.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/views/location_bar/location_bar_view.cc b/chrome/browser/ui/views/location_bar/location_bar_view.cc -index 37323bb0d6c3b76ad654cf5a104af3e1e6eceb46..9cc5c98035116df5de11ce00495a11b0c459c242 100644 +index 84cf36507ba349fee4555f03ba8e556a4c75b535..d6f20c3e7b5661d36d89c3d3bf8b635e0cb08fa1 100644 --- a/chrome/browser/ui/views/location_bar/location_bar_view.cc +++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc -@@ -707,6 +707,7 @@ void LocationBarView::Layout(PassKey) { +@@ -714,6 +714,7 @@ void LocationBarView::Layout(PassKey) { if (show_overriding_permission_chip) text_left += text_overriding_permission_chip_indent; @@ -10,7 +10,7 @@ index 37323bb0d6c3b76ad654cf5a104af3e1e6eceb46..9cc5c98035116df5de11ce00495a11b0 LocationBarLayout leading_decorations(LocationBarLayout::Position::kLeftEdge, text_left); LocationBarLayout trailing_decorations( -@@ -786,6 +787,7 @@ void LocationBarView::Layout(PassKey) { +@@ -793,6 +794,7 @@ void LocationBarView::Layout(PassKey) { } }; diff --git a/patches/chrome-browser-ui-views-location_bar-location_bar_view.h.patch b/patches/chrome-browser-ui-views-location_bar-location_bar_view.h.patch index f7430ba82052..b4e5387e77a2 100644 --- a/patches/chrome-browser-ui-views-location_bar-location_bar_view.h.patch +++ b/patches/chrome-browser-ui-views-location_bar-location_bar_view.h.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/views/location_bar/location_bar_view.h b/chrome/browser/ui/views/location_bar/location_bar_view.h -index f77a3ceb5edbb9865597b420d46d07460ba69945..bbc00ccd5a423ba35537583f6f0fd339fe67cb27 100644 +index 8e35a13dd98bb0cca2ed85dab3d85821647efa03..d958d53a3b1b78020f91bbc39f3d21450f0caac5 100644 --- a/chrome/browser/ui/views/location_bar/location_bar_view.h +++ b/chrome/browser/ui/views/location_bar/location_bar_view.h -@@ -108,6 +108,7 @@ class LocationBarView : public LocationBar, +@@ -113,6 +113,7 @@ class LocationBarView int GetBorderRadius() const; // Initializes the LocationBarView. @@ -10,7 +10,7 @@ index f77a3ceb5edbb9865597b420d46d07460ba69945..bbc00ccd5a423ba35537583f6f0fd339 void Init(); // True if this instance has been initialized by calling Init, which can only -@@ -161,6 +162,7 @@ class LocationBarView : public LocationBar, +@@ -166,6 +167,7 @@ class LocationBarView // Updates the controller, and, if |contents| is non-null, restores saved // state that the tab holds. @@ -18,7 +18,7 @@ index f77a3ceb5edbb9865597b420d46d07460ba69945..bbc00ccd5a423ba35537583f6f0fd339 void Update(content::WebContents* contents); // Clears the location bar's state for |contents|. -@@ -246,6 +248,7 @@ class LocationBarView : public LocationBar, +@@ -251,6 +253,7 @@ class LocationBarView GetContentSettingViewsForTest() { return content_setting_views_; } diff --git a/patches/chrome-browser-ui-views-overlay-video_overlay_window_views.cc.patch b/patches/chrome-browser-ui-views-overlay-video_overlay_window_views.cc.patch index 66acf1efdf28..4215396ed7fe 100644 --- a/patches/chrome-browser-ui-views-overlay-video_overlay_window_views.cc.patch +++ b/patches/chrome-browser-ui-views-overlay-video_overlay_window_views.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc -index 8f486ad5ce3862038dc749148044876fbc7e9da2..2dc639b85cdd81c867f7eee026bd707b7e5d2f84 100644 +index 5e7c2cc28e00a84b330558dca3a520c08687e274..0ce5a5b169a6422b2fd6fa2cd40f5bbdb3795cb8 100644 --- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc -@@ -267,7 +267,7 @@ std::unique_ptr VideoOverlayWindowViews::Create( +@@ -285,7 +285,7 @@ std::unique_ptr VideoOverlayWindowViews::Create( // constructor. It's important that the constructor be private, because it // doesn't initialize the object fully. auto overlay_window = @@ -11,7 +11,7 @@ index 8f486ad5ce3862038dc749148044876fbc7e9da2..2dc639b85cdd81c867f7eee026bd707b overlay_window->CalculateAndUpdateWindowBounds(); overlay_window->SetUpViews(); -@@ -705,6 +705,7 @@ void VideoOverlayWindowViews::UpdateMaxSize(const gfx::Rect& work_area) { +@@ -733,6 +733,7 @@ void VideoOverlayWindowViews::UpdateMaxSize(const gfx::Rect& work_area) { max_size_ = new_max_size; diff --git a/patches/chrome-browser-ui-views-page_info-page_info_view_factory.cc.patch b/patches/chrome-browser-ui-views-page_info-page_info_view_factory.cc.patch index 379b20da366d..8091996f5e58 100644 --- a/patches/chrome-browser-ui-views-page_info-page_info_view_factory.cc.patch +++ b/patches/chrome-browser-ui-views-page_info-page_info_view_factory.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrome/browser/ui/views/page_info/page_info_view_factory.cc -index d2230dc1ab6dfbc1ba53a7102498da7fa504230c..37b602fbaa0f02f9461257eb3f125c3337939475 100644 +index 090a003eb6b2a45f977af41053b4f46d2ab8a686..621246598f5c7ec68a14b72fc5e79f7e99af3930 100644 --- a/chrome/browser/ui/views/page_info/page_info_view_factory.cc +++ b/chrome/browser/ui/views/page_info/page_info_view_factory.cc -@@ -414,6 +414,7 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( +@@ -426,6 +426,7 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( const gfx::VectorIcon* icon = &gfx::kNoneIcon; switch (info.type) { diff --git a/patches/chrome-browser-ui-views-permissions-permission_prompt_bubble_base_view.cc.patch b/patches/chrome-browser-ui-views-permissions-permission_prompt_bubble_base_view.cc.patch index b014ef8f490c..f31f72e2245f 100644 --- a/patches/chrome-browser-ui-views-permissions-permission_prompt_bubble_base_view.cc.patch +++ b/patches/chrome-browser-ui-views-permissions-permission_prompt_bubble_base_view.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc -index 98bcdccebf6645875d21223cbfed6aaca38b7927..6a361d883aea5e4f97467fae7a8f2987508890f2 100644 +index 43505baafe8f8038fa9967de58b2abbb50e9528f..a1aab5d48a0c173b6b7b4ee2f8881533fff8df73 100644 --- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc +++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc -@@ -158,6 +158,7 @@ void PermissionPromptBubbleBaseView::CreatePermissionButtons( +@@ -157,6 +157,7 @@ void PermissionPromptBubbleBaseView::CreatePermissionButtons( SetButtonStyle(ui::DIALOG_BUTTON_CANCEL, ui::ButtonStyle::kTonal); } } diff --git a/patches/chrome-browser-ui-views-profiles-avatar_toolbar_button.h.patch b/patches/chrome-browser-ui-views-profiles-avatar_toolbar_button.h.patch index 0f47f94dbd6f..425be2529375 100644 --- a/patches/chrome-browser-ui-views-profiles-avatar_toolbar_button.h.patch +++ b/patches/chrome-browser-ui-views-profiles-avatar_toolbar_button.h.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/views/profiles/avatar_toolbar_button.h b/chrome/browser/ui/views/profiles/avatar_toolbar_button.h -index 0ed6e1e407325cadc098a3ffd7ea60e64ce3dc45..767269acce0304f922454699114b79da391395f6 100644 +index 249d3cfc09fe444e4ef8684963153b92252f4e85..d61e35e18422ac9d5c978c49f2845e5d9d55e4bd 100644 --- a/chrome/browser/ui/views/profiles/avatar_toolbar_button.h +++ b/chrome/browser/ui/views/profiles/avatar_toolbar_button.h -@@ -109,6 +109,7 @@ class AvatarToolbarButton : public ToolbarButton { +@@ -114,6 +114,7 @@ class AvatarToolbarButton : public ToolbarButton { void NotifyManagementTransientTextClearedForTesting() const; private: diff --git a/patches/chrome-browser-ui-views-profiles-profile_menu_view_base.h.patch b/patches/chrome-browser-ui-views-profiles-profile_menu_view_base.h.patch index c6bc1cd11a5a..89c08bf2a363 100644 --- a/patches/chrome-browser-ui-views-profiles-profile_menu_view_base.h.patch +++ b/patches/chrome-browser-ui-views-profiles-profile_menu_view_base.h.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/views/profiles/profile_menu_view_base.h b/chrome/browser/ui/views/profiles/profile_menu_view_base.h -index 94f93742cb2ade868013c86d9f0ff12ee15f6eda..10be8153d4e73b9767dc81e7daf38ada858e9e97 100644 +index 7715d362249a466f80deca7103e88cbd543e2bcc..d6de6139a7d1d2ab108c428b79162c5c45b563db 100644 --- a/chrome/browser/ui/views/profiles/profile_menu_view_base.h +++ b/chrome/browser/ui/views/profiles/profile_menu_view_base.h -@@ -166,6 +166,7 @@ class ProfileMenuViewBase : public content::WebContentsDelegate, +@@ -171,6 +171,7 @@ class ProfileMenuViewBase : public content::WebContentsDelegate, void set_perform_menu_actions_for_testing(bool perform_menu_actions) { perform_menu_actions_ = perform_menu_actions; } diff --git a/patches/chrome-browser-ui-views-tabs-tab.cc.patch b/patches/chrome-browser-ui-views-tabs-tab.cc.patch index 6885ffcb3fb6..9b3cc83ed7a7 100644 --- a/patches/chrome-browser-ui-views-tabs-tab.cc.patch +++ b/patches/chrome-browser-ui-views-tabs-tab.cc.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/ui/views/tabs/tab.cc b/chrome/browser/ui/views/tabs/tab.cc -index 5059a0ed03ccf2e098e9d36fe9e10c71df93683a..5d2afa6d94c580af0f0fe2462ef05231b982f7bb 100644 +index 444832f1c6e5fb98cef09887796e8d4cdaba6550..bf3d597c4cb0e2151ed33023d26b46b15f4a3430 100644 --- a/chrome/browser/ui/views/tabs/tab.cc +++ b/chrome/browser/ui/views/tabs/tab.cc @@ -420,6 +420,7 @@ void Tab::Layout(PassKey) { diff --git a/patches/chrome-browser-ui-views-tabs-tab_hover_card_bubble_view.h.patch b/patches/chrome-browser-ui-views-tabs-tab_hover_card_bubble_view.h.patch index b6f26205002e..d8a7ca58f1d6 100644 --- a/patches/chrome-browser-ui-views-tabs-tab_hover_card_bubble_view.h.patch +++ b/patches/chrome-browser-ui-views-tabs-tab_hover_card_bubble_view.h.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.h b/chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.h -index 014eff1e814c3b5bfb2bc9feace6c7e9236cff5a..76dd1b39924a476f72f003807c8f24862dbe5a3e 100644 +index c50e5742c13f29a3df7fbddee7f6bca618b6cea9..b524e06c3a23ad6cb5aa2179ceabafbd651ad694 100644 --- a/chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.h +++ b/chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.h @@ -75,6 +75,7 @@ class TabHoverCardBubbleView : public views::BubbleDialogDelegateView { diff --git a/patches/chrome-browser-ui-views-tabs-tab_strip.cc.patch b/patches/chrome-browser-ui-views-tabs-tab_strip.cc.patch index 41f3e56710f1..5537dc4bcb68 100644 --- a/patches/chrome-browser-ui-views-tabs-tab_strip.cc.patch +++ b/patches/chrome-browser-ui-views-tabs-tab_strip.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/views/tabs/tab_strip.cc b/chrome/browser/ui/views/tabs/tab_strip.cc -index e81975b1e86e9848faeb6995280c6817f7b71e2e..78aa7cb91aa8346332969302bce59bf0d5ba226b 100644 +index 14d565cee2fe354b2ada4382e51e53c6c3bb3d78..9fcd1b8cae83385786a0f31a859fa0f495a100b3 100644 --- a/chrome/browser/ui/views/tabs/tab_strip.cc +++ b/chrome/browser/ui/views/tabs/tab_strip.cc -@@ -521,6 +521,7 @@ class TabStrip::TabDragContextImpl : public TabDragContext, +@@ -522,6 +522,7 @@ class TabStrip::TabDragContextImpl : public TabDragContext, std::vector CalculateBoundsForDraggedViews( const std::vector>& views) override { @@ -10,7 +10,7 @@ index e81975b1e86e9848faeb6995280c6817f7b71e2e..78aa7cb91aa8346332969302bce59bf0 DCHECK(!views.empty()); std::vector bounds; -@@ -708,6 +709,7 @@ class TabStrip::TabDragContextImpl : public TabDragContext, +@@ -709,6 +710,7 @@ class TabStrip::TabDragContextImpl : public TabDragContext, // index. std::stable_sort(orderable_children.begin(), orderable_children.end()); @@ -18,7 +18,7 @@ index e81975b1e86e9848faeb6995280c6817f7b71e2e..78aa7cb91aa8346332969302bce59bf0 for (const ZOrderableTabContainerElement& child : orderable_children) { child.view()->Paint(paint_info); } -@@ -800,6 +802,7 @@ class TabStrip::TabDragContextImpl : public TabDragContext, +@@ -802,6 +804,7 @@ class TabStrip::TabDragContextImpl : public TabDragContext, continue; } diff --git a/patches/chrome-browser-ui-views-toolbar-toolbar_view.cc.patch b/patches/chrome-browser-ui-views-toolbar-toolbar_view.cc.patch index e311de27607d..6564661380d5 100644 --- a/patches/chrome-browser-ui-views-toolbar-toolbar_view.cc.patch +++ b/patches/chrome-browser-ui-views-toolbar-toolbar_view.cc.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.cc b/chrome/browser/ui/views/toolbar/toolbar_view.cc -index 8ee63a343092807c2b2542386a9094de0f385385..34177728a11c780df7bafeca2d8c43e26e6c449f 100644 +index d65dc839c20e7a4c2a89712a4e94c3965e5bc265..d4ba96dd83a98f7d91bd811c21da4ae9fabf1b6a 100644 --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc @@ -462,6 +462,7 @@ void ToolbarView::Init() { diff --git a/patches/chrome-browser-ui-webui-chrome_web_ui_controller_factory.cc.patch b/patches/chrome-browser-ui-webui-chrome_web_ui_controller_factory.cc.patch index 5146c8dd1aed..bc92e53e9384 100644 --- a/patches/chrome-browser-ui-webui-chrome_web_ui_controller_factory.cc.patch +++ b/patches/chrome-browser-ui-webui-chrome_web_ui_controller_factory.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -index ea7cd03d3d6438e3c83c4ccf977aad4186f3357d..52944db02a6e53b2c6ce442777c9974787f40659 100644 +index e9529ba0d6315d41c8ec4963554d2abbd3c5cb7c..8e7d2bcc7ced02639206a3d0bf1994a6b5e7f19e 100644 --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -935,6 +935,7 @@ void ChromeWebUIControllerFactory::GetFaviconForURL( +@@ -937,6 +937,7 @@ void ChromeWebUIControllerFactory::GetFaviconForURL( // static ChromeWebUIControllerFactory* ChromeWebUIControllerFactory::GetInstance() { diff --git a/patches/chrome-browser-ui-webui-history-history_ui.cc.patch b/patches/chrome-browser-ui-webui-history-history_ui.cc.patch index c2f04f9ff0c1..58d5bb77911b 100644 --- a/patches/chrome-browser-ui-webui-history-history_ui.cc.patch +++ b/patches/chrome-browser-ui-webui-history-history_ui.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/webui/history/history_ui.cc b/chrome/browser/ui/webui/history/history_ui.cc -index fcb24547902dc4b7669d5051b6e76c1bb2385206..bb48e310481b1c950b4fcfcf3c325571f01d2925 100644 +index 8832313867036c340cdd55634a4d88f995bca436..3df754a1b2e7f8f0b8214cfd7f0629110bcc7923 100644 --- a/chrome/browser/ui/webui/history/history_ui.cc +++ b/chrome/browser/ui/webui/history/history_ui.cc -@@ -73,6 +73,7 @@ content::WebUIDataSource* CreateAndAddHistoryUIHTMLSource(Profile* profile) { +@@ -75,6 +75,7 @@ content::WebUIDataSource* CreateAndAddHistoryUIHTMLSource(Profile* profile) { profile, chrome::kChromeUIHistoryHost); webui::SetupChromeRefresh2023(source); diff --git a/patches/chrome-browser-ui-webui-settings-people_handler.cc.patch b/patches/chrome-browser-ui-webui-settings-people_handler.cc.patch index 946dfb48ed0f..a70e2b85c632 100644 --- a/patches/chrome-browser-ui-webui-settings-people_handler.cc.patch +++ b/patches/chrome-browser-ui-webui-settings-people_handler.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/webui/settings/people_handler.cc b/chrome/browser/ui/webui/settings/people_handler.cc -index fad332f1266dc9af359589a2d5c1c4b5573e1403..4eaa188ba503c37ebbea1ff7c22f5d64a8f43ba7 100644 +index 6e0693d737d24374a72626f21474565dcd0c1f96..2181e2f9015e7900278882bb283fcd81cf14780e 100644 --- a/chrome/browser/ui/webui/settings/people_handler.cc +++ b/chrome/browser/ui/webui/settings/people_handler.cc -@@ -890,6 +890,7 @@ void PeopleHandler::OnStateChanged(syncer::SyncService* sync_service) { +@@ -895,6 +895,7 @@ void PeopleHandler::OnStateChanged(syncer::SyncService* sync_service) { void PeopleHandler::BeforeUnloadDialogCancelled() { // The before unload dialog is only shown during the first sync setup. @@ -10,7 +10,7 @@ index fad332f1266dc9af359589a2d5c1c4b5573e1403..4eaa188ba503c37ebbea1ff7c22f5d64 DCHECK(IdentityManagerFactory::GetForProfile(profile_)->HasPrimaryAccount( signin::ConsentLevel::kSync)); syncer::SyncService* service = GetSyncService(); -@@ -939,6 +940,7 @@ base::Value::Dict PeopleHandler::GetSyncStatusDictionary() const { +@@ -944,6 +945,7 @@ base::Value::Dict PeopleHandler::GetSyncStatusDictionary() const { service && !disallowed_by_policy && service->IsSetupInProgress() && !service->GetUserSettings()->IsInitialSyncFeatureSetupComplete() && identity_manager->HasPrimaryAccount(signin::ConsentLevel::kSync)); @@ -18,7 +18,7 @@ index fad332f1266dc9af359589a2d5c1c4b5573e1403..4eaa188ba503c37ebbea1ff7c22f5d64 const SyncStatusLabels status_labels = GetSyncStatusLabels(profile_); // TODO(crbug.com/1027467): Consider unifying some of the fields below to -@@ -1108,6 +1110,7 @@ void PeopleHandler::MaybeMarkSyncConfiguring() { +@@ -1113,6 +1115,7 @@ void PeopleHandler::MaybeMarkSyncConfiguring() { } bool PeopleHandler::IsProfileAuthNeededOrHasErrors() { diff --git a/patches/chrome-browser-ui-webui-settings-settings_localized_strings_provider.cc.patch b/patches/chrome-browser-ui-webui-settings-settings_localized_strings_provider.cc.patch index d1944e0b1e3e..450f07730619 100644 --- a/patches/chrome-browser-ui-webui-settings-settings_localized_strings_provider.cc.patch +++ b/patches/chrome-browser-ui-webui-settings-settings_localized_strings_provider.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -index 9e33c08bffbf23d47a8773a1040b14681bd6784e..dc6da9a7060a2a8aec04805785236d999ef9d845 100644 +index c9dfe518a5ff5006f3eae8313da753ace32c91a5..e19eaccae919d00520ac10333ae38ddfa66324ee 100644 --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -3779,6 +3779,7 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, +@@ -3775,6 +3775,7 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, policy_indicator::AddLocalizedStrings(html_source); AddSecurityKeysStrings(html_source); diff --git a/patches/chrome-browser-ui-webui-theme_source.cc.patch b/patches/chrome-browser-ui-webui-theme_source.cc.patch index 8258e64d79a9..73ad70452fef 100644 --- a/patches/chrome-browser-ui-webui-theme_source.cc.patch +++ b/patches/chrome-browser-ui-webui-theme_source.cc.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/ui/webui/theme_source.cc b/chrome/browser/ui/webui/theme_source.cc -index e263cbe1b37a2e7c42ea7ebe29ae475e3af2c55a..17497aae38c9f1f91c4de39e3863e10025746d90 100644 +index a4944726fd49728452ab483d8b88125d49172139..35b0127454f30fd7d50adf3b6417ad3d9a09a831 100644 --- a/chrome/browser/ui/webui/theme_source.cc +++ b/chrome/browser/ui/webui/theme_source.cc @@ -135,7 +135,7 @@ void ThemeSource::StartDataRequest( diff --git a/patches/chrome-browser-web_applications-os_integration-web_app_shortcut_mac.mm.patch b/patches/chrome-browser-web_applications-os_integration-web_app_shortcut_mac.mm.patch index f6cbe4abd163..3fcbc390b3e2 100644 --- a/patches/chrome-browser-web_applications-os_integration-web_app_shortcut_mac.mm.patch +++ b/patches/chrome-browser-web_applications-os_integration-web_app_shortcut_mac.mm.patch @@ -1,8 +1,8 @@ diff --git a/chrome/browser/web_applications/os_integration/web_app_shortcut_mac.mm b/chrome/browser/web_applications/os_integration/web_app_shortcut_mac.mm -index 02f91c0d15da138b4684e21cfcd554ffe150251c..0925f153c690c103ac0a25eea646746991fc7118 100644 +index c4a333d062c3198da659d23eea5cbd257a983c2e..5f1c91bab4abae2d6a8181a4618554d11f44420b 100644 --- a/chrome/browser/web_applications/os_integration/web_app_shortcut_mac.mm +++ b/chrome/browser/web_applications/os_integration/web_app_shortcut_mac.mm -@@ -1161,6 +1161,7 @@ base::FilePath GetChromeAppsFolder() { +@@ -1168,6 +1168,7 @@ base::FilePath GetChromeAppsFolder() { if (path.empty()) return path; diff --git a/patches/chrome-common-BUILD.gn.patch b/patches/chrome-common-BUILD.gn.patch index 031defe79178..954e7d3441bd 100644 --- a/patches/chrome-common-BUILD.gn.patch +++ b/patches/chrome-common-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn -index f55e12e527ee2330a5716d711b1c91f7f9abb3f9..f98fa5abb4e5b2ad703d0227001c0b487dc47e25 100644 +index ff0f2773227f9ad7fbaf8bac9b9dcf55602836b1..80dd55a75c9107c3150418311cdaf2f2e228fb39 100644 --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn @@ -101,6 +101,7 @@ source_set("channel_info") { @@ -18,7 +18,7 @@ index f55e12e527ee2330a5716d711b1c91f7f9abb3f9..f98fa5abb4e5b2ad703d0227001c0b48 if (enable_extensions) { sources += [ -@@ -548,6 +550,7 @@ static_library("non_code_constants") { +@@ -545,6 +547,7 @@ static_library("non_code_constants") { if (is_win) { sources += [ "chrome_icon_resources_win.h" ] } diff --git a/patches/chrome-common-extensions-api-developer_private.idl.patch b/patches/chrome-common-extensions-api-developer_private.idl.patch index ef513aeacdec..8b4fb375f895 100644 --- a/patches/chrome-common-extensions-api-developer_private.idl.patch +++ b/patches/chrome-common-extensions-api-developer_private.idl.patch @@ -1,5 +1,5 @@ diff --git a/chrome/common/extensions/api/developer_private.idl b/chrome/common/extensions/api/developer_private.idl -index ec860805092fb10b09712572656802059ad659e8..baafbc1cbb351cada4136bbd51f5df13ea41f336 100644 +index 3e049bbf55ca419e27e37a65e2d65746c98cee1f..42e8ae88209515d03369eac8f37951677704e307 100644 --- a/chrome/common/extensions/api/developer_private.idl +++ b/chrome/common/extensions/api/developer_private.idl @@ -244,6 +244,7 @@ namespace developerPrivate { diff --git a/patches/chrome-common-extensions-chrome_extensions_client.cc.patch b/patches/chrome-common-extensions-chrome_extensions_client.cc.patch index 9a2f0e2f6970..22f23c56455a 100644 --- a/patches/chrome-common-extensions-chrome_extensions_client.cc.patch +++ b/patches/chrome-common-extensions-chrome_extensions_client.cc.patch @@ -1,5 +1,5 @@ diff --git a/chrome/common/extensions/chrome_extensions_client.cc b/chrome/common/extensions/chrome_extensions_client.cc -index c33dc6308e98a819b9ee2d9dbb02cb8532119786..6c2cdd56c0fa12c3bceabba98c726eec752f0ae0 100644 +index 805398d564ca9854327b9a02afa2567d4a07c82d..4a17a923c34143725eb6efccfa1ed94988bc75a7 100644 --- a/chrome/common/extensions/chrome_extensions_client.cc +++ b/chrome/common/extensions/chrome_extensions_client.cc @@ -13,6 +13,7 @@ diff --git a/patches/chrome-renderer-BUILD.gn.patch b/patches/chrome-renderer-BUILD.gn.patch index 51aa151ba267..0f19edf222db 100644 --- a/patches/chrome-renderer-BUILD.gn.patch +++ b/patches/chrome-renderer-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn -index ddfdfd49ad2b25688f0da7a23b59c9bedc3a5f6b..562113f9e92028f05cd1f35194c38979c96494b5 100644 +index fd99154d7744e2c479e1bb861d2a360e0137ae1d..1429849b7f872f47af00ec84ad5bf2f03be0ed10 100644 --- a/chrome/renderer/BUILD.gn +++ b/chrome/renderer/BUILD.gn -@@ -239,6 +239,7 @@ static_library("renderer") { +@@ -243,6 +243,7 @@ static_library("renderer") { "//v8", ] diff --git a/patches/chrome-renderer-chrome_content_renderer_client.cc.patch b/patches/chrome-renderer-chrome_content_renderer_client.cc.patch index c2de4a3ed41f..38b6c10d041c 100644 --- a/patches/chrome-renderer-chrome_content_renderer_client.cc.patch +++ b/patches/chrome-renderer-chrome_content_renderer_client.cc.patch @@ -1,8 +1,8 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc -index 04a7dbd25904c4d9710f908f66f82880456b0e0f..812f7798d1c2bdc80d986540a5583af028ac89ae 100644 +index bf59360fb366d83c29a49f95201be8638bc5d01c..215973fb4f15f55a25be5f97652ba02d8e900629 100644 --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc -@@ -597,7 +597,7 @@ void ChromeContentRendererClient::RenderFrameCreated( +@@ -606,7 +606,7 @@ void ChromeContentRendererClient::RenderFrameCreated( ChromeExtensionsRendererClient::GetInstance()->extension_dispatcher()); #endif content_settings::ContentSettingsAgentImpl* content_settings = @@ -11,7 +11,7 @@ index 04a7dbd25904c4d9710f908f66f82880456b0e0f..812f7798d1c2bdc80d986540a5583af0 render_frame, should_allow_for_content_settings, std::move(content_settings_delegate)); if (chrome_observer_.get()) { -@@ -779,6 +779,7 @@ void ChromeContentRendererClient::RenderFrameCreated( +@@ -791,6 +791,7 @@ void ChromeContentRendererClient::RenderFrameCreated( #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) MultilineDetector::InstallIfNecessary(render_frame); #endif diff --git a/patches/chrome-renderer-chrome_content_renderer_client.h.patch b/patches/chrome-renderer-chrome_content_renderer_client.h.patch index 39459170d7de..0f4df7f737ef 100644 --- a/patches/chrome-renderer-chrome_content_renderer_client.h.patch +++ b/patches/chrome-renderer-chrome_content_renderer_client.h.patch @@ -1,8 +1,8 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.h b/chrome/renderer/chrome_content_renderer_client.h -index 68d8afb95c6bdfa984d1fd33ab1859b9c7632292..03d74868507d6266cfbd947657eaa6f6b5ca0cc0 100644 +index f71a83a6484c1da804911afdbb450001c35be522..d6c08c121c00c235da2457a3fd59e30d4f9bbac3 100644 --- a/chrome/renderer/chrome_content_renderer_client.h +++ b/chrome/renderer/chrome_content_renderer_client.h -@@ -237,6 +237,7 @@ class ChromeContentRendererClient +@@ -241,6 +241,7 @@ class ChromeContentRendererClient #endif private: diff --git a/patches/chrome-test-BUILD.gn.patch b/patches/chrome-test-BUILD.gn.patch index 487a100b9e0d..e5223c4621a0 100644 --- a/patches/chrome-test-BUILD.gn.patch +++ b/patches/chrome-test-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index 5a3979bc9a1bbb9e99e2c238bb235360fa30f3b4..c8e91eff90290ba0bc385ab06b7760323a9d6c1a 100644 +index d851c15ee215a33a6212e241f28adfbd75ce31ae..3328ab4346b2495d6638e67b2ddd7db60e9c88c4 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -465,6 +465,7 @@ static_library("test_support") { +@@ -484,6 +484,7 @@ static_library("test_support") { "//ui/gl", ] diff --git a/patches/chrome-test-data-webui-settings-BUILD.gn.patch b/patches/chrome-test-data-webui-settings-BUILD.gn.patch index 7312f1a5e295..2cefcf62fcde 100644 --- a/patches/chrome-test-data-webui-settings-BUILD.gn.patch +++ b/patches/chrome-test-data-webui-settings-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/chrome/test/data/webui/settings/BUILD.gn b/chrome/test/data/webui/settings/BUILD.gn -index fcf8883546d83282ffe2264bdfed41876d149f2d..fcfc39b1f387e0892726bfc68acf225a61de27f8 100644 +index e80d2107bb8813e6cd4142a1a5f8c00eda184f8f..5993d609a9a3c2da099df2c5b7eb3ffb5c603c2a 100644 --- a/chrome/test/data/webui/settings/BUILD.gn +++ b/chrome/test/data/webui/settings/BUILD.gn -@@ -234,6 +234,7 @@ build_webui_tests("build") { +@@ -236,6 +236,7 @@ build_webui_tests("build") { ts_definitions += [ "//tools/typescript/definitions/quick_unlock_private.d.ts" ] } diff --git a/patches/chrome-utility-BUILD.gn.patch b/patches/chrome-utility-BUILD.gn.patch index 4f45e90cb9dc..b7ae01026a7c 100644 --- a/patches/chrome-utility-BUILD.gn.patch +++ b/patches/chrome-utility-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn -index 38eb0655f2af7cd3d596dfbe6d396a1e68bf92e1..b52b6ebe311695b0962feafbdab7b798500cc2ee 100644 +index a7c1dd9153a194c7f53fd383000deb90fd59609d..c36b7e40c1bc7185791b82576122de00a2913787 100644 --- a/chrome/utility/BUILD.gn +++ b/chrome/utility/BUILD.gn @@ -71,6 +71,8 @@ static_library("utility") { diff --git a/patches/components-content_settings-core-browser-content_settings_policy_provider.cc.patch b/patches/components-content_settings-core-browser-content_settings_policy_provider.cc.patch index 6568bc80f5ee..369538249ddc 100644 --- a/patches/components-content_settings-core-browser-content_settings_policy_provider.cc.patch +++ b/patches/components-content_settings-core-browser-content_settings_policy_provider.cc.patch @@ -1,5 +1,5 @@ diff --git a/components/content_settings/core/browser/content_settings_policy_provider.cc b/components/content_settings/core/browser/content_settings_policy_provider.cc -index 088c159f20ebd8a5bf1b6440a4b39ada079f80a0..512eb3302d53b072eb2958e7ce536952dad1a75a 100644 +index 44302e399fb06e1b582d17f1ae33b233b5c74117..7cacff717e97f8f5951c8bf13b4ddcf8abfa7ca4 100644 --- a/components/content_settings/core/browser/content_settings_policy_provider.cc +++ b/components/content_settings/core/browser/content_settings_policy_provider.cc @@ -38,6 +38,7 @@ struct PrefsForManagedContentSettingsMapEntry { @@ -10,7 +10,7 @@ index 088c159f20ebd8a5bf1b6440a4b39ada079f80a0..512eb3302d53b072eb2958e7ce536952 {prefs::kManagedAutomaticFullscreenAllowedForUrls, ContentSettingsType::AUTOMATIC_FULLSCREEN, CONTENT_SETTING_ALLOW}, {prefs::kManagedAutomaticFullscreenBlockedForUrls, -@@ -124,6 +125,7 @@ constexpr PrefsForManagedContentSettingsMapEntry +@@ -128,6 +129,7 @@ constexpr PrefsForManagedContentSettingsMapEntry }; constexpr const char* kManagedPrefs[] = { diff --git a/patches/components-content_settings-core-browser-content_settings_pref.cc.patch b/patches/components-content_settings-core-browser-content_settings_pref.cc.patch index 5ab1355a8eb3..1944c2f2ca0b 100644 --- a/patches/components-content_settings-core-browser-content_settings_pref.cc.patch +++ b/patches/components-content_settings-core-browser-content_settings_pref.cc.patch @@ -1,8 +1,8 @@ diff --git a/components/content_settings/core/browser/content_settings_pref.cc b/components/content_settings/core/browser/content_settings_pref.cc -index 8de7caddb088c07078177145b5ed5fea72e59c25..29bd82b618a932ba2fcfb0229cbe74b952194669 100644 +index 9e276764cbc740a0006da2d5383ef5381ca7e9ae..c23f64b36a5e1c7377617fc5312694c51988447e 100644 --- a/components/content_settings/core/browser/content_settings_pref.cc +++ b/components/content_settings/core/browser/content_settings_pref.cc -@@ -223,6 +223,7 @@ void ContentSettingsPref::SetWebsiteSetting( +@@ -225,6 +225,7 @@ void ContentSettingsPref::SetWebsiteSetting( DCHECK(thread_checker_.CalledOnValidThread()); DCHECK(prefs_); DCHECK(primary_pattern != ContentSettingsPattern::Wildcard() || diff --git a/patches/components-content_settings-core-browser-content_settings_registry.cc.patch b/patches/components-content_settings-core-browser-content_settings_registry.cc.patch index aa047675be7f..98fe97af7055 100644 --- a/patches/components-content_settings-core-browser-content_settings_registry.cc.patch +++ b/patches/components-content_settings-core-browser-content_settings_registry.cc.patch @@ -1,8 +1,8 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc -index 4c6fe184aa191bb91f9a3331cab6b08665684798..5ff77d8962cbfab6db8a0ebc1a08c3d1ae3c5e58 100644 +index 373d76d02e54e69c7e01ad8013e147e9e4027f10..9b15fb0276a01753d617a67671a0455730f3a279 100644 --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -740,6 +740,7 @@ void ContentSettingsRegistry::Init() { +@@ -750,6 +750,7 @@ void ContentSettingsRegistry::Init() { WebsiteSettingsRegistry::DESKTOP, ContentSettingsInfo::INHERIT_IN_INCOGNITO, ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); diff --git a/patches/components-content_settings-core-browser-content_settings_uma_util.cc.patch b/patches/components-content_settings-core-browser-content_settings_uma_util.cc.patch index aa65300adccb..10df194b679f 100644 --- a/patches/components-content_settings-core-browser-content_settings_uma_util.cc.patch +++ b/patches/components-content_settings-core-browser-content_settings_uma_util.cc.patch @@ -1,8 +1,8 @@ diff --git a/components/content_settings/core/browser/content_settings_uma_util.cc b/components/content_settings/core/browser/content_settings_uma_util.cc -index a05081b80236314b83cd3f8c62778dcaa6dc2679..32159baad15520e8bc1289e32147a13b1edf80c9 100644 +index 8490240371d9d68568e7fe87d0ef7a330416f8f1..2ac1ddef8215d5da4469a47102241df3f4475454 100644 --- a/components/content_settings/core/browser/content_settings_uma_util.cc +++ b/components/content_settings/core/browser/content_settings_uma_util.cc -@@ -133,6 +133,7 @@ constexpr auto kHistogramValue = base::MakeFixedFlatMapGetWebFrame()->GetDocument(); WebSecurityOrigin origin = document.GetSecurityOrigin(); WebURL document_url = document.Url(); diff --git a/patches/components-content_settings-renderer-content_settings_agent_impl.h.patch b/patches/components-content_settings-renderer-content_settings_agent_impl.h.patch index c74de1c726bc..461c2a1d289c 100644 --- a/patches/components-content_settings-renderer-content_settings_agent_impl.h.patch +++ b/patches/components-content_settings-renderer-content_settings_agent_impl.h.patch @@ -1,8 +1,8 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h -index 74faabbcae52f448ac295f208deb9ce5c6fbbd21..bdb000012b0ca83acb1b59b1514501c37493d6a7 100644 +index 82189582dd6e8979bffee271afecbecf7f5daff6..3bf1bb1a2f356970b5c68213249b2222d138015c 100644 --- a/components/content_settings/renderer/content_settings_agent_impl.h +++ b/components/content_settings/renderer/content_settings_agent_impl.h -@@ -107,6 +107,7 @@ class ContentSettingsAgentImpl +@@ -106,6 +106,7 @@ class ContentSettingsAgentImpl void SetRendererContentSettingRulesForTest( const RendererContentSettingRules& rules); diff --git a/patches/components-crash-core-browser-resources-crashes.ts.patch b/patches/components-crash-core-browser-resources-crashes.ts.patch index b5127a6c19e9..a87156918765 100644 --- a/patches/components-crash-core-browser-resources-crashes.ts.patch +++ b/patches/components-crash-core-browser-resources-crashes.ts.patch @@ -1,8 +1,8 @@ diff --git a/components/crash/core/browser/resources/crashes.ts b/components/crash/core/browser/resources/crashes.ts -index 0d3658a8c854e8053c46836395502a3434a1b4b4..9f451948ba2eea9a3e9030ad148a286fbd7fa66f 100644 +index abd0ff7e76afe945fe6f36a9ff1d4d33a0d6e524..a6e3d9561b8e60dccccccde058287a9fdd4d2241 100644 --- a/components/crash/core/browser/resources/crashes.ts +++ b/components/crash/core/browser/resources/crashes.ts -@@ -141,7 +141,7 @@ function updateCrashList({ +@@ -160,7 +160,7 @@ function updateCrashList({ crashLink.href = `https://goto.google.com/crash/${crash.id}`; crashLink.target = '_blank'; crashLink.textContent = crash.id; diff --git a/patches/components-download-internal-common-download_item_impl.cc.patch b/patches/components-download-internal-common-download_item_impl.cc.patch index 3f4287b845fd..e6282086087c 100644 --- a/patches/components-download-internal-common-download_item_impl.cc.patch +++ b/patches/components-download-internal-common-download_item_impl.cc.patch @@ -1,8 +1,8 @@ diff --git a/components/download/internal/common/download_item_impl.cc b/components/download/internal/common/download_item_impl.cc -index c8193192257a93fe728a0bd97a29824e848f9f23..a78909e01aebc1858a8ae26c2cf9dcf30c23378c 100644 +index 9f10e0fd50188d057706de8e563b3f176b6b71ba..e1636026e6ce4cb4ec11737ab28764360c7f54fb 100644 --- a/components/download/internal/common/download_item_impl.cc +++ b/components/download/internal/common/download_item_impl.cc -@@ -1948,8 +1948,8 @@ void DownloadItemImpl::OnDownloadCompleting() { +@@ -1949,8 +1949,8 @@ void DownloadItemImpl::OnDownloadCompleting() { base::Unretained(download_file_.get()), GetTargetFilePath(), delegate_->GetApplicationClientIdForFileScanning(), diff --git a/patches/components-embedder_support-user_agent_utils.cc.patch b/patches/components-embedder_support-user_agent_utils.cc.patch index 7fc5b9e9f180..3a95d3b9ad97 100644 --- a/patches/components-embedder_support-user_agent_utils.cc.patch +++ b/patches/components-embedder_support-user_agent_utils.cc.patch @@ -1,5 +1,5 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc -index bcaff65ad5611cfc8ee82736330e33ee1446793d..7760e9a01df512d6ce01a0a8460fed6004bf01de 100644 +index 205d12a97caac1db4e30af59c9c06e1acb0e0d2e..3f703528c49eae3195f40fd715c8ace5f0f355a8 100644 --- a/components/embedder_support/user_agent_utils.cc +++ b/components/embedder_support/user_agent_utils.cc @@ -190,6 +190,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList( diff --git a/patches/components-history-core-browser-history_types.h.patch b/patches/components-history-core-browser-history_types.h.patch index 9fafcdb112b4..efb508462a59 100644 --- a/patches/components-history-core-browser-history_types.h.patch +++ b/patches/components-history-core-browser-history_types.h.patch @@ -1,5 +1,5 @@ diff --git a/components/history/core/browser/history_types.h b/components/history/core/browser/history_types.h -index c451fefaa9ec3b45311fc8109a6106c771b299de..43d2442716d4cba3d577535958efc213ee9121ae 100644 +index 7d9cd08527979978674a1c53e16e415223b503cf..0d9c0b16bc1e0be7db4f962fa1ea57652ba818b6 100644 --- a/components/history/core/browser/history_types.h +++ b/components/history/core/browser/history_types.h @@ -53,6 +53,8 @@ enum VisitSource { diff --git a/patches/components-infobars-core-infobar_delegate.h.patch b/patches/components-infobars-core-infobar_delegate.h.patch index 82877858f000..8c5f2a52ca50 100644 --- a/patches/components-infobars-core-infobar_delegate.h.patch +++ b/patches/components-infobars-core-infobar_delegate.h.patch @@ -1,8 +1,8 @@ diff --git a/components/infobars/core/infobar_delegate.h b/components/infobars/core/infobar_delegate.h -index c90385e3fadc115ef75a95b175cacfaf7879ca4a..19690dd23f37d24c912d1153c0bf200df76cb316 100644 +index b4a145be5b70b15df390967114c55e0d53beac51..1b1fae16b05abac12ac559618f26c4e7bb4c1b11 100644 --- a/components/infobars/core/infobar_delegate.h +++ b/components/infobars/core/infobar_delegate.h -@@ -192,6 +192,7 @@ class InfoBarDelegate { +@@ -185,6 +185,7 @@ class InfoBarDelegate { TEST_THIRD_PARTY_COOKIE_PHASEOUT_DELEGATE = 118, ENABLE_LINK_CAPTURING_INFOBAR_DELEGATE = 119, DEV_TOOLS_SHARED_PROCESS_DELEGATE = 120, diff --git a/patches/components-minidump_uploader-android-java-src-org-chromium-components-minidump_uploader-MinidumpUploader.java.patch b/patches/components-minidump_uploader-android-java-src-org-chromium-components-minidump_uploader-MinidumpUploader.java.patch index 725951803e0d..f4bf45a073ac 100644 --- a/patches/components-minidump_uploader-android-java-src-org-chromium-components-minidump_uploader-MinidumpUploader.java.patch +++ b/patches/components-minidump_uploader-android-java-src-org-chromium-components-minidump_uploader-MinidumpUploader.java.patch @@ -1,5 +1,5 @@ diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploader.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploader.java -index dc7fbc009009996876b1019a9709dcc8aa630fd6..41448769c93af485629a02b45c42106c4cf27745 100644 +index e2501f92ecf3c8414d9e77c63cce9aa2aae6274b..0030af66e0f61cdadeca06bb2044a49320c74daa 100644 --- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploader.java +++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploader.java @@ -26,7 +26,7 @@ import java.util.zip.GZIPOutputStream; diff --git a/patches/components-omnibox-browser-BUILD.gn.patch b/patches/components-omnibox-browser-BUILD.gn.patch index f508a8162ec6..8379002ef8ee 100644 --- a/patches/components-omnibox-browser-BUILD.gn.patch +++ b/patches/components-omnibox-browser-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/components/omnibox/browser/BUILD.gn b/components/omnibox/browser/BUILD.gn -index feb42d8d0a7f231d162085f0076092f0a022157a..edc584fd58060e19c0f7faa8d683f0cf8dd9bd82 100644 +index 082452b0555e997ed7685b1733a20a9afb1ec99a..d5321c9de4ccfe0942c2f2de65a4bb97b55200b5 100644 --- a/components/omnibox/browser/BUILD.gn +++ b/components/omnibox/browser/BUILD.gn -@@ -365,6 +365,7 @@ static_library("browser") { +@@ -367,6 +367,7 @@ static_library("browser") { "//ui/base", "//ui/gfx", ] @@ -10,7 +10,7 @@ index feb42d8d0a7f231d162085f0076092f0a022157a..edc584fd58060e19c0f7faa8d683f0cf configs += [ "//build/config/compiler:wexit_time_destructors" ] -@@ -946,6 +947,7 @@ fuzzer_test("search_suggestion_parser_fuzzer") { +@@ -949,6 +950,7 @@ fuzzer_test("search_suggestion_parser_fuzzer") { mojom("mojo_bindings") { sources = [ "omnibox.mojom" ] diff --git a/patches/components-omnibox-browser-autocomplete_controller.cc.patch b/patches/components-omnibox-browser-autocomplete_controller.cc.patch index 9a195f4cdd7d..b8a866036d27 100644 --- a/patches/components-omnibox-browser-autocomplete_controller.cc.patch +++ b/patches/components-omnibox-browser-autocomplete_controller.cc.patch @@ -1,8 +1,8 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc -index e86250869656d3e6f6d0894cc7076e204dcf860a..fd7d106e55912e58e5d482247b8df84ca0162426 100644 +index 3e4a8fedc90eaf6e901d5ffa7fb22fbcb09b797e..3e23402d892443e97bf204737cc83d3dbbd8c72e 100644 --- a/components/omnibox/browser/autocomplete_controller.cc +++ b/components/omnibox/browser/autocomplete_controller.cc -@@ -886,6 +886,7 @@ void AutocompleteController::InitializeAsyncProviders(int provider_types) { +@@ -892,6 +892,7 @@ void AutocompleteController::InitializeAsyncProviders(int provider_types) { if (provider_types & AutocompleteProvider::TYPE_SEARCH) { search_provider_ = new SearchProvider(provider_client_.get(), this); providers_.push_back(search_provider_.get()); @@ -10,7 +10,7 @@ index e86250869656d3e6f6d0894cc7076e204dcf860a..fd7d106e55912e58e5d482247b8df84c } // Providers run in the order they're added. Add `HistoryURLProvider` after // `SearchProvider` because: -@@ -1085,6 +1086,7 @@ void AutocompleteController::UpdateResult(UpdateType update_type) { +@@ -1091,6 +1092,7 @@ void AutocompleteController::UpdateResult(UpdateType update_type) { StartStopTimer(); } diff --git a/patches/components-page_info-BUILD.gn.patch b/patches/components-page_info-BUILD.gn.patch index f777636e652c..60fff2cade69 100644 --- a/patches/components-page_info-BUILD.gn.patch +++ b/patches/components-page_info-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/components/page_info/BUILD.gn b/components/page_info/BUILD.gn -index 0e48718bf0fbd7a05374b725e4acb6486059528f..c2d0f453122a659eb70baf98c82deb0c637005e0 100644 +index 0c31c652270e7e74a9652a2fef4b9bbbb4c30e26..9f6e61d8c931e25ac5a2903bb9531c7b23b1c849 100644 --- a/components/page_info/BUILD.gn +++ b/components/page_info/BUILD.gn -@@ -47,6 +47,7 @@ static_library("page_info") { +@@ -45,6 +45,7 @@ static_library("page_info") { "//services/device/public/cpp:device_features", "//services/metrics/public/cpp:ukm_builders", ] diff --git a/patches/components-page_info-page_info.cc.patch b/patches/components-page_info-page_info.cc.patch index f8a2be94a7d0..b246d295628c 100644 --- a/patches/components-page_info-page_info.cc.patch +++ b/patches/components-page_info-page_info.cc.patch @@ -1,8 +1,8 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc -index 49c25b9a417aee5cce43099b811cbc1f64a1a962..fb590bbd86add3afd8ad709bd00645df94ad1863 100644 +index cd019a21815a00a66be453048d63e8e95ea11c45..ac796e3eeee46a47f6d41c1110a18b5212ef79e9 100644 --- a/components/page_info/page_info.cc +++ b/components/page_info/page_info.cc -@@ -1223,6 +1223,7 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, +@@ -1217,6 +1217,7 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, // applies to permissions listed in |kPermissionType|. bool PageInfo::ShouldShowPermission( const PageInfo::PermissionInfo& info) const { diff --git a/patches/components-password_manager-core-browser-password_form_filling.cc.patch b/patches/components-password_manager-core-browser-password_form_filling.cc.patch index a839c1b458d5..9ce2a3921785 100644 --- a/patches/components-password_manager-core-browser-password_form_filling.cc.patch +++ b/patches/components-password_manager-core-browser-password_form_filling.cc.patch @@ -1,8 +1,8 @@ diff --git a/components/password_manager/core/browser/password_form_filling.cc b/components/password_manager/core/browser/password_form_filling.cc -index 00bdbc42e09f5b20712978b7febf68f5358e6c04..4b54252f360a3886c443f7b495d958ccf7165c3c 100644 +index e7a3dc73e77065ac81bacef377740bda5b080444..900ad49e0a9fe32a9743fdb2e7150b7736f77b4a 100644 --- a/components/password_manager/core/browser/password_form_filling.cc +++ b/components/password_manager/core/browser/password_form_filling.cc -@@ -244,6 +244,7 @@ LikelyFormFilling SendFillInformationToRenderer( +@@ -219,6 +219,7 @@ LikelyFormFilling SendFillInformationToRenderer( bool wait_for_username = wait_for_username_reason != WaitForUsernameReason::kDontWait; diff --git a/patches/components-password_manager-core-browser-password_store-login_database.cc.patch b/patches/components-password_manager-core-browser-password_store-login_database.cc.patch index 695da05ed9f9..25fd0632075b 100644 --- a/patches/components-password_manager-core-browser-password_store-login_database.cc.patch +++ b/patches/components-password_manager-core-browser-password_store-login_database.cc.patch @@ -1,8 +1,8 @@ diff --git a/components/password_manager/core/browser/password_store/login_database.cc b/components/password_manager/core/browser/password_store/login_database.cc -index 7d94e271ca203b2089f230eb9b87bf8d2686f999..b3e1dcb9edec79ce7357e62111494605ce3eaa36 100644 +index f3d622817a4cc65eca4f1ea4c8d4267d7b75c901..a157f72251d795c6cfb287118bd0cad15732e743 100644 --- a/components/password_manager/core/browser/password_store/login_database.cc +++ b/components/password_manager/core/browser/password_store/login_database.cc -@@ -2312,6 +2312,7 @@ FormRetrievalResult LoginDatabase::StatementToForms( +@@ -2262,6 +2262,7 @@ FormRetrievalResult LoginDatabase::StatementToForms( std::u16string plaintext_password; EncryptionResult result = DecryptPasswordFromStatement(*statement, &plaintext_password); diff --git a/patches/components-permissions-BUILD.gn.patch b/patches/components-permissions-BUILD.gn.patch index 4d05abb7f068..6ddaff2a75c8 100644 --- a/patches/components-permissions-BUILD.gn.patch +++ b/patches/components-permissions-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/components/permissions/BUILD.gn b/components/permissions/BUILD.gn -index a97d977cf3fd87b1b0c895d49c97b48436ae193f..8927343055484d1c09f62b423f154487e432c0e1 100644 +index 5d57eac6ba707d145562e84fde6d92b3760db0e3..16de4c2ec606ddcb9fbb6a7c7b992a8554d40493 100644 --- a/components/permissions/BUILD.gn +++ b/components/permissions/BUILD.gn @@ -2,7 +2,7 @@ @@ -11,7 +11,7 @@ index a97d977cf3fd87b1b0c895d49c97b48436ae193f..8927343055484d1c09f62b423f154487 sources = [ "constants.cc", "constants.h", -@@ -147,6 +147,7 @@ source_set("permissions") { +@@ -151,6 +151,7 @@ source_set("permissions") { if (!is_android) { deps += [ "//components/guest_view/browser" ] } diff --git a/patches/components-permissions-android-permission_prompt-permission_dialog_delegate.cc.patch b/patches/components-permissions-android-permission_prompt-permission_dialog_delegate.cc.patch index 0ee87fd7d243..8d32cff257c4 100644 --- a/patches/components-permissions-android-permission_prompt-permission_dialog_delegate.cc.patch +++ b/patches/components-permissions-android-permission_prompt-permission_dialog_delegate.cc.patch @@ -1,5 +1,5 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc -index 6901a85d3c6bba7deb258bc8033a75f3297ae954..2fdc22715443ef1c38c9320ce9519393dc7a25f1 100644 +index c97f4070e82c5233d04badc725a415d54305f642..6b0b4f8c85ae5a6a9acdfea912cd4cc8f31c971b 100644 --- a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc +++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc @@ -172,6 +172,7 @@ PermissionDialogDelegate* PermissionDialogDelegate::CreateForTesting( diff --git a/patches/components-permissions-permission_uma_util.cc.patch b/patches/components-permissions-permission_uma_util.cc.patch index ba67d74f97e1..c3724e47480c 100644 --- a/patches/components-permissions-permission_uma_util.cc.patch +++ b/patches/components-permissions-permission_uma_util.cc.patch @@ -1,5 +1,5 @@ diff --git a/components/permissions/permission_uma_util.cc b/components/permissions/permission_uma_util.cc -index 44a074877a9a4d23521b58079ee5f3026086ad82..c4d8f9d9383b37c47b3d9c1e59941f9c02c8fc3e 100644 +index c8187e61331fc6eef01a130f2d5c2b0e77b87852..f90140f32b74c10ccb91121a0553927af76763bb 100644 --- a/components/permissions/permission_uma_util.cc +++ b/components/permissions/permission_uma_util.cc @@ -142,6 +142,7 @@ RequestTypeForUma GetUmaValueForRequestType(RequestType request_type) { diff --git a/patches/components-policy-tools-generate_policy_source.py.patch b/patches/components-policy-tools-generate_policy_source.py.patch index 39b6f78c5c4d..5a9e4cb76ac4 100644 --- a/patches/components-policy-tools-generate_policy_source.py.patch +++ b/patches/components-policy-tools-generate_policy_source.py.patch @@ -1,8 +1,8 @@ diff --git a/components/policy/tools/generate_policy_source.py b/components/policy/tools/generate_policy_source.py -index d225da88a04fb9f267b3eedb1ebb49c714f63413..63b673ec0c9981e3f12976c720641ea5663cb33b 100755 +index e5efa52a8467fd8a2a9054d45d2cb0bcc5a75645..3bd5a36b573f8c5bcbaf01674ffffea454d0ab22 100755 --- a/components/policy/tools/generate_policy_source.py +++ b/components/policy/tools/generate_policy_source.py -@@ -1650,5 +1650,6 @@ def _WriteAppRestrictions(policies, policy_atomic_groups, target_platform, f, +@@ -1654,5 +1654,6 @@ def _WriteAppRestrictions(policies, policy_atomic_groups, target_platform, f, f.write('') diff --git a/patches/components-policy-tools-template_writers-writer_configuration.py.patch b/patches/components-policy-tools-template_writers-writer_configuration.py.patch index ac5f4e12e190..8ea67078cc64 100644 --- a/patches/components-policy-tools-template_writers-writer_configuration.py.patch +++ b/patches/components-policy-tools-template_writers-writer_configuration.py.patch @@ -1,8 +1,8 @@ diff --git a/components/policy/tools/template_writers/writer_configuration.py b/components/policy/tools/template_writers/writer_configuration.py -index 8cb77158561d326b1640adef8ebf6031f7389d08..0ed1d6a757dbfdbb880db1ecb398c194f185e79d 100755 +index 283ea725c5a1874923244d716015a394a270281f..58b96878166f71c64564ece8d5b63f6ceca38771 100755 --- a/components/policy/tools/template_writers/writer_configuration.py +++ b/components/policy/tools/template_writers/writer_configuration.py -@@ -132,3 +132,4 @@ def GetConfigurationForBuild(defines): +@@ -137,3 +137,4 @@ def GetConfigurationForBuild(defines): config['mac_bundle_id'] = defines['mac_bundle_id'] config['android_webview_restriction_prefix'] = 'com.android.browser:' return config diff --git a/patches/components-safe_browsing-core-common-safe_browsing_prefs.cc.patch b/patches/components-safe_browsing-core-common-safe_browsing_prefs.cc.patch index 65785f1da480..9cf3da031207 100644 --- a/patches/components-safe_browsing-core-common-safe_browsing_prefs.cc.patch +++ b/patches/components-safe_browsing-core-common-safe_browsing_prefs.cc.patch @@ -1,5 +1,5 @@ diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/components/safe_browsing/core/common/safe_browsing_prefs.cc -index 80bf1408c3683149a279ad87aff5bba3830a03c5..f9479c4716778ff5329bd3215cef277f6a804865 100644 +index 0192c9019771747b2ee7d28a0e5183ae1d7d48a4..58ae206ef82c544d1a1a5ffead54a74a5076dbc5 100644 --- a/components/safe_browsing/core/common/safe_browsing_prefs.cc +++ b/components/safe_browsing/core/common/safe_browsing_prefs.cc @@ -102,6 +102,7 @@ bool IsSafeBrowsingEnabled(const PrefService& prefs) { diff --git a/patches/components-search_engines-BUILD.gn.patch b/patches/components-search_engines-BUILD.gn.patch index 837f5a0939c5..acfae92b9757 100644 --- a/patches/components-search_engines-BUILD.gn.patch +++ b/patches/components-search_engines-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUILD.gn -index 564f52e58b069ee95a3714e85d76005577122cb9..5a0178501af3bfe6bc568a831090a15bc7d2c9c4 100644 +index 1884beca63c77c64e34e8c10c71d3f18b32ba7d2..518ea6f1caed66822c290ad38f266c448f963536 100644 --- a/components/search_engines/BUILD.gn +++ b/components/search_engines/BUILD.gn -@@ -249,6 +249,7 @@ json_to_struct("prepopulated_engines") { +@@ -248,6 +248,7 @@ json_to_struct("prepopulated_engines") { schema_file = "prepopulated_engines_schema.json" namespace = "TemplateURLPrepopulateData" deps = [ ":search_engine_type" ] diff --git a/patches/components-search_engines-default_search_manager.cc.patch b/patches/components-search_engines-default_search_manager.cc.patch index bfee39df49cb..771284ca30e1 100644 --- a/patches/components-search_engines-default_search_manager.cc.patch +++ b/patches/components-search_engines-default_search_manager.cc.patch @@ -1,8 +1,8 @@ diff --git a/components/search_engines/default_search_manager.cc b/components/search_engines/default_search_manager.cc -index 76fe5bf1b82637cf6d150c0926e9d4fd13ae2998..df3c93d9367f791692b37b60a85b83e9385e40dd 100644 +index 08c95181b1cc78c3e436da160dfe2a095304d0a6..b27111e97772ef2aed9d38507c1f4ba2c3546451 100644 --- a/components/search_engines/default_search_manager.cc +++ b/components/search_engines/default_search_manager.cc -@@ -359,6 +359,7 @@ void DefaultSearchManager::LoadDefaultSearchEngineFromPrefs() { +@@ -382,6 +382,7 @@ void DefaultSearchManager::LoadDefaultSearchEngineFromPrefs() { // Check if default search preference is overriden by extension. if (pref->IsExtensionControlled()) { extension_default_search_ = std::move(turl_data); diff --git a/patches/components-search_engines-prepopulated_engines.json.patch b/patches/components-search_engines-prepopulated_engines.json.patch index ab059505306e..460515f11274 100644 --- a/patches/components-search_engines-prepopulated_engines.json.patch +++ b/patches/components-search_engines-prepopulated_engines.json.patch @@ -1,5 +1,5 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json -index 54d5aa0412a0c6f1a9bf2e766f61fa40ac10dd44..8e96e88fb87f4e69b444aa935260fe2a2c32c793 100644 +index 8847144b2d36bce51c53d0f1f7f4573eb4c5d76f..001504159e0fec9de2e090508928788ba276389b 100644 --- a/components/search_engines/prepopulated_engines.json +++ b/components/search_engines/prepopulated_engines.json @@ -102,17 +102,6 @@ diff --git a/patches/components-strings-BUILD.gn.patch b/patches/components-strings-BUILD.gn.patch index 349249cb9ca8..58a400ef2ea9 100644 --- a/patches/components-strings-BUILD.gn.patch +++ b/patches/components-strings-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/components/strings/BUILD.gn b/components/strings/BUILD.gn -index b4f6b16fc1a92fa970787ecf740d1541745ee769..888ee4abc6b1250eb0314545bd29eaea02d848e0 100644 +index 262a7950b473dbe168dfbb1d8e7f81c37ac89b54..82c0b1916b0941b997a581d6e63624409cdb33c4 100644 --- a/components/strings/BUILD.gn +++ b/components/strings/BUILD.gn @@ -51,6 +51,7 @@ grit("components_strings") { diff --git a/patches/components-sync-engine-sync_scheduler_impl.cc.patch b/patches/components-sync-engine-sync_scheduler_impl.cc.patch index 35c437dfc227..63b95c5c16f5 100644 --- a/patches/components-sync-engine-sync_scheduler_impl.cc.patch +++ b/patches/components-sync-engine-sync_scheduler_impl.cc.patch @@ -1,8 +1,8 @@ diff --git a/components/sync/engine/sync_scheduler_impl.cc b/components/sync/engine/sync_scheduler_impl.cc -index eddec9a3d553af54b3fc3bb6fa3657e9b71b6a20..906331c1184b884bd2320c29079ba643f0cd3f3f 100644 +index abdfed259b64c8da330b7bbe7121b094e1d0bae9..838adb8e386f5622ec770ef91c6257d99f50e0ed 100644 --- a/components/sync/engine/sync_scheduler_impl.cc +++ b/components/sync/engine/sync_scheduler_impl.cc -@@ -510,6 +510,7 @@ void SyncSchedulerImpl::HandleFailure( +@@ -506,6 +506,7 @@ void SyncSchedulerImpl::HandleFailure( SDVLOG(2) << "Sync cycle failed. Will back off for " << wait_interval_->length.InMilliseconds() << "ms."; } diff --git a/patches/components-sync-protocol-proto_visitors.h.patch b/patches/components-sync-protocol-proto_visitors.h.patch index 309f4164eede..a4d36d8e32c0 100644 --- a/patches/components-sync-protocol-proto_visitors.h.patch +++ b/patches/components-sync-protocol-proto_visitors.h.patch @@ -1,8 +1,8 @@ diff --git a/components/sync/protocol/proto_visitors.h b/components/sync/protocol/proto_visitors.h -index 751e3103a98cce141a65e2c3a9c4126dcc72f14a..87ca63351a51a2c22ebb288e49a8b205ed454113 100644 +index 59d023c7e182cd12a10e52586cbbee2d445bf045..9342aa1d7a2281fec6f3b550ddaa4e77825abdb3 100644 --- a/components/sync/protocol/proto_visitors.h +++ b/components/sync/protocol/proto_visitors.h -@@ -524,6 +524,7 @@ VISIT_PROTO_FIELDS(const sync_pb::DeviceInfoSpecifics& proto) { +@@ -545,6 +545,7 @@ VISIT_PROTO_FIELDS(const sync_pb::DeviceInfoSpecifics& proto) { VISIT(manufacturer); VISIT(last_updated_timestamp); VISIT(feature_fields); @@ -10,7 +10,7 @@ index 751e3103a98cce141a65e2c3a9c4126dcc72f14a..87ca63351a51a2c22ebb288e49a8b205 VISIT(sharing_fields); VISIT(invalidation_fields); VISIT(paask_fields); -@@ -538,6 +539,7 @@ VISIT_PROTO_FIELDS(const sync_pb::FeatureSpecificFields& proto) { +@@ -559,6 +560,7 @@ VISIT_PROTO_FIELDS(const sync_pb::FeatureSpecificFields& proto) { VISIT(send_tab_to_self_receiving_enabled); } diff --git a/patches/components-sync-protocol-protocol_sources.gni.patch b/patches/components-sync-protocol-protocol_sources.gni.patch index 957bbd88c0b9..ed4c95b0f67c 100644 --- a/patches/components-sync-protocol-protocol_sources.gni.patch +++ b/patches/components-sync-protocol-protocol_sources.gni.patch @@ -1,8 +1,8 @@ diff --git a/components/sync/protocol/protocol_sources.gni b/components/sync/protocol/protocol_sources.gni -index aac63d993c6098357375b33a2aa9f8c9703ed33d..777820048069e90f478bbd400ac26f760f26f353 100644 +index 3924613440fcb34ade97bf0b7bcdde99ae79c24c..b5044cdf03b9b9116ddc06cbac51a0650ea3918e 100644 --- a/components/sync/protocol/protocol_sources.gni +++ b/components/sync/protocol/protocol_sources.gni -@@ -78,3 +78,4 @@ sync_protocol_sources = [ +@@ -80,3 +80,4 @@ sync_protocol_sources = [ "wifi_configuration_specifics.proto", "workspace_desk_specifics.proto", ] diff --git a/patches/components-sync-service-sync_service_impl.h.patch b/patches/components-sync-service-sync_service_impl.h.patch index ffc79ec5452a..780d9d43f271 100644 --- a/patches/components-sync-service-sync_service_impl.h.patch +++ b/patches/components-sync-service-sync_service_impl.h.patch @@ -1,8 +1,8 @@ diff --git a/components/sync/service/sync_service_impl.h b/components/sync/service/sync_service_impl.h -index 34339f31213d3ea2e638e49af0dcb5c93dbee53c..84e7cf58fd5b2aa028ad5f0820cc786cf705b494 100644 +index 20e095fd17c7d0cd96a06da95cd345668b5c2c5d..482cbba282635c792da0959253fdf566969f7a56 100644 --- a/components/sync/service/sync_service_impl.h +++ b/components/sync/service/sync_service_impl.h -@@ -264,6 +264,7 @@ class SyncServiceImpl : public SyncService, +@@ -263,6 +263,7 @@ class SyncServiceImpl : public SyncService, void ReportDataTypeErrorForTest(ModelType type); private: diff --git a/patches/components-system_media_controls-linux-system_media_controls_linux.cc.patch b/patches/components-system_media_controls-linux-system_media_controls_linux.cc.patch index bf8c3cae1b34..4e1ef2904a40 100644 --- a/patches/components-system_media_controls-linux-system_media_controls_linux.cc.patch +++ b/patches/components-system_media_controls-linux-system_media_controls_linux.cc.patch @@ -1,8 +1,8 @@ diff --git a/components/system_media_controls/linux/system_media_controls_linux.cc b/components/system_media_controls/linux/system_media_controls_linux.cc -index fbb53fe22226c74be0aa94e7c690b468d9b82320..58da1ea880f50c67a2750b01de9cde10098fefa5 100644 +index 29e75bd680f3528533271d1e8a0efbf8974da8d3..e841a3fb097eea29614892057ae201ad1aa39645 100644 --- a/components/system_media_controls/linux/system_media_controls_linux.cc +++ b/components/system_media_controls/linux/system_media_controls_linux.cc -@@ -57,7 +57,7 @@ constexpr base::TimeDelta kUpdatePositionInterval = base::Milliseconds(100); +@@ -64,7 +64,7 @@ constexpr base::TimeDelta kUpdatePositionInterval = base::Milliseconds(100); const char kMprisAPINoTrackPath[] = "/org/mpris/MediaPlayer2/TrackList/NoTrack"; const char kMprisAPICurrentTrackPathFormatString[] = @@ -11,7 +11,7 @@ index fbb53fe22226c74be0aa94e7c690b468d9b82320..58da1ea880f50c67a2750b01de9cde10 // Writes `bitmap` to a new temporary PNG file and returns a a pair of the file // path and a managed base::ScopedTempFile bound to this sequence. This should -@@ -97,7 +97,7 @@ WriteBitmapToTmpFile(const SkBitmap& bitmap) { +@@ -104,7 +104,7 @@ WriteBitmapToTmpFile(const SkBitmap& bitmap) { } // namespace const char kMprisAPIServiceNameFormatString[] = diff --git a/patches/components-translate-content-renderer-translate_agent.cc.patch b/patches/components-translate-content-renderer-translate_agent.cc.patch index c1b421bd3dc7..05785a3828c5 100644 --- a/patches/components-translate-content-renderer-translate_agent.cc.patch +++ b/patches/components-translate-content-renderer-translate_agent.cc.patch @@ -1,5 +1,5 @@ diff --git a/components/translate/content/renderer/translate_agent.cc b/components/translate/content/renderer/translate_agent.cc -index 245c725d1eca78d75b2b3c23f043cd9a3a679501..9d9fbba4db8ba29a1aeffb3a8ad6009d4f703f4c 100644 +index 3d20dac1626854dabf707686f40c8db7f3e93261..bb131ef6054324fa02c29b1e7075a27ab4b0659f 100644 --- a/components/translate/content/renderer/translate_agent.cc +++ b/components/translate/content/renderer/translate_agent.cc @@ -57,7 +57,7 @@ const int kTranslateInitCheckDelayMs = 150; diff --git a/patches/content-app_shim_remote_cocoa-render_widget_host_view_cocoa.mm.patch b/patches/content-app_shim_remote_cocoa-render_widget_host_view_cocoa.mm.patch index ab04741fd147..b6397d5d3b06 100644 --- a/patches/content-app_shim_remote_cocoa-render_widget_host_view_cocoa.mm.patch +++ b/patches/content-app_shim_remote_cocoa-render_widget_host_view_cocoa.mm.patch @@ -1,8 +1,8 @@ diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm -index 0825f3f1ef87120a9b82d3f52289dc54d2d6f233..b0f31dd7fd32f892edf2f4f24a18aef0448dfc52 100644 +index 5649f120ccefae9e9d21fc05e0f67225a7609609..862beb57bd4a494eef7dca8e71942537f5fb44c0 100644 --- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm +++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm -@@ -1930,6 +1930,7 @@ void ExtractUnderlines(NSAttributedString* string, +@@ -1938,6 +1938,7 @@ void ExtractUnderlines(NSAttributedString* string, } - (id)accessibilityParent { diff --git a/patches/content-browser-gpu-gpu_internals_ui.cc.patch b/patches/content-browser-gpu-gpu_internals_ui.cc.patch index 39498aa713dc..5cc400e05e1d 100644 --- a/patches/content-browser-gpu-gpu_internals_ui.cc.patch +++ b/patches/content-browser-gpu-gpu_internals_ui.cc.patch @@ -1,8 +1,8 @@ diff --git a/content/browser/gpu/gpu_internals_ui.cc b/content/browser/gpu/gpu_internals_ui.cc -index 65b12e86320c4c3c6b2b65fa59743a8effd53997..a80d14db758605d3fbf2676145a6d2238fa12309 100644 +index 9943d7a03dd1f5cd52a2b4e3684451e33205424a..a7be832067566bacc09542f2ad56ea207d5f8629 100644 --- a/content/browser/gpu/gpu_internals_ui.cc +++ b/content/browser/gpu/gpu_internals_ui.cc -@@ -835,6 +835,7 @@ base::Value::Dict GpuMessageHandler::GetClientInfo() { +@@ -805,6 +805,7 @@ base::Value::Dict GpuMessageHandler::GetClientInfo() { std::string("Skia/" STRINGIZE(SK_MILESTONE) " " SKIA_COMMIT_HASH)); dict.Set("revision_identifier", GPU_LISTS_VERSION); diff --git a/patches/content-browser-renderer_host-navigation_controller_impl.cc.patch b/patches/content-browser-renderer_host-navigation_controller_impl.cc.patch index 46bb5907670e..a35acb401221 100644 --- a/patches/content-browser-renderer_host-navigation_controller_impl.cc.patch +++ b/patches/content-browser-renderer_host-navigation_controller_impl.cc.patch @@ -1,5 +1,5 @@ diff --git a/content/browser/renderer_host/navigation_controller_impl.cc b/content/browser/renderer_host/navigation_controller_impl.cc -index 02c86ecda4c6ae88ee9b65ab79fe649aca0e744c..52ca7cb59aa3c5e9982874bbfa13e31a2b3d8f94 100644 +index e2b45b5fb7858c316a14ac43ad334d25630fbeca..7cbabe03f2b572756ccdf7736f4b27f27a23231e 100644 --- a/content/browser/renderer_host/navigation_controller_impl.cc +++ b/content/browser/renderer_host/navigation_controller_impl.cc @@ -3630,16 +3630,17 @@ base::WeakPtr NavigationControllerImpl::NavigateWithoutEntry( diff --git a/patches/content-browser-renderer_host-navigation_request.cc.patch b/patches/content-browser-renderer_host-navigation_request.cc.patch index b4b5cac06d69..3401321ab89b 100644 --- a/patches/content-browser-renderer_host-navigation_request.cc.patch +++ b/patches/content-browser-renderer_host-navigation_request.cc.patch @@ -1,8 +1,8 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc -index b303b8bd70624038ed973d6b7a57311b22d5e6f4..3352a49f7b8bdd7c6510d833f93703479486849e 100644 +index 5d4f3ab1c8328bce254ede9c3c8dfe9a8c84b8d3..cf1c1702a695c97c629955f5c25b0c62e1d3f4eb 100644 --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -3347,6 +3347,7 @@ void NavigationRequest::OnRequestRedirected( +@@ -3404,6 +3404,7 @@ void NavigationRequest::OnRequestRedirected( common_params_->url = redirect_info.new_url; common_params_->method = redirect_info.new_method; common_params_->referrer->url = GURL(redirect_info.new_referrer); @@ -10,7 +10,7 @@ index b303b8bd70624038ed973d6b7a57311b22d5e6f4..3352a49f7b8bdd7c6510d833f9370347 common_params_->referrer = Referrer::SanitizeForRequest( common_params_->url, *common_params_->referrer); -@@ -5062,6 +5063,7 @@ void NavigationRequest::OnStartChecksComplete( +@@ -5104,6 +5105,7 @@ void NavigationRequest::OnStartChecksComplete( headers.MergeFrom(TakeModifiedRequestHeaders()); begin_params_->headers = headers.ToString(); diff --git a/patches/content-browser-renderer_host-render_frame_host_impl.cc.patch b/patches/content-browser-renderer_host-render_frame_host_impl.cc.patch index 5db62eb3fc95..db07761187a2 100644 --- a/patches/content-browser-renderer_host-render_frame_host_impl.cc.patch +++ b/patches/content-browser-renderer_host-render_frame_host_impl.cc.patch @@ -1,8 +1,8 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index 5181caded56411660a98f579199f1a9ff3bfcbde..b8a908dca587612c8195a728cccbc860e6eaa6e6 100644 +index 2e40dedd1e7ed57b5cfb74ae344ab39819997f55..01cc1b09a4ce457504b2cf00c3019e80b625cc3c 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -4197,6 +4197,7 @@ net::IsolationInfo RenderFrameHostImpl::ComputeIsolationInfoInternal( +@@ -4225,6 +4225,7 @@ net::IsolationInfo RenderFrameHostImpl::ComputeIsolationInfoInternal( candidate_site_for_cookies = net::SiteForCookies(top_frame_site); } @@ -10,7 +10,7 @@ index 5181caded56411660a98f579199f1a9ff3bfcbde..b8a908dca587612c8195a728cccbc860 std::optional nonce = ComputeNonce(is_credentialless, fenced_frame_nonce_for_navigation); return net::IsolationInfo::Create(request_type, top_frame_origin, -@@ -4207,6 +4208,7 @@ net::IsolationInfo RenderFrameHostImpl::ComputeIsolationInfoInternal( +@@ -4235,6 +4236,7 @@ net::IsolationInfo RenderFrameHostImpl::ComputeIsolationInfoInternal( std::optional RenderFrameHostImpl::ComputeNonce( bool is_credentialless, std::optional fenced_frame_nonce_for_navigation) { @@ -18,7 +18,7 @@ index 5181caded56411660a98f579199f1a9ff3bfcbde..b8a908dca587612c8195a728cccbc860 // If it's a credentialless frame tree, use its nonce even if it's within a // fenced frame tree to maintain the guarantee that a credentialless frame // tree has a unique nonce. -@@ -8380,6 +8382,8 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -8440,6 +8442,8 @@ void RenderFrameHostImpl::CreateNewWindow( dom_storage_context, params->session_storage_namespace_id); } diff --git a/patches/content-browser-resources-gpu-info_view.ts.patch b/patches/content-browser-resources-gpu-info_view.ts.patch index dd6e402c70aa..5a3c6e7094c8 100644 --- a/patches/content-browser-resources-gpu-info_view.ts.patch +++ b/patches/content-browser-resources-gpu-info_view.ts.patch @@ -1,5 +1,5 @@ diff --git a/content/browser/resources/gpu/info_view.ts b/content/browser/resources/gpu/info_view.ts -index a29834d3e1624f8ebae9a8bbcfa5a15d14bfa367..a31b26894d98dd817eca7100844ea1de4c5139ed 100644 +index 06ad0379c468d56cd9cf88986785f054b65c428c..1c5de23bb2f8f54c271d4aa9fa135ece04b74d36 100644 --- a/content/browser/resources/gpu/info_view.ts +++ b/content/browser/resources/gpu/info_view.ts @@ -537,6 +537,7 @@ export class InfoViewElement extends CustomElement { diff --git a/patches/content-browser-web_contents-web_contents_impl.cc.patch b/patches/content-browser-web_contents-web_contents_impl.cc.patch index 9ae730746353..8eaa435e2d26 100644 --- a/patches/content-browser-web_contents-web_contents_impl.cc.patch +++ b/patches/content-browser-web_contents-web_contents_impl.cc.patch @@ -1,8 +1,8 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index aa108c2e0aab5a44df04c9d6067cabfa71891cc4..a13d75a11d39f36a891266f641beec42bdde9460 100644 +index a3074afab886754b4d6a7e9a5f7f6eca6e5d3aa9..7a2ee7abfafda333afcc89e8f0d7bbc3a7dafa12 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4531,7 +4531,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4597,7 +4597,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( // Save the window for later if we're not suppressing the opener (since it // will be shown immediately). diff --git a/patches/content-browser-zygote_host-zygote_host_impl_linux.cc.patch b/patches/content-browser-zygote_host-zygote_host_impl_linux.cc.patch index d18c7dc5c975..16dff0837654 100644 --- a/patches/content-browser-zygote_host-zygote_host_impl_linux.cc.patch +++ b/patches/content-browser-zygote_host-zygote_host_impl_linux.cc.patch @@ -1,8 +1,8 @@ diff --git a/content/browser/zygote_host/zygote_host_impl_linux.cc b/content/browser/zygote_host/zygote_host_impl_linux.cc -index 0be4e3042ac9e38cb4c524cb5e242560d9c296de..40b83c65e80d2454ac66f957c6e21df2de7a662e 100644 +index 3d0198d38d37fa7f0f936fce77172fef02560685..f15e284e79ec299943ecf5738e206c4ee39d624d 100644 --- a/content/browser/zygote_host/zygote_host_impl_linux.cc +++ b/content/browser/zygote_host/zygote_host_impl_linux.cc -@@ -125,6 +125,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& command_line) { +@@ -124,6 +124,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& command_line) { use_suid_sandbox_for_adj_oom_score_ = use_suid_sandbox_; } else { LOG(FATAL) diff --git a/patches/content-common-BUILD.gn.patch b/patches/content-common-BUILD.gn.patch index 7c3887e6b74e..7a248af8f731 100644 --- a/patches/content-common-BUILD.gn.patch +++ b/patches/content-common-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn -index 250d68fe80384f4409e91dd94a37ebc6ad34d383..97ce6242072902d6e932b52156dee19419f9aa5f 100644 +index 7e67fb0c10bf7e3b99e94a4e026a1fb83ba0d133..b920bc51526141e65e929d68aa333625054c144c 100644 --- a/content/common/BUILD.gn +++ b/content/common/BUILD.gn @@ -69,6 +69,7 @@ source_set("common") { diff --git a/patches/content-common-frame.mojom.patch b/patches/content-common-frame.mojom.patch index 55be2713e7ad..5c223a85f03d 100644 --- a/patches/content-common-frame.mojom.patch +++ b/patches/content-common-frame.mojom.patch @@ -1,5 +1,5 @@ diff --git a/content/common/frame.mojom b/content/common/frame.mojom -index 9381a209cbe182c8bdde694fae763f96c28e96ef..df01f299cab3529c70f0f23b13afa5687c3f3988 100644 +index 268f150c1cc987ea020192a86ab886ed206a0064..1a3c8fcfec655efbd90103aababf641d7a53a9a0 100644 --- a/content/common/frame.mojom +++ b/content/common/frame.mojom @@ -566,6 +566,7 @@ struct CreateNewWindowParams { diff --git a/patches/content-common-user_agent.cc.patch b/patches/content-common-user_agent.cc.patch index 00f1c6cbbd3b..b982d58d072d 100644 --- a/patches/content-common-user_agent.cc.patch +++ b/patches/content-common-user_agent.cc.patch @@ -1,8 +1,8 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc -index 5c99971335e9c9dfb6ebc276d592571d569fd992..731269446dc2d4d5dcce86e71a880f6f1014a62b 100644 +index 070658460eb74513b83e746f20d80af5b79a2df3..495dbde5e2d9fbcc160c0f3d034d4ab3a57781a2 100644 --- a/content/common/user_agent.cc +++ b/content/common/user_agent.cc -@@ -377,6 +377,7 @@ std::string GetAndroidOSInfo( +@@ -385,6 +385,7 @@ std::string GetAndroidOSInfo( // Send information about the device. bool semicolon_inserted = false; diff --git a/patches/content-renderer-render_frame_impl.cc.patch b/patches/content-renderer-render_frame_impl.cc.patch index 0d550f2a08a3..d828439409a5 100644 --- a/patches/content-renderer-render_frame_impl.cc.patch +++ b/patches/content-renderer-render_frame_impl.cc.patch @@ -1,8 +1,8 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index a3f434bb7770ce58de5c66d7ca9a913ddecb0c96..f45585e85e27f52d403de53e100010814465b755 100644 +index f362ee7c232419eba8f00422fa5379e6af96eae7..4919f814368f8fc46a89f867acb4c26a33ee2e70 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -4716,6 +4716,7 @@ bool RenderFrameImpl::ShouldUseUserAgentOverride() const { +@@ -4744,6 +4744,7 @@ bool RenderFrameImpl::ShouldUseUserAgentOverride() const { // Temporarily return early and fix properly as part of // https://crbug.com/426555. if (web_view->MainFrame()->IsWebRemoteFrame()) diff --git a/patches/content-renderer-render_thread_impl.cc.patch b/patches/content-renderer-render_thread_impl.cc.patch index 5f1346bbf1e0..c91782280a1b 100644 --- a/patches/content-renderer-render_thread_impl.cc.patch +++ b/patches/content-renderer-render_thread_impl.cc.patch @@ -1,5 +1,5 @@ diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc -index fef1829ebda8590fd8a2c4ac92063924fea5819e..3186c40b57bab405d6f5a80edbd410373fdf557f 100644 +index 3594bc7a25c95dd348495b42a27aa0e1f54323dc..19b541b1540fdd4c0aee1e0f81493ae849e3d6a2 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc @@ -883,6 +883,7 @@ void RenderThreadImpl::InitializeRenderer( diff --git a/patches/crypto-unexportable_key_metrics.cc.patch b/patches/crypto-unexportable_key_metrics.cc.patch index f5dfed5bcd92..aff15fdad777 100644 --- a/patches/crypto-unexportable_key_metrics.cc.patch +++ b/patches/crypto-unexportable_key_metrics.cc.patch @@ -1,8 +1,8 @@ diff --git a/crypto/unexportable_key_metrics.cc b/crypto/unexportable_key_metrics.cc -index 662424286d08afbdb9d187ab9712656df9d67063..aaa8eb168b2d50dbf9acac2950cb7d99410c7bb1 100644 +index e3161335a9764c8a8bbc4c16e4eff3426d899250..64634b8af62af7f59fe40c0db2af681f2d0feb10 100644 --- a/crypto/unexportable_key_metrics.cc +++ b/crypto/unexportable_key_metrics.cc -@@ -28,6 +28,7 @@ enum class KeyType { +@@ -30,6 +30,7 @@ enum class KeyType { }; const SignatureVerifier::SignatureAlgorithm kAllAlgorithms[] = { @@ -10,7 +10,7 @@ index 662424286d08afbdb9d187ab9712656df9d67063..aaa8eb168b2d50dbf9acac2950cb7d99 SignatureVerifier::SignatureAlgorithm::ECDSA_SHA256, SignatureVerifier::SignatureAlgorithm::RSA_PKCS1_SHA256, }; -@@ -137,6 +138,7 @@ internal::TPMSupport MeasureVirtualTpmOperations() { +@@ -139,6 +140,7 @@ internal::TPMSupport MeasureVirtualTpmOperations() { if (algo) { switch (*algo) { case SignatureVerifier::SignatureAlgorithm::ECDSA_SHA256: @@ -18,7 +18,7 @@ index 662424286d08afbdb9d187ab9712656df9d67063..aaa8eb168b2d50dbf9acac2950cb7d99 supported_virtual_algo = internal::TPMSupport::kECDSA; break; case SignatureVerifier::SignatureAlgorithm::RSA_PKCS1_SHA256: -@@ -216,6 +218,7 @@ void MeasureTpmOperationsInternal() { +@@ -218,6 +220,7 @@ void MeasureTpmOperationsInternal(UnexportableKeyProvider::Config config) { if (algo) { switch (*algo) { case SignatureVerifier::SignatureAlgorithm::ECDSA_SHA256: diff --git a/patches/extensions-browser-api-web_request-extension_web_request_event_router.cc.patch b/patches/extensions-browser-api-web_request-extension_web_request_event_router.cc.patch index b1b12a065798..2345aef9279a 100644 --- a/patches/extensions-browser-api-web_request-extension_web_request_event_router.cc.patch +++ b/patches/extensions-browser-api-web_request-extension_web_request_event_router.cc.patch @@ -1,8 +1,8 @@ diff --git a/extensions/browser/api/web_request/extension_web_request_event_router.cc b/extensions/browser/api/web_request/extension_web_request_event_router.cc -index 706f167da358fd96897856cd38d703911d4766e8..893700f589b41d052d505b25a9a4d095e911dc55 100644 +index 2d850627ed51ae311b75c320253986d2bd0074f9..0bb6439e8482b33f2d043af1ea1c7431989c4d0f 100644 --- a/extensions/browser/api/web_request/extension_web_request_event_router.cc +++ b/extensions/browser/api/web_request/extension_web_request_event_router.cc -@@ -1208,6 +1208,7 @@ WebRequestEventRouter::OnAuthRequired(content::BrowserContext* browser_context, +@@ -1273,6 +1273,7 @@ WebRequestEventRouter::OnAuthRequired(content::BrowserContext* browser_context, *request)) { return AuthRequiredResponse::AUTH_REQUIRED_RESPONSE_NO_ACTION; } diff --git a/patches/extensions-browser-user_script_manager.h.patch b/patches/extensions-browser-user_script_manager.h.patch index 0393e6478833..7ee303923492 100644 --- a/patches/extensions-browser-user_script_manager.h.patch +++ b/patches/extensions-browser-user_script_manager.h.patch @@ -1,8 +1,8 @@ diff --git a/extensions/browser/user_script_manager.h b/extensions/browser/user_script_manager.h -index c4e2908d85e41a717462c6377ceb58a4624846d6..693afcacfa02d813995048224b31c3cf21043ad6 100644 +index 83e9b9d46ad5b3594576cd87189b78d9fcb8aab7..560cfb4acc009a61cb016af3fb3da4cceabd523d 100644 --- a/extensions/browser/user_script_manager.h +++ b/extensions/browser/user_script_manager.h -@@ -25,7 +25,7 @@ +@@ -26,7 +26,7 @@ namespace content { class BrowserContext; } @@ -11,7 +11,7 @@ index c4e2908d85e41a717462c6377ceb58a4624846d6..693afcacfa02d813995048224b31c3cf namespace extensions { class UserScriptLoader; -@@ -55,6 +55,7 @@ class UserScriptManager : public ExtensionRegistryObserver { +@@ -56,6 +56,7 @@ class UserScriptManager : public ExtensionRegistryObserver { bool enabled); private: diff --git a/patches/extensions-renderer-native_extension_bindings_system.h.patch b/patches/extensions-renderer-native_extension_bindings_system.h.patch index d64806e3abf7..d001402a6921 100644 --- a/patches/extensions-renderer-native_extension_bindings_system.h.patch +++ b/patches/extensions-renderer-native_extension_bindings_system.h.patch @@ -1,5 +1,5 @@ diff --git a/extensions/renderer/native_extension_bindings_system.h b/extensions/renderer/native_extension_bindings_system.h -index d6f82549b480681bad5c6b05189d139ed848d2db..7ccd71f0c8ff66ff7897367102a15318ac71049e 100644 +index a1bea558281f7a2e6b781ac53cea89746eca3f3b..6e63c267f44f4587fbb33e3bbf950e5dad7f7c2a 100644 --- a/extensions/renderer/native_extension_bindings_system.h +++ b/extensions/renderer/native_extension_bindings_system.h @@ -50,6 +50,7 @@ class NativeExtensionBindingsSystem { diff --git a/patches/ios-chrome-app-BUILD.gn.patch b/patches/ios-chrome-app-BUILD.gn.patch index 2b60cda77baa..ac23646da087 100644 --- a/patches/ios-chrome-app-BUILD.gn.patch +++ b/patches/ios-chrome-app-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/ios/chrome/app/BUILD.gn b/ios/chrome/app/BUILD.gn -index 042fbe198e61cb99d1190811b98638b81ceecb27..cd85f0e0b5da3e3f071cc9a764c82cd71bb78d5e 100644 +index 7f169bfb23547f67781db38f490158c306cf6a3f..fb7f7a30c607a81bf907cff6f99d22a7de1ff30a 100644 --- a/ios/chrome/app/BUILD.gn +++ b/ios/chrome/app/BUILD.gn -@@ -808,8 +808,7 @@ chrome_app("chrome") { +@@ -830,8 +830,7 @@ chrome_app("chrome") { # (see https://crbug.com/1394553 for details of the build failure). This # is a stop-gap solution. if (target_environment == "catalyst" || diff --git a/patches/ios-chrome-browser-flags-about_flags.mm.patch b/patches/ios-chrome-browser-flags-about_flags.mm.patch index d2f3fba0fdf0..cbaab6f81d9a 100644 --- a/patches/ios-chrome-browser-flags-about_flags.mm.patch +++ b/patches/ios-chrome-browser-flags-about_flags.mm.patch @@ -1,8 +1,8 @@ diff --git a/ios/chrome/browser/flags/about_flags.mm b/ios/chrome/browser/flags/about_flags.mm -index 6c79c4eda98b1d0e7dd43c4cf2301ae0ccffc21e..9e6d81aa1765779b5b51f5e49a0b17440790e153 100644 +index 7a8f75ecd0eefc1f366071a577a097d69916d766..e152b5f5eab130e46a21b3062153b0f9a7ed5505 100644 --- a/ios/chrome/browser/flags/about_flags.mm +++ b/ios/chrome/browser/flags/about_flags.mm -@@ -778,6 +778,7 @@ const FeatureEntry::FeatureVariation kIOSDockingPromoVariations[] = { +@@ -767,6 +767,7 @@ const FeatureEntry::FeatureVariation kModernTabStripVariations[] = { // // When adding a new choice, add it to the end of the list. const flags_ui::FeatureEntry kFeatureEntries[] = { diff --git a/patches/mojo-public-tools-bindings-checks-mojom_attributes_check.py.patch b/patches/mojo-public-tools-bindings-checks-mojom_attributes_check.py.patch index 1adf88213a71..eac940fb8e12 100644 --- a/patches/mojo-public-tools-bindings-checks-mojom_attributes_check.py.patch +++ b/patches/mojo-public-tools-bindings-checks-mojom_attributes_check.py.patch @@ -1,5 +1,5 @@ diff --git a/mojo/public/tools/bindings/checks/mojom_attributes_check.py b/mojo/public/tools/bindings/checks/mojom_attributes_check.py -index e6e4f2c9392b41fdf6e122db90b50a14bef59718..024b6fb052476d29957133869acecf09f52a523a 100644 +index 91f259358575485bcc7d143b9e37cf07f7efd1c4..313b9d05dbfdb24169db32f5a6ff423124da0796 100644 --- a/mojo/public/tools/bindings/checks/mojom_attributes_check.py +++ b/mojo/public/tools/bindings/checks/mojom_attributes_check.py @@ -7,6 +7,7 @@ import mojom.generate.check as check diff --git a/patches/net-BUILD.gn.patch b/patches/net-BUILD.gn.patch index 8511bd0bc352..932f5749ae41 100644 --- a/patches/net-BUILD.gn.patch +++ b/patches/net-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn -index 0e5d94a0bce317761852f0bc43ac1d3010a8a351..6972f413834e7cdf922300720f91ba62fb2e3ff9 100644 +index f35c35e21f2b64598d86b39dbe91ff84edd92584..855db7389d29e0a77b1aef7da5bc4359131cd8d9 100644 --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1098,6 +1098,7 @@ component("net") { +@@ -1101,6 +1101,7 @@ component("net") { "reporting/reporting_uploader.h", ] } diff --git a/patches/net-cookies-canonical_cookie.cc.patch b/patches/net-cookies-canonical_cookie.cc.patch index 928d21d9f9c9..479a217888f8 100644 --- a/patches/net-cookies-canonical_cookie.cc.patch +++ b/patches/net-cookies-canonical_cookie.cc.patch @@ -1,8 +1,8 @@ diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc -index fb0fe2873fd2d2dd29c4b5ddfec5dc49f6720053..ccd3a9b70c75e1188e4463f2eb25f7454c6f489c 100644 +index 9b13cc5f8b744e2e175e31ccc1aaf80f91ce6393..6fa006072e14230b53b4ce4161eca973c0b15060 100644 --- a/net/cookies/canonical_cookie.cc +++ b/net/cookies/canonical_cookie.cc -@@ -538,6 +538,7 @@ base::Time CanonicalCookie::ValidateAndAdjustExpiryDate( +@@ -346,6 +346,7 @@ base::Time CanonicalCookie::ValidateAndAdjustExpiryDate( // * network_handler.cc::MakeCookieFromProtocolValues fixed_creation_date = base::Time::Now(); } diff --git a/patches/net-dns-BUILD.gn.patch b/patches/net-dns-BUILD.gn.patch index 30fc1094bcda..5f641a516a87 100644 --- a/patches/net-dns-BUILD.gn.patch +++ b/patches/net-dns-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/net/dns/BUILD.gn b/net/dns/BUILD.gn -index 0c5cb82b1248997ef3b97f17bef52f880fed26fd..996bf855b524d50492375fa190f76451a0604974 100644 +index 9c10bfed595d0f6ac1a633594da791845cff2196..9256949c3c5315d151f0339cbe99965be89b96da 100644 --- a/net/dns/BUILD.gn +++ b/net/dns/BUILD.gn -@@ -104,6 +104,7 @@ source_set("dns") { +@@ -106,6 +106,7 @@ source_set("dns") { "test_dns_config_service.cc", "test_dns_config_service.h", ] diff --git a/patches/net-dns-host_resolver_manager_job.cc.patch b/patches/net-dns-host_resolver_manager_job.cc.patch index 712717d8a2b9..068ff9dcf25b 100644 --- a/patches/net-dns-host_resolver_manager_job.cc.patch +++ b/patches/net-dns-host_resolver_manager_job.cc.patch @@ -1,8 +1,8 @@ diff --git a/net/dns/host_resolver_manager_job.cc b/net/dns/host_resolver_manager_job.cc -index 794d6be26edeededeab5c8977d776e035670fa5e..9a188018a0898ae030e52eb367c1f29debf8b3c7 100644 +index b32e44dd33d3786258eb60f4c3fd45f290514ea9..2e3c38d2f92335fc0cdb3a922ed1ae69a907ae25 100644 --- a/net/dns/host_resolver_manager_job.cc +++ b/net/dns/host_resolver_manager_job.cc -@@ -964,6 +964,7 @@ void HostResolverManager::Job::CompleteRequests( +@@ -955,6 +955,7 @@ void HostResolverManager::Job::CompleteRequests( } RecordJobHistograms(results, task_type); diff --git a/patches/sandbox-policy-win-sandbox_win.cc.patch b/patches/sandbox-policy-win-sandbox_win.cc.patch index 06567827742d..19c82101dd47 100644 --- a/patches/sandbox-policy-win-sandbox_win.cc.patch +++ b/patches/sandbox-policy-win-sandbox_win.cc.patch @@ -1,5 +1,5 @@ diff --git a/sandbox/policy/win/sandbox_win.cc b/sandbox/policy/win/sandbox_win.cc -index 6bf94fa65c5b69bedd4e19973ffa275521bc331b..a482a84b48038a26358279901c3e9687722c550e 100644 +index d7eed71feab0b4cc2c7b772c92b19897a447c06b..2dff3d555786807d860cfd714ffb5cdba32ad349 100644 --- a/sandbox/policy/win/sandbox_win.cc +++ b/sandbox/policy/win/sandbox_win.cc @@ -752,6 +752,7 @@ ResultCode LaunchWithoutSandbox( diff --git a/patches/sandbox-win-BUILD.gn.patch b/patches/sandbox-win-BUILD.gn.patch index 6e5b1a770074..aeaabc4d26c9 100644 --- a/patches/sandbox-win-BUILD.gn.patch +++ b/patches/sandbox-win-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/sandbox/win/BUILD.gn b/sandbox/win/BUILD.gn -index 57d190b0c1ccee1f8b39e4292d428ed54a8eb13a..ce59dd52dff6797df85558b17e70ad0f190fe0e3 100644 +index 7f29a0cc2a57d2321100691245f1c0cb0341d9a2..d3390350b62d87047437c92cc05860543c066800 100644 --- a/sandbox/win/BUILD.gn +++ b/sandbox/win/BUILD.gn @@ -179,6 +179,7 @@ static_library("sandbox") { diff --git a/patches/services-network-cors-cors_url_loader.cc.patch b/patches/services-network-cors-cors_url_loader.cc.patch index aa5a179b326c..7959fb856eaf 100644 --- a/patches/services-network-cors-cors_url_loader.cc.patch +++ b/patches/services-network-cors-cors_url_loader.cc.patch @@ -1,8 +1,8 @@ diff --git a/services/network/cors/cors_url_loader.cc b/services/network/cors/cors_url_loader.cc -index ca6b941cf26b297893eb93a5fcf799f8816d0d6d..70d67be4b2a835e377c269aeb253eba3d825600e 100644 +index bb65f35503578bf373d408ab8a3073be840fe29f..13255708f6d26b6c6ddcbd584522afd25f7a483c 100644 --- a/services/network/cors/cors_url_loader.cc +++ b/services/network/cors/cors_url_loader.cc -@@ -844,6 +844,7 @@ void CorsURLLoader::StartRequest() { +@@ -835,6 +835,7 @@ void CorsURLLoader::StartRequest() { (fetch_cors_flag_ || (request_.method != net::HttpRequestHeaders::kGetMethod && request_.method != net::HttpRequestHeaders::kHeadMethod))) { diff --git a/patches/services-network-public-cpp-BUILD.gn.patch b/patches/services-network-public-cpp-BUILD.gn.patch index 2ec44c78f21f..5da117d16a38 100644 --- a/patches/services-network-public-cpp-BUILD.gn.patch +++ b/patches/services-network-public-cpp-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/services/network/public/cpp/BUILD.gn b/services/network/public/cpp/BUILD.gn -index 0d29d5111154f991446ccad4b1e1c6245cc41a9f..ac307672daeb86c05eae0e2064084b290e03dc11 100644 +index fdebc796da1f325c6eb2b45c5d048ee57d2d64eb..599d34b9be6314b244d27a82f16d8c67dad6962b 100644 --- a/services/network/public/cpp/BUILD.gn +++ b/services/network/public/cpp/BUILD.gn -@@ -194,6 +194,7 @@ component("cpp") { +@@ -189,6 +189,7 @@ component("cpp") { "//services/proxy_resolver/public/mojom", ] diff --git a/patches/third_party-android_deps-BUILD.gn.patch b/patches/third_party-android_deps-BUILD.gn.patch index 55c65ee4a6b4..3213b655fb9f 100644 --- a/patches/third_party-android_deps-BUILD.gn.patch +++ b/patches/third_party-android_deps-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn -index 895de161f26d7b0ed88bcfe96f113b4944b35fa7..e9565a3612d3588cf413160f4a8a923adddbb9d6 100644 +index 34a42a8f6e5317a4bac2c1d882dcf9c8b803deee..362c8538ef6ede55941d8e17c92d4bfa9f78f601 100644 --- a/third_party/android_deps/BUILD.gn +++ b/third_party/android_deps/BUILD.gn -@@ -458,6 +458,7 @@ java_prebuilt("com_google_auto_value_auto_value_annotations_java") { +@@ -465,6 +465,7 @@ java_prebuilt("com_google_auto_value_auto_value_annotations_java") { ":*", "//third_party/androidx:*", ] diff --git a/patches/third_party-blink-common-client_hints-client_hints.cc.patch b/patches/third_party-blink-common-client_hints-client_hints.cc.patch index 77f4c0b29dfa..ce69720ff86b 100644 --- a/patches/third_party-blink-common-client_hints-client_hints.cc.patch +++ b/patches/third_party-blink-common-client_hints-client_hints.cc.patch @@ -1,5 +1,5 @@ diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party/blink/common/client_hints/client_hints.cc -index 8172639a0a556ccde3fa878336ad48702919452b..be05ae342d28ecb24fdba1216e1ceb19df09f491 100644 +index 835cf4c6aa282026fa9f94beb906094177843792..a96e7aaf56904e1dc670a4cb4fd8b8de54d15199 100644 --- a/third_party/blink/common/client_hints/client_hints.cc +++ b/third_party/blink/common/client_hints/client_hints.cc @@ -105,6 +105,7 @@ const PolicyFeatureToClientHintMap& GetPolicyFeatureToClientHintMap() { diff --git a/patches/third_party-blink-common-permissions-permission_utils.cc.patch b/patches/third_party-blink-common-permissions-permission_utils.cc.patch index 19f5d5e7d681..3d80cb80ca41 100644 --- a/patches/third_party-blink-common-permissions-permission_utils.cc.patch +++ b/patches/third_party-blink-common-permissions-permission_utils.cc.patch @@ -1,5 +1,5 @@ diff --git a/third_party/blink/common/permissions/permission_utils.cc b/third_party/blink/common/permissions/permission_utils.cc -index 2b26e15a7c931f17c369ce7b96e7fcfe47f3a261..59e7fdba9841e9d3a5f5f5c0e065274be49e76da 100644 +index 9b7c4524480fc54c6cf86027e69ac8784f1e310f..4e2722ad001540352d4cf71e0def8d2ae8c3f057 100644 --- a/third_party/blink/common/permissions/permission_utils.cc +++ b/third_party/blink/common/permissions/permission_utils.cc @@ -28,6 +28,7 @@ mojom::PermissionStatus ToPermissionStatus(const std::string& status) { diff --git a/patches/third_party-blink-renderer-BUILD.gn.patch b/patches/third_party-blink-renderer-BUILD.gn.patch index 12b6de6468cc..7d18a3f8a3d9 100644 --- a/patches/third_party-blink-renderer-BUILD.gn.patch +++ b/patches/third_party-blink-renderer-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/third_party/blink/renderer/BUILD.gn b/third_party/blink/renderer/BUILD.gn -index 67572d14552994489380af40043fc1acd9fe805d..f6c228129e76695f3bdff8edc593f7deaeee5fea 100644 +index bd778536e1541f71763791bc1e275a89f5997a7a..cdb66873dbb8c845cdf9a76016ff5588d53c574d 100644 --- a/third_party/blink/renderer/BUILD.gn +++ b/third_party/blink/renderer/BUILD.gn @@ -9,6 +9,7 @@ if (is_clang) { diff --git a/patches/third_party-blink-renderer-bindings-BUILD.gn.patch b/patches/third_party-blink-renderer-bindings-BUILD.gn.patch index f383211eee40..c997d543a461 100644 --- a/patches/third_party-blink-renderer-bindings-BUILD.gn.patch +++ b/patches/third_party-blink-renderer-bindings-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/bindings/BUILD.gn b/third_party/blink/renderer/bindings/BUILD.gn -index 3607b9fbad0a23513080a5f5c7c26d0dfeb0d5e7..496e6d6931b8b6a801e5a16575a676c741cd44e7 100644 +index b1c8a6458c7c73d3cf82ad9fc50b889fe94af5b7..3d45b3a72d9b317a2f9db382129ae83176ef0882 100644 --- a/third_party/blink/renderer/bindings/BUILD.gn +++ b/third_party/blink/renderer/bindings/BUILD.gn -@@ -173,6 +173,7 @@ template("generate_bindings") { +@@ -196,6 +196,7 @@ template("generate_bindings") { args += invoker.targets deps = [ ":web_idl_database" ] diff --git a/patches/third_party-blink-renderer-bindings-core-v8-v8_script_runner.cc.patch b/patches/third_party-blink-renderer-bindings-core-v8-v8_script_runner.cc.patch index 3b4ff8e096d1..c6903f292945 100644 --- a/patches/third_party-blink-renderer-bindings-core-v8-v8_script_runner.cc.patch +++ b/patches/third_party-blink-renderer-bindings-core-v8-v8_script_runner.cc.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/bindings/core/v8/v8_script_runner.cc b/third_party/blink/renderer/bindings/core/v8/v8_script_runner.cc -index 2184a7a3d62e3cd93ffc35587c1ff9abc436e8be..2065f82c69beb8078166cfeacad7a450cae66c77 100644 +index c391fceccbffc624b52a5f022418854fe0349584..11aaf0cb3a5c198a1b43c4580be8ab3647cbbb2c 100644 --- a/third_party/blink/renderer/bindings/core/v8/v8_script_runner.cc +++ b/third_party/blink/renderer/bindings/core/v8/v8_script_runner.cc -@@ -296,7 +296,7 @@ int GetMicrotasksScopeDepth(v8::Isolate* isolate, +@@ -302,7 +302,7 @@ int GetMicrotasksScopeDepth(v8::Isolate* isolate, } // namespace @@ -11,7 +11,7 @@ index 2184a7a3d62e3cd93ffc35587c1ff9abc436e8be..2065f82c69beb8078166cfeacad7a450 ScriptState* script_state, const ClassicScript& classic_script, v8::ScriptOrigin origin, -@@ -340,7 +340,7 @@ v8::MaybeLocal V8ScriptRunner::CompileScript( +@@ -346,7 +346,7 @@ v8::MaybeLocal V8ScriptRunner::CompileScript( return script; } diff --git a/patches/third_party-blink-renderer-bindings-generated_in_modules.gni.patch b/patches/third_party-blink-renderer-bindings-generated_in_modules.gni.patch index 29633e30acf8..8b9aa10252b3 100644 --- a/patches/third_party-blink-renderer-bindings-generated_in_modules.gni.patch +++ b/patches/third_party-blink-renderer-bindings-generated_in_modules.gni.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/bindings/generated_in_modules.gni b/third_party/blink/renderer/bindings/generated_in_modules.gni -index 41da88d847bd1dc54680b650023eb12e477572ea..f2ce5b56ca2021331654315c8ba1c6562c57afec 100644 +index 8c784a9772c7eef8241190d773c32c27749bab6e..e69e76b7fd8415cc4017b6f79fb2d8c0e60c944a 100644 --- a/third_party/blink/renderer/bindings/generated_in_modules.gni +++ b/third_party/blink/renderer/bindings/generated_in_modules.gni -@@ -2937,6 +2937,7 @@ generated_interface_sources_in_modules = [ +@@ -2955,6 +2955,7 @@ generated_interface_sources_in_modules = [ "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_webgl_sub_image.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_webgl_sub_image.h", ] diff --git a/patches/third_party-blink-renderer-bindings-idl_in_modules.gni.patch b/patches/third_party-blink-renderer-bindings-idl_in_modules.gni.patch index eaccc25383db..41f007a7d65b 100644 --- a/patches/third_party-blink-renderer-bindings-idl_in_modules.gni.patch +++ b/patches/third_party-blink-renderer-bindings-idl_in_modules.gni.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/bindings/idl_in_modules.gni b/third_party/blink/renderer/bindings/idl_in_modules.gni -index 3a90e391a0b5f9b2d0c76b7740a0b75ecdc3d763..3c623d263b75957068c08bde1c0fc36cdec35f17 100644 +index 71d3b866191698d6dcad90349db3fab778c0c9fa..ee90d5768adfa2b57af2b7f1b6c573e7c0bdfc50 100644 --- a/third_party/blink/renderer/bindings/idl_in_modules.gni +++ b/third_party/blink/renderer/bindings/idl_in_modules.gni -@@ -1246,6 +1246,7 @@ static_idl_files_in_modules = [ +@@ -1254,6 +1254,7 @@ static_idl_files_in_modules = [ "//third_party/blink/renderer/modules/xr/xr_webgl_layer_init.idl", "//third_party/blink/renderer/modules/xr/xr_webgl_sub_image.idl", ] diff --git a/patches/third_party-blink-renderer-bindings-scripts-bind_gen-interface.py.patch b/patches/third_party-blink-renderer-bindings-scripts-bind_gen-interface.py.patch index 4c5fb5817d5e..64b132dea9d1 100644 --- a/patches/third_party-blink-renderer-bindings-scripts-bind_gen-interface.py.patch +++ b/patches/third_party-blink-renderer-bindings-scripts-bind_gen-interface.py.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py b/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py -index cc5687a3b6777165021058aac5ef112f6b860021..89f66bf3ba9f83f890f857fe23445b6f4310ac9f 100644 +index b8989c98782fa2e05241f8c847bc026807851a85..00a101a1acf6fdd4f1e043d0760dca0317204506 100644 --- a/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py +++ b/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py -@@ -7538,3 +7538,4 @@ def generate_interfaces(task_queue): +@@ -7553,3 +7553,4 @@ def generate_interfaces(task_queue): "InitIDLInterfacesForTesting", "init_idl_interfaces_for_testing", for_testing=True) diff --git a/patches/third_party-blink-renderer-core-BUILD.gn.patch b/patches/third_party-blink-renderer-core-BUILD.gn.patch index f707b098ae04..e471f2a400b5 100644 --- a/patches/third_party-blink-renderer-core-BUILD.gn.patch +++ b/patches/third_party-blink-renderer-core-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/core/BUILD.gn b/third_party/blink/renderer/core/BUILD.gn -index bbf0dca729f7558fe0412ee681389efca6d39ad7..ccf26f294d96d4b65c5232c6c7d2a7e5de21e1be 100644 +index 45f575dead4a033161fa6f585fa83cd79663899f..f4d504422981e3a11a019ef3f25061cabf8d87e7 100644 --- a/third_party/blink/renderer/core/BUILD.gn +++ b/third_party/blink/renderer/core/BUILD.gn -@@ -406,6 +406,7 @@ component("core") { +@@ -405,6 +405,7 @@ component("core") { "Carbon.framework", ] } diff --git a/patches/third_party-blink-renderer-core-dom-events-event_target.cc.patch b/patches/third_party-blink-renderer-core-dom-events-event_target.cc.patch index 9f65a77ddc30..13d0ce5486c0 100644 --- a/patches/third_party-blink-renderer-core-dom-events-event_target.cc.patch +++ b/patches/third_party-blink-renderer-core-dom-events-event_target.cc.patch @@ -1,5 +1,5 @@ diff --git a/third_party/blink/renderer/core/dom/events/event_target.cc b/third_party/blink/renderer/core/dom/events/event_target.cc -index 29d73566ed74a4204f509164e9d2391902dd392f..96a0374de59f062a8b2756d678d38917df66e828 100644 +index 5c1adae9b8fc775680836a392046e68666081f7d..3185fb92e77b8c340b6d26d918b5fdbf8ad57ed4 100644 --- a/third_party/blink/renderer/core/dom/events/event_target.cc +++ b/third_party/blink/renderer/core/dom/events/event_target.cc @@ -650,6 +650,7 @@ bool EventTarget::AddEventListenerInternal( @@ -10,7 +10,7 @@ index 29d73566ed74a4204f509164e9d2391902dd392f..96a0374de59f062a8b2756d678d38917 if (options->hasSignal()) { // Instead of passing the entire |options| here, which could create a // circular reference due to |options| holding a Member, just -@@ -812,6 +813,7 @@ bool EventTarget::RemoveEventListenerInternal( +@@ -830,6 +831,7 @@ bool EventTarget::RemoveEventListenerInternal( ®istered_listener)) { return false; } diff --git a/patches/third_party-blink-renderer-core-frame-dom_window.h.patch b/patches/third_party-blink-renderer-core-frame-dom_window.h.patch index 047bcfd9c0dc..a960ba8bbbdb 100644 --- a/patches/third_party-blink-renderer-core-frame-dom_window.h.patch +++ b/patches/third_party-blink-renderer-core-frame-dom_window.h.patch @@ -1,5 +1,5 @@ diff --git a/third_party/blink/renderer/core/frame/dom_window.h b/third_party/blink/renderer/core/frame/dom_window.h -index 737e633bd1c2f6ebceb91f47b56e52259b99312e..ea40e85f0f05c77894047674352bb2bed3a134b0 100644 +index f74898cd138264505a08206891cab9eeaf605384..175383b6f90c441d2cd827e249a429893898e715 100644 --- a/third_party/blink/renderer/core/frame/dom_window.h +++ b/third_party/blink/renderer/core/frame/dom_window.h @@ -197,6 +197,7 @@ class CORE_EXPORT DOMWindow : public WindowProperties { diff --git a/patches/third_party-blink-renderer-core-frame-local_dom_window.cc.patch b/patches/third_party-blink-renderer-core-frame-local_dom_window.cc.patch index 3ba3d6068aeb..248ef00dc667 100644 --- a/patches/third_party-blink-renderer-core-frame-local_dom_window.cc.patch +++ b/patches/third_party-blink-renderer-core-frame-local_dom_window.cc.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc -index 86d2fba8e0ee3cb8ada3f0804b93140d0719288d..8dac875ac5dad458700cdd69d2c75b84834e7d6c 100644 +index 86d62960d31c31caff100bfefda6975b366a3197..65031b340b8ca68b123519b6ae0d04c5473755ea 100644 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -474,6 +474,7 @@ bool LocalDOMWindow::CanExecuteScripts( +@@ -478,6 +478,7 @@ bool LocalDOMWindow::CanExecuteScripts( bool allow_script_content_setting = GetFrame()->GetContentSettings()->allow_script; bool script_enabled = allow_script_renderer && allow_script_content_setting; diff --git a/patches/third_party-blink-renderer-core-html-canvas-html_canvas_element.cc.patch b/patches/third_party-blink-renderer-core-html-canvas-html_canvas_element.cc.patch index 9dfdaace517e..31b33477af52 100644 --- a/patches/third_party-blink-renderer-core-html-canvas-html_canvas_element.cc.patch +++ b/patches/third_party-blink-renderer-core-html-canvas-html_canvas_element.cc.patch @@ -1,5 +1,5 @@ diff --git a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc b/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc -index dff510bc27339dcb231b93396d292953515e95ba..2192d3bc1f4cf396f3b109c8cc540cc15f6e54be 100644 +index 09d97aa411ac25d5f173a48350b476c69f80da31..1acdc9804990260215c9c14c132a521fe7949966 100644 --- a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc +++ b/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc @@ -1156,6 +1156,7 @@ String HTMLCanvasElement::ToDataURLInternal( diff --git a/patches/third_party-blink-renderer-core-html-canvas-html_canvas_element.h.patch b/patches/third_party-blink-renderer-core-html-canvas-html_canvas_element.h.patch index 101ff5ff1109..b83d4566449a 100644 --- a/patches/third_party-blink-renderer-core-html-canvas-html_canvas_element.h.patch +++ b/patches/third_party-blink-renderer-core-html-canvas-html_canvas_element.h.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/core/html/canvas/html_canvas_element.h b/third_party/blink/renderer/core/html/canvas/html_canvas_element.h -index 2e4e2dc34bfd0ec9ad80e368ee23c670a50a2c93..91fbec929b24c3080696b648b2564cd1794d13e4 100644 +index 74d8b469accf320e34ceac60930193cea0b48cc5..1950219ad25ba0e38fa20e60754bbf2999b329c8 100644 --- a/third_party/blink/renderer/core/html/canvas/html_canvas_element.h +++ b/third_party/blink/renderer/core/html/canvas/html_canvas_element.h -@@ -317,6 +317,7 @@ class CORE_EXPORT HTMLCanvasElement final +@@ -316,6 +316,7 @@ class CORE_EXPORT HTMLCanvasElement final bool ShouldDisableAccelerationBecauseOfReadback() const; diff --git a/patches/third_party-blink-renderer-core-loader-mixed_content_checker.cc.patch b/patches/third_party-blink-renderer-core-loader-mixed_content_checker.cc.patch index 417eed284ece..9bd14d068c65 100644 --- a/patches/third_party-blink-renderer-core-loader-mixed_content_checker.cc.patch +++ b/patches/third_party-blink-renderer-core-loader-mixed_content_checker.cc.patch @@ -1,5 +1,5 @@ diff --git a/third_party/blink/renderer/core/loader/mixed_content_checker.cc b/third_party/blink/renderer/core/loader/mixed_content_checker.cc -index f6666c79cea87325871eccadaf3b9a2928dc4ef6..ca7f566085085cf281121073917d093eb27a1d3a 100644 +index 087986ad7ee53cf9a3c056e21066660c5baada6a..c1acf4701a603aba6ca806a5d343f2a2f33f04ab 100644 --- a/third_party/blink/renderer/core/loader/mixed_content_checker.cc +++ b/third_party/blink/renderer/core/loader/mixed_content_checker.cc @@ -276,6 +276,7 @@ bool RequestIsSubframeSubresource(Frame* frame) { diff --git a/patches/third_party-blink-renderer-core-permissions_policy-permissions_policy_features.json5.patch b/patches/third_party-blink-renderer-core-permissions_policy-permissions_policy_features.json5.patch index 1bf80db2c7e7..9ce32760ac1a 100644 --- a/patches/third_party-blink-renderer-core-permissions_policy-permissions_policy_features.json5.patch +++ b/patches/third_party-blink-renderer-core-permissions_policy-permissions_policy_features.json5.patch @@ -1,5 +1,5 @@ diff --git a/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5 b/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5 -index 1a21d42d94fa91289f7f14a5e5f62dcdc52ecc20..a0a183e300403564116e4d1d9f5775b843acabd0 100644 +index 8d8b748662ce0a53600c537b0eac5187c5ecf3aa..fb71387510bfb1fdbda748348bb125768d8e7e47 100644 --- a/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5 +++ b/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5 @@ -455,5 +455,13 @@ diff --git a/patches/third_party-blink-renderer-core-script-dynamic_module_resolver.cc.patch b/patches/third_party-blink-renderer-core-script-dynamic_module_resolver.cc.patch index a1468b90577d..bc11ca771ac6 100644 --- a/patches/third_party-blink-renderer-core-script-dynamic_module_resolver.cc.patch +++ b/patches/third_party-blink-renderer-core-script-dynamic_module_resolver.cc.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/core/script/dynamic_module_resolver.cc b/third_party/blink/renderer/core/script/dynamic_module_resolver.cc -index 6081d670c80758054e72621c96bcc6b621a8213c..2f327a6953b1f812fae27e974c366b13313eb866 100644 +index 1e25bac62e4eb1bd1df8c1d5c16d5ec55daeca2a..e985489f8c8bbdef38dacdc5d3b0c28b285dedd6 100644 --- a/third_party/blink/renderer/core/script/dynamic_module_resolver.cc +++ b/third_party/blink/renderer/core/script/dynamic_module_resolver.cc -@@ -285,6 +285,7 @@ void DynamicModuleResolver::ResolveDynamically( +@@ -287,6 +287,7 @@ void DynamicModuleResolver::ResolveDynamically( referrer_info.ParserState(), referrer_info.CredentialsMode(), referrer_info.GetReferrerPolicy(), mojom::blink::FetchPriorityHint::kAuto, RenderBlockingBehavior::kNonBlocking); diff --git a/patches/third_party-blink-renderer-core-script-script_loader.cc.patch b/patches/third_party-blink-renderer-core-script-script_loader.cc.patch index 4f7186a6d7d9..099c07716579 100644 --- a/patches/third_party-blink-renderer-core-script-script_loader.cc.patch +++ b/patches/third_party-blink-renderer-core-script-script_loader.cc.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/core/script/script_loader.cc b/third_party/blink/renderer/core/script/script_loader.cc -index 123621dbbfa2c6197f735d8fab0ac839f33d706a..cb3606ec51b12cbfae8a38f762e04e3b10d4bcab 100644 +index efb964d0e1a5390bbea8a75906127ec15dade0dc..e7b6d47bcebfa26b019f7e38f75e3d721b3f3712 100644 --- a/third_party/blink/renderer/core/script/script_loader.cc +++ b/third_party/blink/renderer/core/script/script_loader.cc -@@ -767,6 +767,7 @@ PendingScript* ScriptLoader::PrepareScript( +@@ -768,6 +768,7 @@ PendingScript* ScriptLoader::PrepareScript( parser_state, credentials_mode, referrer_policy, fetch_priority_hint, render_blocking_behavior, RejectCoepUnsafeNone(false)); diff --git a/patches/third_party-blink-renderer-modules-BUILD.gn.patch b/patches/third_party-blink-renderer-modules-BUILD.gn.patch index 6480c7c33cfd..9b31fa069d9e 100644 --- a/patches/third_party-blink-renderer-modules-BUILD.gn.patch +++ b/patches/third_party-blink-renderer-modules-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/third_party/blink/renderer/modules/BUILD.gn b/third_party/blink/renderer/modules/BUILD.gn -index 7fc5cd9c052b56b1907201bb8c310dd88f4e1062..977ac6e5051366f1beaccc7c51f1220ab558eee3 100644 +index bf979c82a96f37a3e593c27d281cb0624d60c346..58ffdb4b3ae7454eec96a24d12512b562d180628 100644 --- a/third_party/blink/renderer/modules/BUILD.gn +++ b/third_party/blink/renderer/modules/BUILD.gn @@ -19,6 +19,7 @@ if (is_ios) { diff --git a/patches/third_party-blink-renderer-modules-canvas-canvas2d-base_rendering_context_2d.cc.patch b/patches/third_party-blink-renderer-modules-canvas-canvas2d-base_rendering_context_2d.cc.patch index 94b980798786..941c2d0206db 100644 --- a/patches/third_party-blink-renderer-modules-canvas-canvas2d-base_rendering_context_2d.cc.patch +++ b/patches/third_party-blink-renderer-modules-canvas-canvas2d-base_rendering_context_2d.cc.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -index 8933349d25fb7a50fbc533954628dc07a9221b12..41ac594e773aac4649630428d39159ca6ec14a55 100644 +index 7626ccf7bdf1d681ca8464232de0fcc4db31dccc..16f00452ab9de1254f3c366609e70c619981d986 100644 --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -@@ -2322,6 +2322,7 @@ ImageData* BaseRenderingContext2D::getImageData( +@@ -2325,6 +2325,7 @@ ImageData* BaseRenderingContext2D::getImageData( } ImageData* BaseRenderingContext2D::getImageDataInternal( @@ -10,7 +10,7 @@ index 8933349d25fb7a50fbc533954628dc07a9221b12..41ac594e773aac4649630428d39159ca int sx, int sy, int sw, -@@ -2487,6 +2488,7 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( +@@ -2490,6 +2491,7 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh))); } } @@ -18,7 +18,7 @@ index 8933349d25fb7a50fbc533954628dc07a9221b12..41ac594e773aac4649630428d39159ca return image_data; } -@@ -3154,6 +3156,7 @@ TextMetrics* BaseRenderingContext2D::measureText(const String& text) { +@@ -3157,6 +3159,7 @@ TextMetrics* BaseRenderingContext2D::measureText(const String& text) { return MakeGarbageCollected(); } diff --git a/patches/third_party-blink-renderer-modules-encryptedmedia-navigator_request_media_key_system_access.cc.patch b/patches/third_party-blink-renderer-modules-encryptedmedia-navigator_request_media_key_system_access.cc.patch index bbd5734ec093..df7021557923 100644 --- a/patches/third_party-blink-renderer-modules-encryptedmedia-navigator_request_media_key_system_access.cc.patch +++ b/patches/third_party-blink-renderer-modules-encryptedmedia-navigator_request_media_key_system_access.cc.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/modules/encryptedmedia/navigator_request_media_key_system_access.cc b/third_party/blink/renderer/modules/encryptedmedia/navigator_request_media_key_system_access.cc -index 45903eeab344f7b3c934af43ec5ccb37d3addfb1..3671daf89cc4a8f1056baafbe473e794aa4fa0e6 100644 +index a1791cdca7055edb89f7f34cdb8c4989e83e90e4..74226985f2006b54dd9149ac3b0ed1b4e4295e3f 100644 --- a/third_party/blink/renderer/modules/encryptedmedia/navigator_request_media_key_system_access.cc +++ b/third_party/blink/renderer/modules/encryptedmedia/navigator_request_media_key_system_access.cc -@@ -194,6 +194,7 @@ ScriptPromise NavigatorRequestMediaKeySystemAccess::requestMediaKeySystemAccess( +@@ -201,6 +201,7 @@ NavigatorRequestMediaKeySystemAccess::requestMediaKeySystemAccess( EncryptedMediaUtils::GetEncryptedMediaClientFromLocalDOMWindow(window); media_client->RequestMediaKeySystemAccess( WebEncryptedMediaRequest(initializer)); diff --git a/patches/third_party-blink-renderer-modules-mediastream-media_devices.cc.patch b/patches/third_party-blink-renderer-modules-mediastream-media_devices.cc.patch index 8df927e63e47..c6a6c7979e18 100644 --- a/patches/third_party-blink-renderer-modules-mediastream-media_devices.cc.patch +++ b/patches/third_party-blink-renderer-modules-mediastream-media_devices.cc.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/modules/mediastream/media_devices.cc b/third_party/blink/renderer/modules/mediastream/media_devices.cc -index 1e1eb23b079910b0342b199d220ec25c9aa2002d..5a54280ee12a7fc1f9bab317113c3e52860004c5 100644 +index 0ae7872c95e155707d1c96908b58c6e886debaa3..200b51613b6a1571a839046dc0fd1895db77d4b3 100644 --- a/third_party/blink/renderer/modules/mediastream/media_devices.cc +++ b/third_party/blink/renderer/modules/mediastream/media_devices.cc -@@ -1113,6 +1113,7 @@ void MediaDevices::DevicesEnumerated( +@@ -1163,6 +1163,7 @@ void MediaDevices::DevicesEnumerated( } } diff --git a/patches/third_party-blink-renderer-modules-scheduler-scheduled_action.cc.patch b/patches/third_party-blink-renderer-modules-scheduler-scheduled_action.cc.patch index f681ef3f7d2f..818f0bb21010 100644 --- a/patches/third_party-blink-renderer-modules-scheduler-scheduled_action.cc.patch +++ b/patches/third_party-blink-renderer-modules-scheduler-scheduled_action.cc.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/modules/scheduler/scheduled_action.cc b/third_party/blink/renderer/modules/scheduler/scheduled_action.cc -index 7573bea2b3621181b623624b4c28f10e3be89c76..815b5afa1c02e71e9e78e5181eb290dfb1e443eb 100644 +index ac30a53f748e69894f3d3fbc6e0acf2ee846ab45..dd77f2f2c13ad8a9acf3ad7621e29b0ce14ae089 100644 --- a/third_party/blink/renderer/modules/scheduler/scheduled_action.cc +++ b/third_party/blink/renderer/modules/scheduler/scheduled_action.cc -@@ -89,6 +89,7 @@ ScheduledAction::ScheduledAction(ScriptState* script_state, +@@ -91,6 +91,7 @@ ScheduledAction::ScheduledAction(ScriptState* script_state, } else { UseCounter::Count(target, WebFeature::kScheduledActionIgnored); } diff --git a/patches/third_party-blink-renderer-modules-webgl-webgl2_rendering_context_base.cc.patch b/patches/third_party-blink-renderer-modules-webgl-webgl2_rendering_context_base.cc.patch index 2b9a82c5f87a..ad0a987e680c 100644 --- a/patches/third_party-blink-renderer-modules-webgl-webgl2_rendering_context_base.cc.patch +++ b/patches/third_party-blink-renderer-modules-webgl-webgl2_rendering_context_base.cc.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.cc -index 0afa6b75aea59eca64d18c3b72eedb7c1e0dce9c..06257af4fb5507e54789803eb9950abd0d84e38e 100644 +index a760e2e71d8280c61dabe19a64bc2edecf182dae..0ce49e287a657d3b74646de7390cf884c1cae97a 100644 --- a/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.cc +++ b/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.cc -@@ -5301,6 +5301,7 @@ ScriptValue WebGL2RenderingContextBase::getParameter(ScriptState* script_state, +@@ -5299,6 +5299,7 @@ ScriptValue WebGL2RenderingContextBase::getParameter(ScriptState* script_state, GLenum pname) { if (isContextLost()) return ScriptValue::CreateNull(script_state->GetIsolate()); @@ -10,7 +10,7 @@ index 0afa6b75aea59eca64d18c3b72eedb7c1e0dce9c..06257af4fb5507e54789803eb9950abd switch (pname) { case GL_SHADING_LANGUAGE_VERSION: { return WebGLAny( -@@ -5913,6 +5914,7 @@ ScriptValue WebGL2RenderingContextBase::getFramebufferAttachmentParameter( +@@ -5911,6 +5912,7 @@ ScriptValue WebGL2RenderingContextBase::getFramebufferAttachmentParameter( if (isContextLost() || !ValidateGetFramebufferAttachmentParameterFunc( kFunctionName, target, attachment)) return ScriptValue::CreateNull(script_state->GetIsolate()); @@ -18,7 +18,7 @@ index 0afa6b75aea59eca64d18c3b72eedb7c1e0dce9c..06257af4fb5507e54789803eb9950abd WebGLFramebuffer* framebuffer_binding = GetFramebufferBinding(target); DCHECK(!framebuffer_binding || framebuffer_binding->Object()); -@@ -6131,6 +6133,7 @@ ScriptValue WebGL2RenderingContextBase::getTexParameter( +@@ -6129,6 +6131,7 @@ ScriptValue WebGL2RenderingContextBase::getTexParameter( GLenum pname) { if (isContextLost() || !ValidateTextureBinding("getTexParameter", target)) return ScriptValue::CreateNull(script_state->GetIsolate()); diff --git a/patches/third_party-blink-renderer-modules-webgl-webgl_rendering_context_base.cc.patch b/patches/third_party-blink-renderer-modules-webgl-webgl_rendering_context_base.cc.patch index 91ecd88e81d8..3da1b6260c67 100644 --- a/patches/third_party-blink-renderer-modules-webgl-webgl_rendering_context_base.cc.patch +++ b/patches/third_party-blink-renderer-modules-webgl-webgl_rendering_context_base.cc.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607f6199c86 100644 +index aa89d49c0efe843a0ceee7f03ffdb54c64e2e3d2..116a57222065d66263df25913b248cc2fd199cb8 100644 --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -3209,6 +3209,7 @@ WebGLActiveInfo* WebGLRenderingContextBase::getActiveAttrib( +@@ -3212,6 +3212,7 @@ WebGLActiveInfo* WebGLRenderingContextBase::getActiveAttrib( GLuint index) { if (!ValidateWebGLProgramOrShader("getActiveAttrib", program)) return nullptr; @@ -10,7 +10,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 GLuint program_id = ObjectNonZero(program); GLint max_name_length = -1; ContextGL()->GetProgramiv(program_id, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, -@@ -3240,6 +3241,7 @@ WebGLActiveInfo* WebGLRenderingContextBase::getActiveUniform( +@@ -3243,6 +3244,7 @@ WebGLActiveInfo* WebGLRenderingContextBase::getActiveUniform( GLuint index) { if (!ValidateWebGLProgramOrShader("getActiveUniform", program)) return nullptr; @@ -18,7 +18,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 GLuint program_id = ObjectNonZero(program); GLint max_name_length = -1; ContextGL()->GetProgramiv(program_id, GL_ACTIVE_UNIFORM_MAX_LENGTH, -@@ -3269,6 +3271,7 @@ WebGLActiveInfo* WebGLRenderingContextBase::getActiveUniform( +@@ -3272,6 +3274,7 @@ WebGLActiveInfo* WebGLRenderingContextBase::getActiveUniform( std::optional>> WebGLRenderingContextBase::getAttachedShaders(WebGLProgram* program) { if (!ValidateWebGLProgramOrShader("getAttachedShaders", program)) @@ -26,7 +26,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 return std::nullopt; HeapVector> shader_objects; -@@ -3284,6 +3287,7 @@ GLint WebGLRenderingContextBase::getAttribLocation(WebGLProgram* program, +@@ -3287,6 +3290,7 @@ GLint WebGLRenderingContextBase::getAttribLocation(WebGLProgram* program, const String& name) { if (!ValidateWebGLProgramOrShader("getAttribLocation", program)) return -1; @@ -34,7 +34,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 if (!ValidateLocationLength("getAttribLocation", name)) return -1; if (!ValidateString("getAttribLocation", name)) -@@ -3317,6 +3321,7 @@ ScriptValue WebGLRenderingContextBase::getBufferParameter( +@@ -3320,6 +3324,7 @@ ScriptValue WebGLRenderingContextBase::getBufferParameter( GLenum pname) { if (isContextLost() || !ValidateBufferTarget("getBufferParameter", target)) return ScriptValue::CreateNull(script_state->GetIsolate()); @@ -42,7 +42,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 switch (pname) { case GL_BUFFER_USAGE: { -@@ -3454,6 +3459,7 @@ ScriptValue WebGLRenderingContextBase::getFramebufferAttachmentParameter( +@@ -3457,6 +3462,7 @@ ScriptValue WebGLRenderingContextBase::getFramebufferAttachmentParameter( return ScriptValue::CreateNull(script_state->GetIsolate()); } @@ -50,7 +50,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 if (!framebuffer_binding_ || !framebuffer_binding_->Object()) { SynthesizeGLError(GL_INVALID_OPERATION, kFunctionName, "no framebuffer bound"); -@@ -3858,6 +3864,7 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* script_state, +@@ -3861,6 +3867,7 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* script_state, "invalid parameter name, OES_standard_derivatives not enabled"); return ScriptValue::CreateNull(script_state->GetIsolate()); case WebGLDebugRendererInfo::kUnmaskedRendererWebgl: @@ -58,7 +58,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 if (ExtensionEnabled(kWebGLDebugRendererInfoName)) { if (IdentifiabilityStudySettings::Get()->ShouldSampleType( blink::IdentifiableSurface::Type::kWebGLParameter)) { -@@ -3873,6 +3880,7 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* script_state, +@@ -3876,6 +3883,7 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* script_state, "invalid parameter name, WEBGL_debug_renderer_info not enabled"); return ScriptValue::CreateNull(script_state->GetIsolate()); case WebGLDebugRendererInfo::kUnmaskedVendorWebgl: @@ -66,7 +66,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 if (ExtensionEnabled(kWebGLDebugRendererInfoName)) { if (IdentifiabilityStudySettings::Get()->ShouldSampleType( blink::IdentifiableSurface::Type::kWebGLParameter)) { -@@ -4008,6 +4016,7 @@ ScriptValue WebGLRenderingContextBase::getProgramParameter( +@@ -4011,6 +4019,7 @@ ScriptValue WebGLRenderingContextBase::getProgramParameter( // intended to prevent applications from entering an infinite polling loop. if (isContextLost() && pname == GL_COMPLETION_STATUS_KHR) return WebGLAny(script_state, true); @@ -74,7 +74,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 if (!ValidateWebGLProgramOrShader("getProgramParamter", program)) { return ScriptValue::CreateNull(script_state->GetIsolate()); } -@@ -4063,6 +4072,7 @@ ScriptValue WebGLRenderingContextBase::getProgramParameter( +@@ -4066,6 +4075,7 @@ ScriptValue WebGLRenderingContextBase::getProgramParameter( String WebGLRenderingContextBase::getProgramInfoLog(WebGLProgram* program) { if (!ValidateWebGLProgramOrShader("getProgramInfoLog", program)) return String(); @@ -82,7 +82,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 GLStringQuery query(ContextGL()); return query.Run(ObjectNonZero(program)); } -@@ -4073,6 +4083,7 @@ ScriptValue WebGLRenderingContextBase::getRenderbufferParameter( +@@ -4076,6 +4086,7 @@ ScriptValue WebGLRenderingContextBase::getRenderbufferParameter( GLenum pname) { if (isContextLost()) return ScriptValue::CreateNull(script_state->GetIsolate()); @@ -90,7 +90,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 if (target != GL_RENDERBUFFER) { SynthesizeGLError(GL_INVALID_ENUM, "getRenderbufferParameter", "invalid target"); -@@ -4124,6 +4135,7 @@ ScriptValue WebGLRenderingContextBase::getShaderParameter( +@@ -4127,6 +4138,7 @@ ScriptValue WebGLRenderingContextBase::getShaderParameter( // intended to prevent applications from entering an infinite polling loop. if (isContextLost() && pname == GL_COMPLETION_STATUS_KHR) return WebGLAny(script_state, true); @@ -98,7 +98,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 if (!ValidateWebGLProgramOrShader("getShaderParameter", shader)) { return ScriptValue::CreateNull(script_state->GetIsolate()); } -@@ -4155,6 +4167,7 @@ ScriptValue WebGLRenderingContextBase::getShaderParameter( +@@ -4158,6 +4170,7 @@ ScriptValue WebGLRenderingContextBase::getShaderParameter( String WebGLRenderingContextBase::getShaderInfoLog(WebGLShader* shader) { if (!ValidateWebGLProgramOrShader("getShaderInfoLog", shader)) return String(); @@ -106,7 +106,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 GLStringQuery query(ContextGL()); return query.Run(ObjectNonZero(shader)); } -@@ -4185,6 +4198,7 @@ WebGLShaderPrecisionFormat* WebGLRenderingContextBase::getShaderPrecisionFormat( +@@ -4188,6 +4201,7 @@ WebGLShaderPrecisionFormat* WebGLRenderingContextBase::getShaderPrecisionFormat( GLint precision = 0; ContextGL()->GetShaderPrecisionFormat(shader_type, precision_type, range, &precision); @@ -114,7 +114,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 auto* result = MakeGarbageCollected( range[0], range[1], precision); if (IdentifiabilityStudySettings::Get()->ShouldSampleType( -@@ -4197,6 +4211,7 @@ WebGLShaderPrecisionFormat* WebGLRenderingContextBase::getShaderPrecisionFormat( +@@ -4200,6 +4214,7 @@ WebGLShaderPrecisionFormat* WebGLRenderingContextBase::getShaderPrecisionFormat( String WebGLRenderingContextBase::getShaderSource(WebGLShader* shader) { if (!ValidateWebGLProgramOrShader("getShaderSource", shader)) return String(); @@ -122,7 +122,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 return EnsureNotNull(shader->Source()); } -@@ -4222,6 +4237,7 @@ ScriptValue WebGLRenderingContextBase::getTexParameter( +@@ -4225,6 +4240,7 @@ ScriptValue WebGLRenderingContextBase::getTexParameter( GLenum pname) { if (isContextLost()) return ScriptValue::CreateNull(script_state->GetIsolate()); @@ -130,7 +130,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 if (!ValidateTextureBinding("getTexParameter", target)) return ScriptValue::CreateNull(script_state->GetIsolate()); switch (pname) { -@@ -4256,6 +4272,7 @@ ScriptValue WebGLRenderingContextBase::getUniform( +@@ -4259,6 +4275,7 @@ ScriptValue WebGLRenderingContextBase::getUniform( const WebGLUniformLocation* uniform_location) { if (!ValidateWebGLProgramOrShader("getUniform", program)) return ScriptValue::CreateNull(script_state->GetIsolate()); @@ -138,7 +138,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 DCHECK(uniform_location); if (uniform_location->Program() != program) { SynthesizeGLError(GL_INVALID_OPERATION, "getUniform", -@@ -4505,6 +4522,7 @@ WebGLUniformLocation* WebGLRenderingContextBase::getUniformLocation( +@@ -4508,6 +4525,7 @@ WebGLUniformLocation* WebGLRenderingContextBase::getUniformLocation( const String& name) { if (!ValidateWebGLProgramOrShader("getUniformLocation", program)) return nullptr; @@ -146,7 +146,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 if (!ValidateLocationLength("getUniformLocation", name)) return nullptr; if (!ValidateString("getUniformLocation", name)) -@@ -4529,6 +4547,7 @@ ScriptValue WebGLRenderingContextBase::getVertexAttrib( +@@ -4532,6 +4550,7 @@ ScriptValue WebGLRenderingContextBase::getVertexAttrib( GLenum pname) { if (isContextLost()) return ScriptValue::CreateNull(script_state->GetIsolate()); @@ -154,7 +154,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 if (index >= max_vertex_attribs_) { SynthesizeGLError(GL_INVALID_VALUE, "getVertexAttrib", "index out of range"); -@@ -4606,6 +4625,7 @@ int64_t WebGLRenderingContextBase::getVertexAttribOffset(GLuint index, +@@ -4609,6 +4628,7 @@ int64_t WebGLRenderingContextBase::getVertexAttribOffset(GLuint index, GLenum pname) { if (isContextLost()) return 0; @@ -162,7 +162,7 @@ index 4591518916f265d06ffb0f50c17b0128092dfd3f..1a21d7e3ab8f389a66456e4b96b91607 GLvoid* result = nullptr; // NOTE: If pname is ever a value that returns more than 1 element // this will corrupt memory. -@@ -4965,6 +4985,7 @@ void WebGLRenderingContextBase::ReadPixelsHelper(GLint x, +@@ -4968,6 +4988,7 @@ void WebGLRenderingContextBase::ReadPixelsHelper(GLint x, int64_t offset) { if (isContextLost()) return; diff --git a/patches/third_party-blink-renderer-modules-websockets-websocket_channel_impl.h.patch b/patches/third_party-blink-renderer-modules-websockets-websocket_channel_impl.h.patch index 3414fde94f07..a3016070970d 100644 --- a/patches/third_party-blink-renderer-modules-websockets-websocket_channel_impl.h.patch +++ b/patches/third_party-blink-renderer-modules-websockets-websocket_channel_impl.h.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.h b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.h -index 95d69c88a59cec71b706f7595a60e3bd7d800bbd..a854fb70c9f053ae8996224a4c6c10a4d6b8fd78 100644 +index 188138c653c9406552aca86d0ee16a5b205834ad..da665831d566c149635e365c7dd607d652230f89 100644 --- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.h +++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.h -@@ -77,7 +77,7 @@ class WebSocketHandshakeThrottle; +@@ -78,7 +78,7 @@ class WebSocketHandshakeThrottle; // This is an implementation of WebSocketChannel. This is created on the main // thread for Document, or on the worker thread for WorkerGlobalScope. All // functions must be called on the execution context's thread. @@ -11,7 +11,7 @@ index 95d69c88a59cec71b706f7595a60e3bd7d800bbd..a854fb70c9f053ae8996224a4c6c10a4 : public WebSocketChannel, public network::mojom::blink::WebSocketHandshakeClient, public network::mojom::blink::WebSocketClient { -@@ -364,6 +364,7 @@ class MODULES_EXPORT WebSocketChannelImpl final +@@ -365,6 +365,7 @@ class MODULES_EXPORT WebSocketChannelImpl final void OnConnectionError(const base::Location& set_from, uint32_t custom_reason, const std::string& description); diff --git a/patches/third_party-blink-renderer-platform-BUILD.gn.patch b/patches/third_party-blink-renderer-platform-BUILD.gn.patch index b83d9a550db7..f13c8bce0313 100644 --- a/patches/third_party-blink-renderer-platform-BUILD.gn.patch +++ b/patches/third_party-blink-renderer-platform-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn -index 23126115e403a40bb1da4eb43b621eef0894a000..a5fe163aa558ed9f36bbc0a0620515bd4ba2f597 100644 +index cf452cf14c824ad76809fcfde8a44e4e7d63d0e6..9d39aaf959ee4fae60c4afb6e86d505bff1b54db 100644 --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -1852,6 +1852,7 @@ component("platform") { +@@ -1860,6 +1860,7 @@ component("platform") { configs -= [ "//build/config/compiler:default_symbols" ] configs += blink_symbols_config diff --git a/patches/third_party-blink-renderer-platform-bindings-idl_member_installer.h.patch b/patches/third_party-blink-renderer-platform-bindings-idl_member_installer.h.patch index 7ce765204bba..9d6c57667fca 100644 --- a/patches/third_party-blink-renderer-platform-bindings-idl_member_installer.h.patch +++ b/patches/third_party-blink-renderer-platform-bindings-idl_member_installer.h.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/platform/bindings/idl_member_installer.h b/third_party/blink/renderer/platform/bindings/idl_member_installer.h -index 61c84d912a7c0b4c289ec76bed1bb5611f5434af..a986a22e8fac2f6055faf24a67422c88a3942a27 100644 +index 335a1daf7141d049e639a580b60edcff74ef0207..14b15460ca5a38ef88422237b7a3c271b9fdd66f 100644 --- a/third_party/blink/renderer/platform/bindings/idl_member_installer.h +++ b/third_party/blink/renderer/platform/bindings/idl_member_installer.h -@@ -188,6 +188,7 @@ class PLATFORM_EXPORT IDLMemberInstaller final { +@@ -185,6 +185,7 @@ class PLATFORM_EXPORT IDLMemberInstaller final { v8::Local interface_object, v8::Local signature, base::span configs); diff --git a/patches/third_party-blink-renderer-platform-fonts-font_fallback_list.cc.patch b/patches/third_party-blink-renderer-platform-fonts-font_fallback_list.cc.patch index 6d34efcb9a19..724347f709c8 100644 --- a/patches/third_party-blink-renderer-platform-fonts-font_fallback_list.cc.patch +++ b/patches/third_party-blink-renderer-platform-fonts-font_fallback_list.cc.patch @@ -1,5 +1,5 @@ diff --git a/third_party/blink/renderer/platform/fonts/font_fallback_list.cc b/third_party/blink/renderer/platform/fonts/font_fallback_list.cc -index 3fcc5dd58ae924dd114933feee6295760cde9ec8..a6e8fd36dcf7ed39b4447bcf67604e78c93b27ac 100644 +index ade6d6dc417210a11b700c9f73aa954535abde01..2b039f364336cccf52151be188cc89157d1e5c98 100644 --- a/third_party/blink/renderer/platform/fonts/font_fallback_list.cc +++ b/third_party/blink/renderer/platform/fonts/font_fallback_list.cc @@ -165,6 +165,7 @@ const FontData* FontFallbackList::GetFontData( diff --git a/patches/third_party-blink-renderer-platform-runtime_enabled_features.json5.patch b/patches/third_party-blink-renderer-platform-runtime_enabled_features.json5.patch index 0cd3622df565..175f8c535b40 100644 --- a/patches/third_party-blink-renderer-platform-runtime_enabled_features.json5.patch +++ b/patches/third_party-blink-renderer-platform-runtime_enabled_features.json5.patch @@ -1,8 +1,8 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -index 0705b30d08b1f5f067bad8bc687d4695164f4ab8..8541626b57cbdb757f32055224067f12b5e9ae2c 100644 +index ceadc06ba9bff88233182b70aa0b5bfe7e80b64b..feb07f9120c3a2b004d5f7ee73299c30f126deed 100644 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -1720,6 +1720,7 @@ +@@ -1756,6 +1756,7 @@ // In-development features for the File System Access API. name: "FileSystemAccessAPIExperimental", status: "experimental", @@ -10,7 +10,7 @@ index 0705b30d08b1f5f067bad8bc687d4695164f4ab8..8541626b57cbdb757f32055224067f12 }, { // The FileSystemHandle.getCloudIdentifiers() method (see -@@ -1735,6 +1736,7 @@ +@@ -1771,6 +1772,7 @@ // Non-OPFS File System Access API. name: "FileSystemAccessLocal", status: {"Android": "test", "default": "stable"}, @@ -18,7 +18,7 @@ index 0705b30d08b1f5f067bad8bc687d4695164f4ab8..8541626b57cbdb757f32055224067f12 }, { name: "FileSystemAccessLockingScheme", -@@ -2385,6 +2387,7 @@ +@@ -2462,6 +2464,7 @@ { name: "MiddleClickAutoscroll", status: "test", @@ -26,7 +26,7 @@ index 0705b30d08b1f5f067bad8bc687d4695164f4ab8..8541626b57cbdb757f32055224067f12 }, { name: "MobileLayoutTheme", -@@ -3336,6 +3339,7 @@ +@@ -3450,6 +3453,7 @@ { name: "Serial", status: {"Android": "", "default": "stable"}, diff --git a/patches/third_party-rust-log-v0_4-BUILD.gn.patch b/patches/third_party-rust-log-v0_4-BUILD.gn.patch index 9bf7f2e6bc73..663215652c0a 100644 --- a/patches/third_party-rust-log-v0_4-BUILD.gn.patch +++ b/patches/third_party-rust-log-v0_4-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/third_party/rust/log/v0_4/BUILD.gn b/third_party/rust/log/v0_4/BUILD.gn -index f53bea46d97605bc74ef8b2fb6e348bb7fe3798a..04d29e9c80e9e18df866dac72af928e96e4d0bf0 100644 +index dbf08e71afa0896093d07658f69bf0247e3a81de..852f326e5b0fe1b0832db3f0dbe1502b3ede97d9 100644 --- a/third_party/rust/log/v0_4/BUILD.gn +++ b/third_party/rust/log/v0_4/BUILD.gn @@ -39,5 +39,4 @@ cargo_crate("lib") { diff --git a/patches/third_party-rust-regex_automata-v0_4-BUILD.gn.patch b/patches/third_party-rust-regex_automata-v0_4-BUILD.gn.patch index 02480325b988..2f9d139f4c10 100644 --- a/patches/third_party-rust-regex_automata-v0_4-BUILD.gn.patch +++ b/patches/third_party-rust-regex_automata-v0_4-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/third_party/rust/regex_automata/v0_4/BUILD.gn b/third_party/rust/regex_automata/v0_4/BUILD.gn -index f395719cb307a552c1b215c33050bb9e5a1feb2d..4991ad3a1e678225be2fc74363b84580700984cf 100644 +index 774ba64ca3916a90b2e4b5f1609b0c9ff50cf92b..855d240abb5d3cb47bac298f318e5f5f40f36139 100644 --- a/third_party/rust/regex_automata/v0_4/BUILD.gn +++ b/third_party/rust/regex_automata/v0_4/BUILD.gn @@ -135,5 +135,4 @@ cargo_crate("lib") { diff --git a/patches/third_party-rust-semver-v1-BUILD.gn.patch b/patches/third_party-rust-semver-v1-BUILD.gn.patch index f59d8753c750..6fc5d9533015 100644 --- a/patches/third_party-rust-semver-v1-BUILD.gn.patch +++ b/patches/third_party-rust-semver-v1-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/third_party/rust/semver/v1/BUILD.gn b/third_party/rust/semver/v1/BUILD.gn -index 102433ec3d24d395fc19efd56967eeec7d4a81c8..003ccfb69638e4d738c377e81e165b7c8c6f2970 100644 +index db642412e6b3f56aa5868f38d6ace879c2fb6924..019bedcf7ffc05d0875ca13ffeca376ddf4899e7 100644 --- a/third_party/rust/semver/v1/BUILD.gn +++ b/third_party/rust/semver/v1/BUILD.gn @@ -50,5 +50,4 @@ cargo_crate("lib") { diff --git a/patches/third_party-rust-syn-v2-BUILD.gn.patch b/patches/third_party-rust-syn-v2-BUILD.gn.patch index 76745a837af8..1b3be946cf7c 100644 --- a/patches/third_party-rust-syn-v2-BUILD.gn.patch +++ b/patches/third_party-rust-syn-v2-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/third_party/rust/syn/v2/BUILD.gn b/third_party/rust/syn/v2/BUILD.gn -index d756bc509d689b3de77cb1b6f1feca20be6e4734..254d4c27b45ae1bd29525807dcef21732f0b83c5 100644 +index b09c1c5a146b51fc67e7bf48b8823deeb7cd25d5..0000de782418759654f5f043b88e7476224f7893 100644 --- a/third_party/rust/syn/v2/BUILD.gn +++ b/third_party/rust/syn/v2/BUILD.gn @@ -97,4 +97,5 @@ cargo_crate("lib") { diff --git a/patches/third_party/catapult/telemetry-telemetry-internal-actions-action_runner.py.patch b/patches/third_party/catapult/telemetry-telemetry-internal-actions-action_runner.py.patch index 273f1cebbf54..fb5804d29557 100644 --- a/patches/third_party/catapult/telemetry-telemetry-internal-actions-action_runner.py.patch +++ b/patches/third_party/catapult/telemetry-telemetry-internal-actions-action_runner.py.patch @@ -1,8 +1,8 @@ diff --git a/telemetry/telemetry/internal/actions/action_runner.py b/telemetry/telemetry/internal/actions/action_runner.py -index 0e3a354bb417130f3efc654968634aac2b3fe944..415a52542216f0ce56b86089833f205b6867b16e 100644 +index cfece5ea0d40858724186ab9b945a07a816c2640..eb7002027c5c226475b88323ea9232a243b82322 100644 --- a/telemetry/telemetry/internal/actions/action_runner.py +++ b/telemetry/telemetry/internal/actions/action_runner.py -@@ -41,7 +41,7 @@ import py_utils +@@ -42,7 +42,7 @@ import py_utils # Time to wait in seconds before requesting a memory dump in deterministic # mode, thus allowing metric values to stabilize a bit. diff --git a/patches/third_party/catapult/telemetry-telemetry-internal-backends-android_browser_backend_settings.py.patch b/patches/third_party/catapult/telemetry-telemetry-internal-backends-android_browser_backend_settings.py.patch index 1dd467e0935b..067acc28083e 100644 --- a/patches/third_party/catapult/telemetry-telemetry-internal-backends-android_browser_backend_settings.py.patch +++ b/patches/third_party/catapult/telemetry-telemetry-internal-backends-android_browser_backend_settings.py.patch @@ -1,8 +1,8 @@ diff --git a/telemetry/telemetry/internal/backends/android_browser_backend_settings.py b/telemetry/telemetry/internal/backends/android_browser_backend_settings.py -index 823a6710e07a7c0417fb4b3ddce73fd55f788f2d..d5d8465d6ba489464a72ccd60669c3d77faf40ed 100644 +index 9a0f4a4d6bccdea6e92f9a34f3809e9fc8d11c7f..91a3557826600ba6c9141251a54366235017981c 100644 --- a/telemetry/telemetry/internal/backends/android_browser_backend_settings.py +++ b/telemetry/telemetry/internal/backends/android_browser_backend_settings.py -@@ -468,3 +468,4 @@ ANDROID_BACKEND_SETTINGS = ( +@@ -470,3 +470,4 @@ ANDROID_BACKEND_SETTINGS = ( ANDROID_CHROME_CANARY, ANDROID_SYSTEM_CHROME ) diff --git a/patches/third_party/catapult/tracing-tracing_project.py.patch b/patches/third_party/catapult/tracing-tracing_project.py.patch index 9bd051891173..2413e34732b6 100644 --- a/patches/third_party/catapult/tracing-tracing_project.py.patch +++ b/patches/third_party/catapult/tracing-tracing_project.py.patch @@ -1,8 +1,8 @@ diff --git a/tracing/tracing_project.py b/tracing/tracing_project.py -index 85c29bd32ac2519ae98ed9cc58a97f1768ebbac2..1a80a71bcf1fc845f9c1ec000cc4fb4ac5a62467 100644 +index 225b478a05d8273c5ffc856a9614d01a33c44ac2..8c4a0713f7b22da6905c1a6be2046012a5f1c65a 100644 --- a/tracing/tracing_project.py +++ b/tracing/tracing_project.py -@@ -136,6 +136,7 @@ class TracingProject(object): +@@ -134,6 +134,7 @@ class TracingProject(object): self.source_paths.append(self.chai_path) self.source_paths.append(self.mocha_path) self.source_paths.append(self.oboe_path) diff --git a/patches/third_party/devtools-frontend/src/front_end-panels-application-ApplicationPanelSidebar.ts.patch b/patches/third_party/devtools-frontend/src/front_end-panels-application-ApplicationPanelSidebar.ts.patch index c149246bbadf..907e333fd3ed 100644 --- a/patches/third_party/devtools-frontend/src/front_end-panels-application-ApplicationPanelSidebar.ts.patch +++ b/patches/third_party/devtools-frontend/src/front_end-panels-application-ApplicationPanelSidebar.ts.patch @@ -1,8 +1,8 @@ diff --git a/front_end/panels/application/ApplicationPanelSidebar.ts b/front_end/panels/application/ApplicationPanelSidebar.ts -index 1567b59dfe788c87005d874a576e8452cbc678b5..3735941ac0fffe5dff84384d03892c7b0d26e536 100644 +index ba715b1b6b82afe9b65ded0d9aa548485f1e4061..c713707925d40a0daa981fc8956741f3476a528a 100644 --- a/front_end/panels/application/ApplicationPanelSidebar.ts +++ b/front_end/panels/application/ApplicationPanelSidebar.ts -@@ -472,6 +472,7 @@ export class ApplicationPanelSidebar extends UI.Widget.VBox implements SDK.Targe +@@ -447,6 +447,7 @@ export class ApplicationPanelSidebar extends UI.Widget.VBox implements SDK.Targe // Work-around for crbug.com/1152713: Something is wrong with custom scrollbars and size containment. // @ts-ignore this.contentElement.style.contain = 'layout style'; diff --git a/patches/tools-crates-gnrt-lib-gn.rs.patch b/patches/tools-crates-gnrt-lib-gn.rs.patch index 88f26297ac31..a3bb8b7ff6a2 100644 --- a/patches/tools-crates-gnrt-lib-gn.rs.patch +++ b/patches/tools-crates-gnrt-lib-gn.rs.patch @@ -1,8 +1,8 @@ diff --git a/tools/crates/gnrt/lib/gn.rs b/tools/crates/gnrt/lib/gn.rs -index 8961d575419f079369685ba7721788676ac67c91..1f3a8acfae8ab844639dfb33246c540202e399df 100644 +index cc971d5e575565bc41c9a4c8d223ef3e99851b55..a8eecc2a07501194143ebfd990c3d586d6b90670 100644 --- a/tools/crates/gnrt/lib/gn.rs +++ b/tools/crates/gnrt/lib/gn.rs -@@ -199,8 +199,9 @@ pub fn build_rule_from_std_dep( +@@ -201,8 +201,9 @@ pub fn build_rule_from_std_dep( let mut aliases = Vec::new(); for dep in &normal_deps { let target_name = NormalizedName::from_crate_name(&dep.package_name).to_string(); @@ -13,7 +13,7 @@ index 8961d575419f079369685ba7721788676ac67c91..1f3a8acfae8ab844639dfb33246c5402 } } aliases.sort_unstable(); -@@ -536,6 +537,7 @@ static TRIPLE_TO_GN_CONDITION: &[(&str, &str)] = &[ +@@ -555,6 +556,7 @@ static TRIPLE_TO_GN_CONDITION: &[(&str, &str)] = &[ static TARGET_OS_TO_GN_CONDITION: &[(&str, &str)] = &[ ("android", "is_android"), ("darwin", "is_mac"), diff --git a/patches/tools-crates-gnrt-lib-platforms.rs.patch b/patches/tools-crates-gnrt-lib-platforms.rs.patch index d59bb04d94fe..f15155302e64 100644 --- a/patches/tools-crates-gnrt-lib-platforms.rs.patch +++ b/patches/tools-crates-gnrt-lib-platforms.rs.patch @@ -1,8 +1,8 @@ diff --git a/tools/crates/gnrt/lib/platforms.rs b/tools/crates/gnrt/lib/platforms.rs -index 2e710ad94da6053174d1fbb464c808d8d0862e40..dfec666b5d60d0290bb14b303c22663520c96d3f 100644 +index 3e209656e30822f93ab8b4b6dfffa5c99c2d553e..b355ae2c02807a6e2541328915f9b1b37d0f19de 100644 --- a/tools/crates/gnrt/lib/platforms.rs +++ b/tools/crates/gnrt/lib/platforms.rs -@@ -234,7 +234,7 @@ fn supported_os_cfgs() -> &'static [Cfg] { +@@ -233,7 +233,7 @@ fn supported_os_cfgs() -> &'static [Cfg] { CFG_SET.get_or_init(|| { [ // Set of supported OSes for `cfg(target_os = ...)`. diff --git a/patches/tools-gritsettings-resource_ids.spec.patch b/patches/tools-gritsettings-resource_ids.spec.patch index dacad2291cbf..883e7f901767 100644 --- a/patches/tools-gritsettings-resource_ids.spec.patch +++ b/patches/tools-gritsettings-resource_ids.spec.patch @@ -1,5 +1,5 @@ diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec -index 5ee9c00afbdd7185b3cb5774bbaa971d3a11e45f..eabe0d22ab8679b220a0e855b5d181fb1fd59310 100644 +index 3b6a1acc7deefa79f90d3413a6862bd5b94ed416..6ac8ff77e0590e6257f52b390758736980837aa3 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec @@ -38,6 +38,9 @@ @@ -12,7 +12,7 @@ index 5ee9c00afbdd7185b3cb5774bbaa971d3a11e45f..eabe0d22ab8679b220a0e855b5d181fb "chrome/app/google_chrome_strings.grd": { "messages": [800], }, -@@ -294,7 +297,7 @@ +@@ -293,7 +296,7 @@ "includes": [3220], }, "<(SHARED_INTERMEDIATE_DIR)/chrome/browser/resources/history/resources.grd": { @@ -21,7 +21,7 @@ index 5ee9c00afbdd7185b3cb5774bbaa971d3a11e45f..eabe0d22ab8679b220a0e855b5d181fb "includes": [3240], }, "<(SHARED_INTERMEDIATE_DIR)/chrome/browser/resources/identity_internals/resources.grd": { -@@ -433,7 +436,7 @@ +@@ -436,7 +439,7 @@ "includes": [3900], }, "<(SHARED_INTERMEDIATE_DIR)/chrome/browser/resources/settings/resources.grd": { @@ -30,7 +30,7 @@ index 5ee9c00afbdd7185b3cb5774bbaa971d3a11e45f..eabe0d22ab8679b220a0e855b5d181fb "includes": [3920], }, "<(SHARED_INTERMEDIATE_DIR)/chrome/browser/resources/settings_shared/resources.grd": { -@@ -937,6 +940,9 @@ +@@ -940,6 +943,9 @@ "components/components_chromium_strings.grd": { "messages": [7020], }, diff --git a/patches/tools-licenses-licenses.py.patch b/patches/tools-licenses-licenses.py.patch index 83e705fc0606..7341b179c784 100644 --- a/patches/tools-licenses-licenses.py.patch +++ b/patches/tools-licenses-licenses.py.patch @@ -1,5 +1,5 @@ diff --git a/tools/licenses/licenses.py b/tools/licenses/licenses.py -index cc7b17e13c4c8b9e483df9a097b23935ab2e56bc..f3c61f7328e8ef88ece239ddeaa75e186b5d5c1a 100755 +index f3a8ba3756a19beb286a3f7bba52399705bf59bf..27024abbcf56ea4098ebf87e94a2f81b870e3684 100755 --- a/tools/licenses/licenses.py +++ b/tools/licenses/licenses.py @@ -41,6 +41,7 @@ _REPOSITORY_ROOT = os.path.abspath( @@ -18,7 +18,7 @@ index cc7b17e13c4c8b9e483df9a097b23935ab2e56bc..f3c61f7328e8ef88ece239ddeaa75e18 # These buildtools/third_party directories only contain # chromium build files. The actual third_party source files and their -@@ -779,7 +781,8 @@ def FindThirdPartyDirs(prune_paths, root, extra_third_party_dirs=None): +@@ -783,7 +785,8 @@ def FindThirdPartyDirs(prune_paths, root, extra_third_party_dirs=None): if skip in dirs: dirs.remove(skip) @@ -28,7 +28,7 @@ index cc7b17e13c4c8b9e483df9a097b23935ab2e56bc..f3c61f7328e8ef88ece239ddeaa75e18 # Add all subdirectories that are not marked for skipping. for dir in dirs: dirpath = os.path.join(path, dir) -@@ -1041,7 +1044,8 @@ def GenerateCredits(file_template_file, +@@ -1046,7 +1049,8 @@ def GenerateCredits(file_template_file, enable_warnings=enable_warnings) if not directory_metadata: continue diff --git a/patches/tools-metrics-histograms-metadata-histogram_suffixes_list.xml.patch b/patches/tools-metrics-histograms-metadata-histogram_suffixes_list.xml.patch index 13ca65e596c7..f1a1f64ddf57 100644 --- a/patches/tools-metrics-histograms-metadata-histogram_suffixes_list.xml.patch +++ b/patches/tools-metrics-histograms-metadata-histogram_suffixes_list.xml.patch @@ -1,8 +1,8 @@ diff --git a/tools/metrics/histograms/metadata/histogram_suffixes_list.xml b/tools/metrics/histograms/metadata/histogram_suffixes_list.xml -index e8a6962f302996d04f9fa1c77141eb587fb5d9fb..c700db6382cd94e7674513e46244bf7002af9e6c 100644 +index bd094f9b4d61f1e1c5918d38fcf72e55fda3d292..e52a125f1ce3594af8e5c5a17f71b6d36389a805 100644 --- a/tools/metrics/histograms/metadata/histogram_suffixes_list.xml +++ b/tools/metrics/histograms/metadata/histogram_suffixes_list.xml -@@ -2695,6 +2695,7 @@ chromium-metrics-reviews@google.com. +@@ -2697,6 +2697,7 @@ chromium-metrics-reviews@google.com. diff --git a/patches/tools-metrics-histograms-metadata-page-histograms.xml.patch b/patches/tools-metrics-histograms-metadata-page-histograms.xml.patch index 9cf11760a40e..37d640adeb59 100644 --- a/patches/tools-metrics-histograms-metadata-page-histograms.xml.patch +++ b/patches/tools-metrics-histograms-metadata-page-histograms.xml.patch @@ -1,8 +1,8 @@ diff --git a/tools/metrics/histograms/metadata/page/histograms.xml b/tools/metrics/histograms/metadata/page/histograms.xml -index b17786a3f2d1769694b0cdc8fdfbde58dcb256a3..87725e3b5c046ada1502ea688e94a4ef6884ced8 100644 +index 94337d286ebc8e4008a93d85540eeabc933144e1..4b79db75269142418642b570abb6cd84cac07e5b 100644 --- a/tools/metrics/histograms/metadata/page/histograms.xml +++ b/tools/metrics/histograms/metadata/page/histograms.xml -@@ -100,6 +100,17 @@ chromium-metrics-reviews@google.com. +@@ -101,6 +101,17 @@ chromium-metrics-reviews@google.com. diff --git a/patches/tools-perf-process_perf_results.py.patch b/patches/tools-perf-process_perf_results.py.patch index 5df747ec5f1c..14635ca7d96b 100644 --- a/patches/tools-perf-process_perf_results.py.patch +++ b/patches/tools-perf-process_perf_results.py.patch @@ -1,5 +1,5 @@ diff --git a/tools/perf/process_perf_results.py b/tools/perf/process_perf_results.py -index deecd19f5384ab594296a6817b4b9b9e52d1ab4e..a7a1f0d734407cb0557ac33aa13fd7b53beb262e 100755 +index 9d1334381e7dea6be84e1226373c700fab3f7e11..4b83ceb0f8918f0aac4e944e2f86445f7179e3d2 100755 --- a/tools/perf/process_perf_results.py +++ b/tools/perf/process_perf_results.py @@ -41,7 +41,7 @@ except ImportError: diff --git a/patches/tools-typescript-ts_library.gni.patch b/patches/tools-typescript-ts_library.gni.patch index b8d5cf58cc28..7b5a4506e324 100644 --- a/patches/tools-typescript-ts_library.gni.patch +++ b/patches/tools-typescript-ts_library.gni.patch @@ -1,5 +1,5 @@ diff --git a/tools/typescript/ts_library.gni b/tools/typescript/ts_library.gni -index 3750d3f841c61a89b4232cc91f6874b4af12c344..362c306c3e9ebbbcdef3fac15831b02f98e3d996 100644 +index b7d218a03f009a36efa2c39fabe5081b50037094..2ecf1434537a9719b1bcb6769d5bc0005fef8f4a 100644 --- a/tools/typescript/ts_library.gni +++ b/tools/typescript/ts_library.gni @@ -168,6 +168,7 @@ template("ts_library") { diff --git a/patches/tools-typescript-ts_library.py.patch b/patches/tools-typescript-ts_library.py.patch index ad044b8e9608..dac321186e88 100644 --- a/patches/tools-typescript-ts_library.py.patch +++ b/patches/tools-typescript-ts_library.py.patch @@ -1,8 +1,8 @@ diff --git a/tools/typescript/ts_library.py b/tools/typescript/ts_library.py -index cb7b9a22e691aaffe19a810c5aed296bd1039d82..9e680720c97689c23862c7758f0e290c402b2946 100644 +index 4dbbb4455516ac35b0df5204bc182fe798468119..d9c92ba253271ce562de70fff4a3bacabc1083ac 100644 --- a/tools/typescript/ts_library.py +++ b/tools/typescript/ts_library.py -@@ -280,5 +280,6 @@ def main(argv): +@@ -277,5 +277,6 @@ def main(argv): json.dump(manifest_data, manifest_file) diff --git a/patches/ui-accessibility-platform-ax_platform_node_cocoa.mm.patch b/patches/ui-accessibility-platform-ax_platform_node_cocoa.mm.patch index 361bcbd87465..1b3355905fca 100644 --- a/patches/ui-accessibility-platform-ax_platform_node_cocoa.mm.patch +++ b/patches/ui-accessibility-platform-ax_platform_node_cocoa.mm.patch @@ -1,8 +1,8 @@ diff --git a/ui/accessibility/platform/ax_platform_node_cocoa.mm b/ui/accessibility/platform/ax_platform_node_cocoa.mm -index fc9f862bed3c548c0d5e07287ffa3e448c39b1bf..a94f0197e3a2cac33c934ba490893fd3f6dba9b9 100644 +index 8b5753dfe97bff0186d1b6644a362c719b3c52f4..55ed4269b805c0da950cdc126718efcec57b8d8d 100644 --- a/ui/accessibility/platform/ax_platform_node_cocoa.mm +++ b/ui/accessibility/platform/ax_platform_node_cocoa.mm -@@ -2579,6 +2579,7 @@ void CollectAncestorRoles( +@@ -2581,6 +2581,7 @@ void CollectAncestorRoles( if (!_node) return nil; diff --git a/patches/ui-native_theme-native_theme_win.cc.patch b/patches/ui-native_theme-native_theme_win.cc.patch index 0250f589bbf0..56ad8b7b91c5 100644 --- a/patches/ui-native_theme-native_theme_win.cc.patch +++ b/patches/ui-native_theme-native_theme_win.cc.patch @@ -1,8 +1,8 @@ diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc -index 9830931142e76fe117266e64444d50f83eefa842..fb9cd41b6d1d4bb698d7ac24f525dd3e49557e2f 100644 +index 566230f830edec321ec3032b81e3478f155912c6..c1e2d31fb346fcdf700745122c31cc6ccffa93e2 100644 --- a/ui/native_theme/native_theme_win.cc +++ b/ui/native_theme/native_theme_win.cc -@@ -1664,6 +1664,7 @@ void NativeThemeWin::UpdateDarkModeStatus() { +@@ -1676,6 +1676,7 @@ void NativeThemeWin::UpdateDarkModeStatus() { &apps_use_light_theme); dark_mode_enabled = (apps_use_light_theme == 0); } diff --git a/patches/ui-native_theme-native_theme_win.h.patch b/patches/ui-native_theme-native_theme_win.h.patch index 7833c87cb8e6..04820a9ea17f 100644 --- a/patches/ui-native_theme-native_theme_win.h.patch +++ b/patches/ui-native_theme-native_theme_win.h.patch @@ -1,5 +1,5 @@ diff --git a/ui/native_theme/native_theme_win.h b/ui/native_theme/native_theme_win.h -index 714a8c5c78b30b0d6d9c0e4de53d7217ae2fd813..25d01b5243dbcba4942e6d5d745f9f13ff32e7fc 100644 +index 277b4f99a5bde93025b47e0204621c38fe73c3af..62582280db50099e4cb57bfa8c0c3be36afd5437 100644 --- a/ui/native_theme/native_theme_win.h +++ b/ui/native_theme/native_theme_win.h @@ -85,6 +85,7 @@ class NATIVE_THEME_EXPORT NativeThemeWin : public NativeTheme, diff --git a/patches/ui-webui-resources-BUILD.gn.patch b/patches/ui-webui-resources-BUILD.gn.patch index d52cb1a5fc5d..07045072485c 100644 --- a/patches/ui-webui-resources-BUILD.gn.patch +++ b/patches/ui-webui-resources-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/ui/webui/resources/BUILD.gn b/ui/webui/resources/BUILD.gn -index ebc2c10ebf4dcac30d95e46b5b100475d21f480c..9c4ccad41f68330e78cb55f5a98f935a99bb685f 100644 +index 8c4963be34df8f846278d609c167320057e0e2de..2251d3cf5c8bfd158e57cd4b0e082743a63804c0 100644 --- a/ui/webui/resources/BUILD.gn +++ b/ui/webui/resources/BUILD.gn -@@ -124,6 +124,7 @@ generate_grd("build_grd") { +@@ -126,6 +126,7 @@ generate_grd("build_grd") { "$root_gen_dir/ui/webui/resources/cr_components/page_image_service/resources.grdp", ] } diff --git a/patches/ui-webui-resources-cr_elements-BUILD.gn.patch b/patches/ui-webui-resources-cr_elements-BUILD.gn.patch index 4c196e090c33..53a788afd41c 100644 --- a/patches/ui-webui-resources-cr_elements-BUILD.gn.patch +++ b/patches/ui-webui-resources-cr_elements-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/ui/webui/resources/cr_elements/BUILD.gn b/ui/webui/resources/cr_elements/BUILD.gn -index 8619605e2975f2f6aea6155912906cb6b8e5cfb1..c2e85d72e6e430157b8e61a40714b5c4ceba148c 100644 +index 5aa0691b45c1e6df2fe44c0133e0467c322394f2..d4bfa96bf63822cd5e0b00dcf44addeaf13a10d9 100644 --- a/ui/webui/resources/cr_elements/BUILD.gn +++ b/ui/webui/resources/cr_elements/BUILD.gn -@@ -129,6 +129,7 @@ build_webui("build") { +@@ -174,6 +174,7 @@ build_webui("build") { ts_composite = true ts_deps = [ "../js:build_ts" ] if (include_polymer) { diff --git a/patches/ui-webui-resources-cr_elements-cr_radio_button-cr_radio_button_style.css.patch b/patches/ui-webui-resources-cr_elements-cr_radio_button-cr_radio_button_style.css.patch index a8252c6b5487..84e1f72b6bcb 100644 --- a/patches/ui-webui-resources-cr_elements-cr_radio_button-cr_radio_button_style.css.patch +++ b/patches/ui-webui-resources-cr_elements-cr_radio_button-cr_radio_button_style.css.patch @@ -1,5 +1,5 @@ diff --git a/ui/webui/resources/cr_elements/cr_radio_button/cr_radio_button_style.css b/ui/webui/resources/cr_elements/cr_radio_button/cr_radio_button_style.css -index e37d6bd00442915ece35a9021f45aa4d9b9d29c9..eb067c13c8a94d4fb7d78f5114ca8a540d6f5635 100644 +index 690e6ddab6393ed61c404c5606be58f48314e146..a2c7f8079c4280d02556bceaba4278d7e322abc7 100644 --- a/ui/webui/resources/cr_elements/cr_radio_button/cr_radio_button_style.css +++ b/ui/webui/resources/cr_elements/cr_radio_button/cr_radio_button_style.css @@ -6,6 +6,8 @@ diff --git a/patches/ui-webui-resources-cr_elements-cr_shared_vars.css.patch b/patches/ui-webui-resources-cr_elements-cr_shared_vars.css.patch index 5e14e514f085..65c6122b1666 100644 --- a/patches/ui-webui-resources-cr_elements-cr_shared_vars.css.patch +++ b/patches/ui-webui-resources-cr_elements-cr_shared_vars.css.patch @@ -1,5 +1,5 @@ diff --git a/ui/webui/resources/cr_elements/cr_shared_vars.css b/ui/webui/resources/cr_elements/cr_shared_vars.css -index 74e49a365ab4d8ad6c627e32f0b045f10ae6c2c3..a532532d2f8a6ddc1a71746c5d71c039d80657cb 100644 +index e1c0763b3af6230a67b978157391f2d3be1e77bd..8f37349b1b5851a6a9514ff17e229031c2f6ebbf 100644 --- a/ui/webui/resources/cr_elements/cr_shared_vars.css +++ b/ui/webui/resources/cr_elements/cr_shared_vars.css @@ -5,6 +5,7 @@ diff --git a/patches/ui-webui-resources-cr_elements-cr_toolbar-cr_toolbar.ts.patch b/patches/ui-webui-resources-cr_elements-cr_toolbar-cr_toolbar.ts.patch index c69699ae4cb3..465ae88cde23 100644 --- a/patches/ui-webui-resources-cr_elements-cr_toolbar-cr_toolbar.ts.patch +++ b/patches/ui-webui-resources-cr_elements-cr_toolbar-cr_toolbar.ts.patch @@ -1,8 +1,8 @@ diff --git a/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.ts b/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.ts -index b46d63b002347d3e113f15829997ed5e4d6d87b4..5c6366c6ec29886b177f4b04cb3fd09b0586e933 100644 +index b365acb97762c8f377936a27e9025a5b87050b8f..d1fcc501187462cbecfbbe8a06f20235856cf700 100644 --- a/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.ts +++ b/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.ts -@@ -141,4 +141,4 @@ declare global { +@@ -144,4 +144,4 @@ declare global { } } diff --git a/patches/ui-webui-resources-tools-build_webui.gni.patch b/patches/ui-webui-resources-tools-build_webui.gni.patch index 608a0c7a592c..d5be0c76a3fa 100644 --- a/patches/ui-webui-resources-tools-build_webui.gni.patch +++ b/patches/ui-webui-resources-tools-build_webui.gni.patch @@ -1,8 +1,8 @@ diff --git a/ui/webui/resources/tools/build_webui.gni b/ui/webui/resources/tools/build_webui.gni -index 1c21d8df471f96ecbd0502675184efb7d9c26e90..37076d534da947d5d7ea959c0c527651eb32d62a 100644 +index cdc088e27dc80868469fc7fa83b711ad2cf47263..0775ab82e49f09309a6d487422b8605d0e57515c 100644 --- a/ui/webui/resources/tools/build_webui.gni +++ b/ui/webui/resources/tools/build_webui.gni -@@ -181,6 +181,7 @@ template("build_webui") { +@@ -186,6 +186,7 @@ template("build_webui") { enable_removal_comments = enable_source_maps } in_files = ts_files @@ -10,7 +10,7 @@ index 1c21d8df471f96ecbd0502675184efb7d9c26e90..37076d534da947d5d7ea959c0c527651 } if (enable_source_maps) { -@@ -232,6 +233,7 @@ template("build_webui") { +@@ -235,6 +236,7 @@ template("build_webui") { if (defined(invoker.css_files)) { in_files += invoker.css_files } @@ -18,7 +18,7 @@ index 1c21d8df471f96ecbd0502675184efb7d9c26e90..37076d534da947d5d7ea959c0c527651 } } -@@ -258,6 +260,7 @@ template("build_webui") { +@@ -261,6 +263,7 @@ template("build_webui") { } } } diff --git a/patches/v8/BUILD.gn.patch b/patches/v8/BUILD.gn.patch index e6ed41c237a7..0aa4ff4ae089 100644 --- a/patches/v8/BUILD.gn.patch +++ b/patches/v8/BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/BUILD.gn b/BUILD.gn -index a28da024c76279e8c293d2f81b5103621161d3ba..f91a05eb50a674e5bf61e0428b9ae3e5fdf0d69b 100644 +index a25b6f2ac986f38e5a646914ba3842dfcccb8258..35676a8bdd57154684333d2c37b4688d25d9c9e9 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -745,6 +745,7 @@ config("internal_config_base") { +@@ -749,6 +749,7 @@ config("internal_config_base") { "include", "$target_gen_dir", ] @@ -10,7 +10,7 @@ index a28da024c76279e8c293d2f81b5103621161d3ba..f91a05eb50a674e5bf61e0428b9ae3e5 } config("internal_config") { -@@ -3086,6 +3087,7 @@ v8_header_set("v8_headers") { +@@ -3107,6 +3108,7 @@ v8_header_set("v8_headers") { ":cppgc_headers", ":v8_version", ] diff --git a/patches/v8/src-codegen-compiler.cc.patch b/patches/v8/src-codegen-compiler.cc.patch index 463c31bdcb13..4ce3e1171aaa 100644 --- a/patches/v8/src-codegen-compiler.cc.patch +++ b/patches/v8/src-codegen-compiler.cc.patch @@ -1,8 +1,8 @@ diff --git a/src/codegen/compiler.cc b/src/codegen/compiler.cc -index 93ef078548674b3c81bc8d06d64a5c3b5e74818f..2530956b41b562598df044864450a9f10e2fbc00 100644 +index a2984d393169a3ac2c23630504fdd955912336de..7e9b29dda86f10c9f3a4993c51cf37193ecdf3c8 100644 --- a/src/codegen/compiler.cc +++ b/src/codegen/compiler.cc -@@ -3014,6 +3014,7 @@ MaybeHandle Compiler::GetFunctionFromEval( +@@ -3013,6 +3013,7 @@ MaybeHandle Compiler::GetFunctionFromEval( } } DCHECK(is_compiled_scope.is_compiled()); From f042d58ee2c0adb2e624ba24c1b42a271e2842ce Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Thu, 7 Mar 2024 12:29:45 -0300 Subject: [PATCH 004/130] Updated strings for Chromium 124.0.6367.29. --- .../strings/android_chrome_tab_ui_strings.grd | 81 +- app/app_management_strings.grdp | 5 + app/app_management_strings_override.grdp | 2 + app/bookmarks_strings.grdp | 6 + app/brave_strings.grd | 33 +- app/brave_strings_override.grd | 4 +- app/generated_resources.grd | 338 ++- app/generated_resources_override.grd | 33 +- app/media_live_preview_strings.grdp | 9 + app/os_settings_search_tag_strings.grdp | 14 + app/os_settings_strings.grdp | 174 +- app/profiles_strings.grdp | 24 + app/settings_brave_strings.grdp | 12 - app/settings_strings.grdp | 43 +- app/settings_strings_override.grdp | 3 - .../strings/android_chrome_strings.grd | 169 +- .../android_chrome_strings_override.grd | 6 - components/autofill_payments_strings.grdp | 46 +- components/autofill_strings.grdp | 30 +- components/components_strings.grd | 2 +- components/components_strings_override.grd | 2 +- components/fullscreen_control_strings.grdp | 4 +- components/history_clusters_strings.grdp | 15 - components/history_strings.grdp | 10 + components/page_info_strings.grdp | 19 + components/page_info_strings_override.grdp | 2 + components/pdf_strings.grdp | 6 - components/permissions_strings.grdp | 12 + components/plus_addresses_strings.grdp | 8 + components/policy_strings.grdp | 12 + .../privacy_sandbox_chrome_strings.grdp | 2360 +++++++++++++++++ ...ivacy_sandbox_chrome_strings_override.grdp | 7 + components/search_engine_choice_strings.grdp | 93 +- components/site_settings_strings.grdp | 6 + 34 files changed, 3194 insertions(+), 396 deletions(-) create mode 100644 components/privacy_sandbox_chrome_strings.grdp create mode 100644 components/privacy_sandbox_chrome_strings_override.grdp diff --git a/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings.grd b/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings.grd index eaf9d5e21ebe..e1571fce65b7 100644 --- a/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings.grd +++ b/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings.grd @@ -188,8 +188,11 @@ - - %1$s3 tabs grouped + + %1$s1 tab grouped + + + %1$s3 tabs grouped @@ -222,11 +225,17 @@ Tab Switcher - - Close tab group with %1$s2 tabs + + {NUMBER_OF_TABS, plural, + =1 {Close tab group with %1$d1 tab.} + other {Close tab group with %1$d2 tabs.} + } - - Close %1$sshopping group with %2$s2 tabs + + {NUMBER_OF_TABS, plural, + =1 {Close %1$sshopping group with %2$d1 tab.} + other {Close %1$sshopping group with %2$d2 tabs.} + } @@ -332,13 +341,22 @@ Edit group name + + Edit group color + - - Expand tab group with %1$s2 tabs. + + {NUMBER_OF_TABS, plural, + =1 {Expand tab group with %1$d1 tab.} + other {Expand tab group with %1$d2 tabs.} + } - - Expand %1$sShopping cart tab group with %2$s2 tabs. + + {NUMBER_OF_TABS, plural, + =1 {Expand %1$sShopping cart tab group with %2$d1 tab.} + other {Expand %1$sShopping cart tab group with %2$d2 tabs.} + } {TABS_COUNT, plural, @@ -346,9 +364,9 @@ other {Collapse tab group with %1$d2 tabs.} } - + {TABS_COUNT, plural, - =1 {Collapse %1$d1 tab.} + =1 {Collapse %1$sShopping cart tab group with %2$d1 tab.} other {Collapse %1$sShopping cart tab group with %2$d2 tabs.} } @@ -637,6 +655,45 @@ Tab groups + + Created just now + + + {NUM_MINS, plural, + =1 {Created %d1 minute ago} + other {Created %d2 minutes ago} + } + + + {NUM_HOURS, plural, + =1 {Created %d1 hour ago} + other {Created %d2 hours ago} + } + + + {NUM_DAYS, plural, + =1 {Created %d1 day ago} + other {Created %d2 days ago} + } + + + {NUM_WEEKS, plural, + =1 {Created %d1 week ago} + other {Created %d2 weeks ago} + } + + + {NUM_MONTHS, plural, + =1 {Created %d1 month ago} + other {Created %d2 months ago} + } + + + {NUM_MONTHS, plural, + =1 {Created %d1 year ago} + other {Created %d2 years ago} + } + diff --git a/app/app_management_strings.grdp b/app/app_management_strings.grdp index ff510e3b47ec..b813c4cfcdb5 100644 --- a/app/app_management_strings.grdp +++ b/app/app_management_strings.grdp @@ -16,6 +16,11 @@ Notifications + + + Enable notifications in the Notification Center. Open <a href="#">System Settings</a>. + + Permissions diff --git a/app/app_management_strings_override.grdp b/app/app_management_strings_override.grdp index b1dcdb00a238..b2fdcd069422 100644 --- a/app/app_management_strings_override.grdp +++ b/app/app_management_strings_override.grdp @@ -1,5 +1,7 @@ + + Web Store diff --git a/app/bookmarks_strings.grdp b/app/bookmarks_strings.grdp index e72ce363ff4c..659b8c05ff55 100644 --- a/app/bookmarks_strings.grdp +++ b/app/bookmarks_strings.grdp @@ -31,6 +31,9 @@ Show apps shortcut + + Show tab groups + Show reading list @@ -45,6 +48,9 @@ Show Apps Shortcut + + Show Tab Groups + Show Reading List diff --git a/app/brave_strings.grd b/app/brave_strings.grd index 2cc8b73319a1..188809d0e26a 100644 --- a/app/brave_strings.grd +++ b/app/brave_strings.grd @@ -369,13 +369,13 @@ If you update this file, be sure also to update google_chrome_strings.grd. --> Brave - $1Brave - + $1Brave - Network Sign-in - Brave - + Brave - Network Sign-in - $1Brave @@ -663,6 +663,9 @@ Permissions you've already given to websites and apps may apply to this account. Brave isn't your default browser + + Brave isn't your default browser + @@ -683,18 +686,9 @@ Permissions you've already given to websites and apps may apply to this account. - - Brave blocked this file because this type of file is dangerous - - - Brave blocked this file because it is dangerous - Extensions, apps, and themes from unknown sources can harm your device. Brave recommends only installing them from the $1Web Store - - Brave blocked this file because it has malware - Learn why Brave blocks some downloads @@ -1062,15 +1056,30 @@ Permissions you've already given to websites and apps may apply to this account. + + Sign in to Brave + + + Customize your Brave + Other Brave profiles + + Manage Brave profiles + + + Customize Your Brave + Other Brave Profiles + + Manage Brave Profiles + @@ -1823,7 +1832,7 @@ Permissions you've already given to websites and apps may apply to this account. - Unable to connect to the Internet. If you use a firewall, please allowlist $1BraveUpdater.exe. + Unable to connect to the Internet. If you use a firewall, please ensure $1BraveUpdater.exe is in the allowlist. Unable to connect to the Internet. HTTP 401 Unauthorized. Please check your proxy configuration. diff --git a/app/brave_strings_override.grd b/app/brave_strings_override.grd index 2a8513b67cef..810e0366ddcb 100644 --- a/app/brave_strings_override.grd +++ b/app/brave_strings_override.grd @@ -119,9 +119,9 @@ If you update this file, be sure also to update google_chrome_strings.grd. --> - + - + diff --git a/app/generated_resources.grd b/app/generated_resources.grd index 0b518c8bb424..78066e6d6bba 100644 --- a/app/generated_resources.grd +++ b/app/generated_resources.grd @@ -644,11 +644,23 @@ are declared in tools/grit/grit_rule.gni. ⌥+Click + + ⌥+Hover + + + Long press + Alt+Click + + Alt+Hover + + + Long press + @@ -932,11 +944,23 @@ are declared in tools/grit/grit_rule.gni. ⌥+Click + + ⌥+Hover + + + Long Press + Alt+Click + + Alt+Hover + + + Long Press + @@ -1260,6 +1284,15 @@ are declared in tools/grit/grit_rule.gni. &Save and share + + Save, share, and cast + + + Cast, save, and share + + + Cast + Save @@ -1400,6 +1433,15 @@ are declared in tools/grit/grit_rule.gni. &Save and Share + + Save, Share, and Cast + + + Cast, Save, and Share + + + Cast + Save @@ -2412,57 +2454,21 @@ are declared in tools/grit/grit_rule.gni. Download cancelled: $1somedocument.pdf - - - - Download complete: $1somedocument.pdf. - - - - - Download complete: $1somedocument.pdf. Press Shift+F6 to cycle to the downloads bar area. - - - - - - - $1file.exe may be dangerous. Send to Brave Advanced Protection for scanning? - - - - - $1file.exe may be dangerous. Send to Brave Advanced Protection for scanning? Press Shift+F6 to cycle to the downloads bar area. - - - - - - - $1file.exe may be dangerous. Send to Brave for scanning? - - - - - $1file.exe may be dangerous. Send to Brave for scanning? Press Shift+F6 to cycle to the downloads bar area. - - - + + Download complete: $1somedocument.pdf. + + + Download paused: $1somedocument.pdf. + + + $1file.exe may be dangerous. Send to Brave for scanning? + $1file.exe is being scanned. - - - - $1file.exe can't be downloaded securely. - - - - - $1file.exe can't be downloaded securely. Press Shift+F6 to cycle to the downloads bar area. - - - + + $1file.exe can't be downloaded securely. + @@ -3058,6 +3064,21 @@ are declared in tools/grit/grit_rule.gni. Incorrect password. Try again. + + Google Safe Browsing now scans suspicious files you try downloading as part of the enhanced protection you chose. + + + Settings + + + This file might be malware.$1Google Safe Browsing is checking if this file is unsafe — a scan usually takes a few seconds. + + + Cancel download + + + Download suspicious file + @@ -3115,13 +3136,28 @@ are declared in tools/grit/grit_rule.gni. - + Install app? Install + + Install app + + + From the app + + + Install this page as an app + + + Apps open in a window + + + App name + Shortcut name @@ -3220,11 +3256,17 @@ are declared in tools/grit/grit_rule.gni. &Install $1Gmail... + + &Install Page as App... + &Install $1Gmail... + + &Install page as app... + @@ -4241,6 +4283,11 @@ are declared in tools/grit/grit_rule.gni. + + + Other tabs share a process with this tab, which may result in an unexpected DevTools experience. + + "$1Extension Foo" started debugging this browser @@ -6276,12 +6323,6 @@ Keep your key file in a safe place. You will need it to create new versions of y - - - From the app - - - {NUM_SUB_APP_INSTALLS, plural, =1 {Install app?} @@ -6603,6 +6644,23 @@ Keep your key file in a safe place. You will need it to create new versions of y Keep saving passwords in your Brave sync chain + + + Update Google Play services + + + Update to save passwords + + + Password saved on this device only. To save new passwords in your Brave sync chain, update Google Play services. + + + To start saving passwords to Brave Password Manager again, update Google Play services + + + Update + + Verify @@ -6684,6 +6742,10 @@ Keep your key file in a safe place. You will need it to create new versions of y Manage Passwords + + + Manage Password + @@ -6692,6 +6754,10 @@ Keep your key file in a safe place. You will need it to create new versions of y Manage passwords + + + Manage password + App ($1com.netflix.mediaclient) @@ -8107,10 +8173,10 @@ Keep your key file in a safe place. You will need it to create new versions of y Tabs - + Recently opened - + From your @@ -8304,10 +8370,10 @@ Keep your key file in a safe place. You will need it to create new versions of y $1Bookmarks - pinned - You can open most side panel features through the Brave menu + You can open bookmarks, reading mode, and more from the Brave menu - You can open most side panel features through the Brave menu at the top right + You can open bookmarks, reading mode, and more from the Brave menu at the top right You can pin this side panel for easy access @@ -8678,11 +8744,6 @@ Keep your key file in a safe place. You will need it to create new versions of y Log in as another user to view and take notes on this page. - - - Feed - - Google Lens @@ -8738,10 +8799,19 @@ Keep your key file in a safe place. You will need it to create new versions of y Hidden toolbar buttons - Extensions are blocked on this site + Extensions not allowed on this site - Extensions are allowed on this site + Extensions allowed on this site + + + Extensions menu + + + Extensions not allowed on this site. Select to open menu + + + Extensions allowed on this site. Select to open menu Extension permissions @@ -9029,6 +9099,12 @@ Keep your key file in a safe place. You will need it to create new versions of y Hidden saved tab groups + + Tab groups + + + Tab groups + Menu containing hidden bookmarks @@ -9874,18 +9950,6 @@ Check your passwords anytime in $1Brave P Screenshot of programs that are currently on the screen - - Send performance trace data - - - Attach <a href="#" id="bluetooth-logs-info-link">Bluetooth Logs</a> (Brave internal) - - - This information helps us better understand your Assistant issue. It's stored for up to 90 days and access is restricted to appropriate engineering and feedback teams. - - - To better diagnose Bluetooth issues, Bravers can include additional Bluetooth logs with their feedback reports. When this option is checked, your report will include btsnoop and HCI logs from your current session, sanitized to remove as much PII as possible. Access to these logs will be restricted to managers of the ChromeOS product group in Listnr. Logs will be purged after 90 days. - Feedback Report @@ -9905,9 +9969,6 @@ Check your passwords anytime in $1Brave P Send <a href="#" id="sys-info-url">system and app information</a>, and <a href="#" id="histograms-url">metrics</a> - - Include recent Assistant history via Sherlog. This may include your identity, location, and debug info. <a href="#" id="assistant-logs-info-link">Learn more</a> - File will be sent to Brave for debugging @@ -10460,6 +10521,9 @@ Check your passwords anytime in $1Brave P Create group + + Create groups + Dismiss @@ -10523,9 +10587,15 @@ Check your passwords anytime in $1Brave P Organizing into a tab group… - + Tab group suggestion + + Tab group suggested + + + $12 Tab groups suggested + Something went wrong @@ -10577,10 +10647,7 @@ Check your passwords anytime in $1Brave P Exclude tab from suggested group - - Refresh - - + Clear @@ -12117,9 +12184,6 @@ This can include information about installed software, files, your browser, and Can't sign in to $1Jane.Doe@gmail.com - - Can't sync with $1Jane.Doe@gmail.com - Close @@ -12348,6 +12412,9 @@ Please help our engineers fix this problem. Tell us what happened right before y Set as default + + Set as default + @@ -12788,6 +12855,15 @@ Please help our engineers fix this problem. Tell us what happened right before y Notifications from this site may be disruptive + + + Notifications + + + Notifications are turned off in Mac System Settings + + + @@ -13347,13 +13423,13 @@ Please help our engineers fix this problem. Tell us what happened right before y - Camera and microphone are turned off in Mac System Preferences + Camera and microphone are turned off in Mac System Settings - Camera is turned off in Mac System Preferences + Camera is turned off in Mac System Settings - Microphone is turned off in Mac System Preferences + Microphone is turned off in Mac System Settings Open Settings @@ -13405,6 +13481,16 @@ Please help our engineers fix this problem. Tell us what happened right before y Camera not allowed + + Can't access camera + + + Can't access microphone + + + Can't access camera & microphone + + @@ -13554,38 +13640,6 @@ Please help our engineers fix this problem. Tell us what happened right before y Custom Files - - - You have gone full screen. - - - "$1MyExtension" triggered full screen. - - - An extension triggered full screen. - - - $1google.com is now full screen. - - - This page is now full screen. - - - $1google.com is now full screen and has disabled your mouse cursor. - - - This page is now full screen and has disabled your mouse cursor. - - - $1google.com has disabled your mouse cursor. - - - This page has disabled your mouse cursor. - - - Press |$1Esc| to show your cursor - - This site is using motion or light sensors. @@ -15480,12 +15534,33 @@ Please help our engineers fix this problem. Tell us what happened right before y Pasting this content to this site is not allowed + + Pasting this content to this site is not recommended + Copying from this site is not allowed + + Copying from this site is not recommended + Your administrator has blocked this action + + This action might violate your organization's policies + + + Paste anyway + + + Copy anyway + + + Don't paste + + + Don't copy + @@ -15857,8 +15932,8 @@ Please help our engineers fix this problem. Tell us what happened right before y Choose an account to continue - - Cancel + + Confirm you want to sign in to $1rp.example with $2idp.example To continue, $1idp.com will share your name, email address, and profile picture with this site. @@ -15875,7 +15950,7 @@ Please help our engineers fix this problem. Tell us what happened right before y Use a different account - + Continue @@ -16330,6 +16405,15 @@ Please help our engineers fix this problem. Tell us what happened right before y $1Brave Maps version $21.0 is already installed on this device + + Body + + + Details + + + Progress + Please wait while installation is in progress diff --git a/app/generated_resources_override.grd b/app/generated_resources_override.grd index 542b0ce2e511..76e23eed13e0 100644 --- a/app/generated_resources_override.grd +++ b/app/generated_resources_override.grd @@ -287,31 +287,6 @@ are declared in tools/grit/grit_rule.gni. Downloaded in Private - - - - - - - - - - - - - - - - - - - - - - - - - @@ -557,9 +532,6 @@ are declared in tools/grit/grit_rule.gni. - - - @@ -579,6 +551,8 @@ are declared in tools/grit/grit_rule.gni. + + @@ -1028,6 +1002,9 @@ are declared in tools/grit/grit_rule.gni. + + + diff --git a/app/media_live_preview_strings.grdp b/app/media_live_preview_strings.grdp index 1b9ad14ab064..12d93da27259 100644 --- a/app/media_live_preview_strings.grdp +++ b/app/media_live_preview_strings.grdp @@ -41,4 +41,13 @@ System default + + $1 (System default) + + + + + The selected device changed to $1HD Web Camera + + diff --git a/app/os_settings_search_tag_strings.grdp b/app/os_settings_search_tag_strings.grdp index 42039c263e1c..830e680a9801 100644 --- a/app/os_settings_search_tag_strings.grdp +++ b/app/os_settings_search_tag_strings.grdp @@ -787,6 +787,9 @@ + + Wallpaper and style + Change device account image @@ -1052,6 +1055,9 @@ Security and Privacy + + Privacy and security + Verified access @@ -1103,6 +1109,9 @@ Location access + + Location accuracy + Microphone access @@ -1595,4 +1604,9 @@ Split screen overview + + + + System preferences + diff --git a/app/os_settings_strings.grdp b/app/os_settings_strings.grdp index 5e9fc1070c87..dd2a6a51e829 100644 --- a/app/os_settings_strings.grdp +++ b/app/os_settings_strings.grdp @@ -296,6 +296,16 @@ Keep updates + + + Set up + + + Opt into extended updates to keep your device up to date + + + Automatic security and software updates have been paused. You can extend updates for 2 more years, but some functionality will be limited. <a target="_blank" href="$1https://google.com/">Learn more</a> + @@ -632,7 +642,7 @@ Manage personal information - Orca + Help me write Create a draft or refine existing work, powered by Google AI. @@ -1387,6 +1397,31 @@ Gray + + Reduced animations + + + Limit movement on the screen + + + + Text caret blink rate + + + Change the blink rate of the text caret in most text fields. + + + Do not blink + + + Normal + + + Slow + + + Fast + Sticky keys @@ -1707,6 +1742,46 @@ Use Ctrl + Alt + Brightness down to zoom out. Extra large + + + Mouse Keys + + + Use your Chromebook keyboard or a numeric keypad to control the cursor + + + Press ctrl key 5 times to pause mouse keys + + + Temporarily disable mouse keys when you are in a text field. Press esc to resume. + + + Acceleration + + + Slow + + + Fast + + + Maximum speed + + + Low + + + High + + + Dominant hand + + + Right hand + + + Left hand + Send your voice to Brave to allow dictation into any text field. @@ -3238,6 +3313,12 @@ Press an assigned switch or key to remove assignment. Some apps can automatically adjust mic volume(gain control) to optimize(audio). + + Bluetooth Super Resolution + + + Improve the quality of Bluetooth mic sound by upscaling low-res audio to high-res. + Volume @@ -3653,21 +3734,12 @@ Press an assigned switch or key to remove assignment. Set up or manage CUPS printers. <a>Learn more</a> - - Add printer - Add printer manually - - Save detected printers to your profile, or add a new printer. <a>Learn more</a> - These printers are connected and ready to use. Save to your profile for easier access. - - Add printers to your profile - Other available printers @@ -3701,9 +3773,6 @@ Press an assigned switch or key to remove assignment. Remove - - Set up - Save @@ -4481,7 +4550,7 @@ Press an assigned switch or key to remove assignment. Network out of range - Mobile network provider is locked + Cannot connect. Locked by another mobile provider. Set up new network @@ -4781,6 +4850,9 @@ Press an assigned switch or key to remove assignment. Connected phone features enable. + + Instant hotspot + Instant Tethering @@ -5041,6 +5113,9 @@ Press an assigned switch or key to remove assignment. Unlock automatically once PIN is entered + + More actions for PIN + Confirm PIN to turn on automatic unlock @@ -5541,6 +5616,9 @@ Press an assigned switch or key to remove assignment. Arrangement + + Display brightness + Mirror $1HP Z27n @@ -5574,7 +5652,7 @@ Press an assigned switch or key to remove assignment. Sunset to sunrise - + Current schedule is set to $16am - $26pm. To automatically update the sunset and sunrise schedule, <a href="#">turn on location access</a> @@ -5589,6 +5667,9 @@ Press an assigned switch or key to remove assignment. Cooler + + Shiny Performance + Allow windows to span displays @@ -5805,8 +5886,8 @@ Press an assigned switch or key to remove assignment. Use your IP address to determine location (default) - - Time Zone is currently set to $1(UTC+4:00) Georgia Standard Time (Tbilisi). Location access is needed to automatically update the time zone. <a href="#">Turn on Location access</a> + + Time zone is currently set to $1(UTC+4:00) Georgia Standard Time (Tbilisi). Location access needed to automatically update the time zone. <a href="#">Turn on Location access</a> Use your IP address to determine location @@ -5832,16 +5913,16 @@ Press an assigned switch or key to remove assignment. Set date and time - + Allow system services to use your location? - - This allows system services with the permission to use your location. Location may use sources like Wi-Fi, mobile networks, and sensors to help estimate your device's location. <a>Learn more</a> + + This allows system services with permission to use your location. Location may use sources like Wi-Fi, mobile networks, and sensors to help estimate your device's location. <a>Learn more</a> - + Allow - + Cancel @@ -6331,7 +6412,7 @@ Press & hold keyboard keys to see accent marks and special characters. This Data access protection for peripherals - Block external accessories from accessing and sharing memory (RAM) + Block Thunderbolt or USB4 accessories from accessing and sharing memory (RAM) Some devices require you to disable data access protection to work properly or at full performance. @@ -6460,17 +6541,40 @@ Press & hold keyboard keys to see accent marks and special characters. This Location access - Allow apps, websites, and system services to use your location. Location may use sources like Wi-Fi, mobile networks, and sensors to help estimate your device’s location. <a>Learn more</a> + Manage location access for apps, websites and system services. Location may use sources like Wi-Fi, mobile networks, and sensors to help estimate your device's location. <a>Learn more</a> - + Allowed - + Only allowed for system services - + Blocked for all + + Apps, websites and system services with the location permission can use your location. <a>Learn more</a> + + + Only system services can use your location. However, your location may still be visible to apps and websites through your IP address. <a>Learn more</a> + + + Nothing can use your location. However, your location may still be visible to apps and websites through your IP address. <a>Learn more</a> + + + + Brave’s location service improves location accuracy by using Wi-Fi, mobile networks, and sensors to help estimate your location. Brave may collect location data periodically and use this data in an anonymous way to improve location accuracy and location-based services. + Turning this off will result in Android only using IP address for location. This may impact the accuracy of location used by apps such as Maps. + + + Improve location accuracy (Android only) + + + Advanced location settings + + + This setting is controlled by $1joe@gmail.com. + $1ChromeOS Flex hardware support and stability @@ -6486,7 +6590,7 @@ Press & hold keyboard keys to see accent marks and special characters. This Manage site microphone permissions in Brave - + Manage site location permissions in Brave @@ -6495,8 +6599,8 @@ Press & hold keyboard keys to see accent marks and special characters. This No websites are allowed to use your microphone - - No website is allowed to use your location + + No websites are allowed to use your location Apps @@ -6507,8 +6611,8 @@ Press & hold keyboard keys to see accent marks and special characters. This No apps are allowed use your microphone - - No app is allowed to use your location + + No apps are allowed to use your location Use secure connections to look up sites @@ -6568,16 +6672,16 @@ Press & hold keyboard keys to see accent marks and special characters. This Blocked. Schedule is currently set to $16am - $26pm and can only be updated manually. - Automatic time zone + Automatic time zone based on Wi-Fi or mobile networks - Sunset schedule + Automatic sunset schedule Local weather - Dark theme + Automatic light/dark theme No camera connected diff --git a/app/profiles_strings.grdp b/app/profiles_strings.grdp index 9f31f3569943..6274097b7c28 100644 --- a/app/profiles_strings.grdp +++ b/app/profiles_strings.grdp @@ -42,6 +42,9 @@ Paused + + Verify it's you + Work @@ -120,6 +123,9 @@ Addresses and more + + Sign in to get your passwords and more on all your devices + Other profiles @@ -133,6 +139,15 @@ Open Guest profile + + {0, plural, + =1 {Close this profile} + other {Close this profile (# windows)} + } + + + Add new profile + @@ -147,6 +162,15 @@ Open Guest Profile + + {0, plural, + =1 {Close This Profile} + other {Close This Profile (# Windows)} + } + + + Add New Profile + managed by $11 diff --git a/app/settings_brave_strings.grdp b/app/settings_brave_strings.grdp index 1de31d8406a3..ca8fd1d93f86 100644 --- a/app/settings_brave_strings.grdp +++ b/app/settings_brave_strings.grdp @@ -54,9 +54,6 @@ - - Google Pay (copied to Brave) - Brave can't check your passwords. Try checking your internet connection. @@ -184,15 +181,6 @@ If you also share Brave usage reports, those reports include the URLs you visit - - As you type, Brave sends the content of the address bar or search box to your default search engine - - - Depending on your settings, Brave may also send cookies and your current URL - - - When off, you'll still see suggestions that Brave provides locally - diff --git a/app/settings_strings.grdp b/app/settings_strings.grdp index 8762ac1114aa..cf205730ad82 100644 --- a/app/settings_strings.grdp +++ b/app/settings_strings.grdp @@ -260,8 +260,17 @@ Show bookmarks - - Show images on tab hover preview cards + + Tab hover preview card + + + Show tab preview images + + + Show tab memory usage + + + Show memory usage on tab hover preview card Side panel @@ -456,9 +465,6 @@ Address deleted - - Remove copy - Edit card @@ -1341,15 +1347,6 @@ Preload pages - - Choose whether to preload pages - - - No preloading - - - Pages load only after you open them - Standard preloading @@ -1745,12 +1742,6 @@ If a site tries to steal your password, or when you download a harmful file, Brave may also send URLs, including bits of page content, to Brave - - Choose whether to get additional search suggestions - - - When you click or type in the address bar or search box, you'll see suggestions from your default search engine. This is off in Private. - @@ -2694,6 +2685,18 @@ Not allowed to use fonts installed on your device + + Sites use this setting to offer immersive fullscreen experiences regardless of user gestures + + + Entering fullscreen requires a user gesture by default + + + Allowed to enter fullscreen automatically + + + Not allowed to enter fullscreen automatically + Sites usually connect to HID devices for features that use uncommon keyboards, game controllers, and other devices diff --git a/app/settings_strings_override.grdp b/app/settings_strings_override.grdp index c68209b15de0..89a03dc25964 100644 --- a/app/settings_strings_override.grdp +++ b/app/settings_strings_override.grdp @@ -121,9 +121,6 @@ - - When you click or type in the address bar or search box, you'll see suggestions from your default search engine. This is off in Private. - {NUM_EXTENSIONS, plural, diff --git a/browser/ui/android/strings/android_chrome_strings.grd b/browser/ui/android/strings/android_chrome_strings.grd index 100b955cbd35..e0018f800de3 100644 --- a/browser/ui/android/strings/android_chrome_strings.grd +++ b/browser/ui/android/strings/android_chrome_strings.grd @@ -271,9 +271,6 @@ CHAR_LIMIT guidelines: Sign-in verifications - - Brave tips - Bluetooth @@ -306,6 +303,25 @@ CHAR_LIMIT guidelines: Control how your browsing history is used to personalize Search and more + + Personalize Brave services + + + Control how your synced history can be used to personalize other Brave services + + + + To get the most personalized experience, include Brave in Web & App Activity and linked Brave services + + + Web & App Activity + + + Linked Brave services + + + Link Brave and other Brave services if you want them to personalize your experience using data from one another + Sign out and turn off sync @@ -448,9 +464,15 @@ CHAR_LIMIT guidelines: Choose your search engine - + You can change this later in Settings + + You can change your default anytime in settings + + + Set as default + You can choose your search engine @@ -525,9 +547,6 @@ CHAR_LIMIT guidelines: Billing address - - Copied to Brave - Not seeing your current info? Please contact your bank to update it. @@ -571,6 +590,16 @@ CHAR_LIMIT guidelines: Delete + + Nickname + + + IBAN + + + This IBAN will be saved to this device only + + @@ -764,7 +793,7 @@ CHAR_LIMIT guidelines: We’re changing how passwords are saved on this device - Right now, passwords saved on this device cannot be used across Brave channels. After Brave 121, passwords saved on your device for Brave and %1$sBrave Dev will be merged and can be used in both apps. + Right now, passwords saved on this device cannot be used across Brave channels. After Brave 125, passwords saved on your device for Brave and %1$sBrave Dev will be merged and can be used in both apps. Got it @@ -1225,6 +1254,9 @@ Your Brave account may have other forms of browsing history like searches and ac Autofill form data + + Tabs on this device + Clearing browsing data @@ -1273,6 +1305,9 @@ Your Brave account may have other forms of browsing history like searches and ac Clear browsing data… + + Open full Brave history + Basic @@ -1467,6 +1502,11 @@ Your Brave account may have other forms of browsing history like searches and ac Manage third-party cookies and tracking protections + + + Hide your IP address + + Safety check @@ -1487,7 +1527,7 @@ Your Brave account may have other forms of browsing history like searches and ac Passwords saved to this device - Passwords saved to %1$selisa.becket@gmail.com. + Passwords saved to %1$selisa.becket@gmail.com Check now @@ -2108,6 +2148,9 @@ Your Brave account may have other forms of browsing history like searches and ac You are signing in with an account managed by %1$sBrave and giving its administrator control over your Brave data. Your data will become permanently tied to this account. Signing out of Brave will delete your data from this device, but it will remain stored in your Brave sync chain. + + Your organization, %1$sBrave, manages the account you're signing in to and how Brave can be used. Your administrator can set up or restrict certain features. + Sync your bookmarks @@ -2162,6 +2205,9 @@ Your Brave account may have other forms of browsing history like searches and ac Settings + + Apps + Payment methods, offers, and addresses using Google Pay @@ -2385,6 +2431,11 @@ To change this setting, BEGIN_LINKclear the Brave dat Verify + + + Brave sync chain error + + Standard tabs @@ -2471,6 +2522,10 @@ To change this setting, BEGIN_LINKclear the Brave dat Listen to this page + + You can listen to this page + + Print… @@ -3089,6 +3144,10 @@ To change this setting, BEGIN_LINKclear the Brave dat Info is sent to Brave about your Brave usage, but it isn\u2019t tied to you\n\nIf Brave crashes, details about the crash may include some personal info\n\nIf you turn on sync, metrics may also include info about URLs you visit + + + Make Brave your own + Sign in to browse easier across devices @@ -3163,8 +3222,12 @@ To change this setting, BEGIN_LINKclear the Brave dat You can always choose what to sync in <LINK1>settings</LINK1>. - - You can always choose what to sync in <LINK1>settings</LINK1>. Brave may personalize Search and other services based on your history. + + + You are signed in as %1$sjane.doe@example.com. You can always choose what to sync in settings. Brave may personalize Search and other services based on your history. + + + You can always choose what to sync in settings. Brave may personalize Search and other services based on your history. Yes, I'm in @@ -3175,12 +3238,21 @@ To change this setting, BEGIN_LINKclear the Brave dat Choose an account - - Choose an account. Currently selected %1$sjohn.doe@example.com. + + %1$sJohn Doe, %2$sjohn.doe@example.com currently selected. Choose an account. + + + %1$sjohn.doe@example.com currently selected. Choose an account. - + + %1$sJohn Doe currently selected. Choose an account. + + Choose an account. + + %1$sJohn Doe, %2$sjohn.doe@example.com. + Sign in to Brave @@ -3246,6 +3318,9 @@ To change this setting, BEGIN_LINKclear the Brave dat Sync to get your bookmarks from your other devices + + Sign in to get your bookmarks and more from your other devices + Get better suggestions @@ -3306,9 +3381,15 @@ To change this setting, BEGIN_LINKclear the Brave dat {MINUTES, plural, =1 {# minute ago} other {# minutes ago}} + + {MINUTES, plural, =1 {# min ago} other {# min ago}} + {HOURS, plural, =1 {# hour ago} other {# hours ago}} + + {HOURS, plural, =1 {# hr ago} other {# hr ago}} + {DAYS, plural, =1 {# day ago} other {# days ago}} @@ -3508,38 +3589,6 @@ To change this setting, BEGIN_LINKclear the Brave dat Explore content to follow - - - Brave tips - - - Learn how to set Brave as your default - - - To get your Brave stuff across devices, sign in - - - To browse privately on this device, try out Private - - - Discover new content on Brave’s homepage - - - You can use your voice to search in Brave - - - To open a new Private tab, open the menu - - - Scroll down to see suggested articles - - - To search with your voice, tap the microphone - - - Sign in to Brave with your Brave sync chain - - Open tabs @@ -3568,6 +3617,9 @@ To change this setting, BEGIN_LINKclear the Brave dat Collapse to side view + + View your web history here + Minimize tab @@ -3687,6 +3739,9 @@ To change this setting, BEGIN_LINKclear the Brave dat Recent tabs + + Web history + History @@ -3696,9 +3751,6 @@ To change this setting, BEGIN_LINKclear the Brave dat Downloads - - Bookmark - Edit Bookmark @@ -3741,6 +3793,9 @@ To change this setting, BEGIN_LINKclear the Brave dat Settings + + Settings, Brave sync chain error + Close all tabs @@ -4000,13 +4055,13 @@ To change this setting, BEGIN_LINKclear the Brave dat {BOOKMARK_COUNT, plural, - =1 {Bookmark saved to %1$sMobile bookmarks. It is only saved to this device.} - other {Bookmarks saved to %1$sMobile bookmarks. It is only saved to this device.}} + =1 {Bookmark saved to "%1$sMobile bookmarks". It is only saved to this device.} + other {Bookmarks saved to "%1$sMobile bookmarks". It is only saved to this device.}} {BOOKMARK_COUNT, plural, - =1 {Bookmark saved to %1$sMobile bookmarks in your account, %2$sexample@gmail.com.} - other {Bookmarks saved to %1$sMobile bookmarks in your account, %2$sexample@gmail.com.}} + =1 {Bookmark saved to "%1$sMobile bookmarks" in your account, %2$sexample@gmail.com.} + other {Bookmarks saved to "%1$sMobile bookmarks" in your account, %2$sexample@gmail.com.}} @@ -4960,9 +5015,6 @@ To change this setting, BEGIN_LINKclear the Brave dat - - To share this page to another device, turn on sync in Brave settings on the other device - You have disabled Storage access, please go to Settings to enable it. @@ -5934,6 +5986,11 @@ To change this setting, BEGIN_LINKclear the Brave dat Passkey confirmation sheet closed + + + + +%1$s1 + diff --git a/browser/ui/android/strings/android_chrome_strings_override.grd b/browser/ui/android/strings/android_chrome_strings_override.grd index 054f35e4afd2..dfcfb8af7e28 100644 --- a/browser/ui/android/strings/android_chrome_strings_override.grd +++ b/browser/ui/android/strings/android_chrome_strings_override.grd @@ -186,12 +186,6 @@ CHAR_LIMIT guidelines: New Private tab - - To browse privately on this device, try out Private - - - To open a new Private tab, open the menu - New Private tab diff --git a/components/autofill_payments_strings.grdp b/components/autofill_payments_strings.grdp index 5d1a5d402889..2c5ed2afc72d 100644 --- a/components/autofill_payments_strings.grdp +++ b/components/autofill_payments_strings.grdp @@ -171,9 +171,6 @@ Save card to Brave sync chain? - - Save card? - Save security code? @@ -218,9 +215,6 @@ To pay faster next time, save your card, name, and billing address in your Brave sync chain - - Pay faster next time and protect your card with Brave’s industry-leading security. - This card's CVC will be encrypted and saved in your Brave sync chain for faster checkout @@ -804,17 +798,16 @@ Copied - - + Card number - + Expiry date - + Expiry year - + Expiry month @@ -903,6 +896,9 @@ Get an email + + Via Strong Customer Authentication (SCA) + Not seeing your current info? Contact your bank to update it. @@ -915,6 +911,9 @@ This is the $13-digit code on the $2back of your card + + Opens a pop-up to verify on your bank's website + Enter code @@ -936,6 +935,15 @@ Enter correct code + + Your bank wants to verify it's you + + + When you continue you'll be taken to your bank's website. After you verify, you'll automatically be returned to finish your purchase. + + + Continue + @@ -966,12 +974,6 @@ - - Pay with %1$sVisa - 1234 at checkout. - - - See details - Google Pay offer available @@ -1033,6 +1035,14 @@ Add card + + + + + Add IBAN + + + @@ -1108,7 +1118,7 @@ Card benefits available - terms apply + See terms here diff --git a/components/autofill_strings.grdp b/components/autofill_strings.grdp index a71cdade293d..7bd917393615 100644 --- a/components/autofill_strings.grdp +++ b/components/autofill_strings.grdp @@ -24,12 +24,6 @@ - - - Remove copy - - - Automatic credit card filling is disabled because this form does not use a secure connection. @@ -122,11 +116,10 @@ The form was filled in - - + You are currently on a menu - + Dialog with credit card details was shown @@ -249,6 +242,13 @@ You can now use addresses from your Brave sync chain + + + Right click to fill your saved info in any online form with less typing + + + Right click to fill in your saved info in any online form with less typing + @@ -576,6 +576,15 @@ Update address? + + Fill your address with less typing + + + You don't have any addresses saved. Add an address to use it in Brave. + + + You don't have any addresses saved. Add an address to use it across Brave products. + No thanks @@ -591,6 +600,9 @@ Update + + Add address + Cancel diff --git a/components/components_strings.grd b/components/components_strings.grd index 38a6cdc55b13..aa01ae82fd80 100644 --- a/components/components_strings.grd +++ b/components/components_strings.grd @@ -318,7 +318,7 @@ - + diff --git a/components/components_strings_override.grd b/components/components_strings_override.grd index cd8c9c336e87..48ddaf9ab139 100644 --- a/components/components_strings_override.grd +++ b/components/components_strings_override.grd @@ -91,7 +91,7 @@ - + diff --git a/components/fullscreen_control_strings.grdp b/components/fullscreen_control_strings.grdp index 33bd07f5db04..c77efb67f001 100644 --- a/components/fullscreen_control_strings.grdp +++ b/components/fullscreen_control_strings.grdp @@ -13,10 +13,10 @@ Press |$1Search| + |$2Overview| to exit full screen - + Press |$1Overview| to show your cursor - + Press |$1Search| + |$2Overview| to show your cursor diff --git a/components/history_clusters_strings.grdp b/components/history_clusters_strings.grdp index 9f4292fff9dd..3bc3f1afecca 100644 --- a/components/history_clusters_strings.grdp +++ b/components/history_clusters_strings.grdp @@ -11,21 +11,9 @@ Are you sure you want to delete these pages from your history? - - Turn off Journeys - - - Turn on Journeys - - - Journeys - By group - - List - By date @@ -93,9 +81,6 @@ Saved in tab group - - Search Journeys - Cut diff --git a/components/history_strings.grdp b/components/history_strings.grdp index d1ff1a497aa1..c712c5f7451f 100644 --- a/components/history_strings.grdp +++ b/components/history_strings.grdp @@ -122,4 +122,14 @@ Unknown device + + + Yesterday + + + Last week + + + Last month + diff --git a/components/page_info_strings.grdp b/components/page_info_strings.grdp index 4373a9127def..1718cff0f1da 100644 --- a/components/page_info_strings.grdp +++ b/components/page_info_strings.grdp @@ -496,6 +496,25 @@ Go to site settings + + + + System Settings + + + Enable notifications in the Notification Center. Open $1System Settings. + + + + To use your camera, give Brave access in $1system settings. + + + To use your microphone, give Brave access in $1system settings. + + + system settings + + Allowed by your administrator diff --git a/components/page_info_strings_override.grdp b/components/page_info_strings_override.grdp index a0b31297ad2b..e6bbe3e53b14 100644 --- a/components/page_info_strings_override.grdp +++ b/components/page_info_strings_override.grdp @@ -31,6 +31,8 @@ Not allowed in Private + + diff --git a/components/pdf_strings.grdp b/components/pdf_strings.grdp index a48a61ff98c8..58002e5aae8a 100644 --- a/components/pdf_strings.grdp +++ b/components/pdf_strings.grdp @@ -381,12 +381,6 @@ This PDF is inaccessible. No text extracted - - Start of extracted text - - - End of extracted text - Extracting text in next few pages diff --git a/components/permissions_strings.grdp b/components/permissions_strings.grdp index df43066fb1a5..7996a9497d0c 100644 --- a/components/permissions_strings.grdp +++ b/components/permissions_strings.grdp @@ -77,6 +77,9 @@ Allow 2 permissions? + + Would you like to use your $1google.com accounts to login to websites? + @@ -98,9 +101,15 @@ Use your microphones + + Use your microphones ($11) + Use your cameras + + Use your cameras ($11) + Use & move your camera @@ -142,6 +151,9 @@ This will otherwise be blocked by your privacy settings. This will allow the con Know when you're actively using this device + + Use your accounts to login to websites + Download multiple files diff --git a/components/plus_addresses_strings.grdp b/components/plus_addresses_strings.grdp index 6152d01b6f9a..d82d043d0df2 100644 --- a/components/plus_addresses_strings.grdp +++ b/components/plus_addresses_strings.grdp @@ -2,6 +2,10 @@ + + + Lorem Ipsum + Lorem Ipsum @@ -61,5 +65,9 @@ Lorem Ipsum + + + Lorem Ipsum + diff --git a/components/policy_strings.grdp b/components/policy_strings.grdp index 2fa9f212a35d..fbf412b4a12a 100644 --- a/components/policy_strings.grdp +++ b/components/policy_strings.grdp @@ -750,6 +750,9 @@ Additional details: List entry "$1en-GB": Entry ignored because it is also included in the SpellcheckLanguage policy. + + Warning: This policy is conflicting with the $1BraveLocationServicesEnabled and will have no effect on Android apps. Otherwise, this policy is working as intended. + Is affiliated: @@ -786,6 +789,15 @@ Additional details: More actions + + Sort + + + in ascending order + + + in descending order + diff --git a/components/privacy_sandbox_chrome_strings.grdp b/components/privacy_sandbox_chrome_strings.grdp new file mode 100644 index 000000000000..6dce13565f03 --- /dev/null +++ b/components/privacy_sandbox_chrome_strings.grdp @@ -0,0 +1,2360 @@ + + + + + + + Turn on an ad privacy feature + + + We’re launching new privacy features that give you more choice over the ads you see. + + + Ad topics help sites show you relevant ads while protecting your browsing history and identity. Brave can note topics of interest based on your recent browsing history. Later, a site you visit can ask Brave for relevant topics to personalize the ads you see. + + + You can see ad topics in settings and block the ones you don’t want shared with sites. Brave also auto-deletes ad topics that are older than 4 weeks. + + + More about ad topics + + + You can change your mind any time in Brave settings + + + No thanks + + + Turn it on + + + + Saving... + + + + <b>What data is used:</b> Your ad topics are based on your recent browsing history, a list of sites you’ve visited using Brave on this device. + + + <b>How we use this data:</b> Brave notes topics of interest as you browse. Topic labels are predefined and include things like, Arts & Entertainment, Shopping, and Sports. Later, a site you visit can ask Brave for a few of your topics (but not your browsing history) to personalize the ads you see. + + + <b>How you can manage your data:</b> Brave auto-deletes topics that are older than 4 weeks. As you keep browsing, a topic might reappear on the list. You can also block topics you don’t want Brave to share with sites and turn ad topics off at any time in Brave settings. + + + Learn more about how Brave protects your data in our Privacy Policy. + + + + + Other ad privacy features now available + + + We’re launching new ways to limit what sites can learn about you when they show you personalized ads, for example: + + + Site-suggested ads help protect your browsing history and identity while enabling sites to show you relevant ads. Based on your activity, a site you visited can suggest related ads as you continue browsing. You can see a list of these sites and block the ones you don’t want in settings. + + + With ad measurement, limited types of data are shared between sites to measure the performance of their ads, such as whether you made a purchase after visiting a site. + + + More about site-suggested ads and ad measurement + + + You can make changes in Brave settings + + + Got it + + + Settings + + + + Site-suggested ads + + + <b>What data is used:</b> Your activity on a site you visit using Brave on this device. + + + <b>How sites use this data:</b> Sites can store information with Brave about things you like. For example, if you visit a site about marathon training, the site might decide that you’re interested in running shoes. Later, if you visit a different site, that site can show you an ad for running shoes suggested by the first site. + + + <b>How you can manage your data:</b> Brave auto-deletes sites that are older than 30 days. A site you visit again might reappear on the list. You can also block a site from suggesting ads for you and turn site-suggested ads off at any time in Brave settings. + + + Ad measurement + + + Sites you visit can ask Brave for information that helps them measure the performance of their ads. Brave protects your privacy by limiting the information sites can share with one another. + + + + + New ad privacy feature now available + + + + We’re launching a new ad privacy feature called ad measurement. Brave shares only very limited information between sites, such as when an ad was shown to you, to help sites measure the performance of ads. + + + Learn more about how Brave protects your data in our Privacy Policy. + + + You can make changes in Brave ad privacy settings + + + Got it + + + Settings + + + + + Enhanced ad privacy in Brave + + + We’re launching new privacy features that give you more choice over the ads you see. + + + Brave notes topics of interest based on your recent browsing history. Also, sites you visit can determine what you like. Later, sites can ask for this information to show you personalized ads. You can choose which topics and sites are used to show you ads. + + + To measure the performance of an ad, limited types of data are shared between sites, such as whether you made a purchase after visiting a site. + + + More about ads in Brave + + + You can make changes in Brave settings + + + Got it + + + Settings + + + + More useful ads + + + Sites can ask Brave for information to help personalize the ads you see. + + + Brave notes topics of interest based on your recent browsing history. + + + Sites you visit can also determine what you like based on your activity on the site. For example, if you visit a site that sells long-distance running shoes, the site might decide that you’re interested in running marathons. + + + Later, a site you visit can ask for this information — either your ad topics or ads suggested by sites you’ve visited. + + + Brave auto-deletes topics and sites that suggest ads within 30 days. Or you can block specific topics and sites you don’t like. + + + Measuring how well an ad performs + + + Sites you visit can ask Brave for information to help them measure the performance of their ads. Brave lets sites collect limited types of data, such as whether you made a purchase after visiting a site. + + + Learn more about how Brave protects your data in our Privacy Policy. + + + + + More + + + + + + Ad topics + + + Ad topics + + + Topics of interest are based on your recent browsing history and are used by sites to show you personalized ads + + + Topics are based on your recent browsing history and are used by sites to show you personalized ads while protecting your identity + + + + Ad topics are just one of many things a site can use to personalize ads. Even without ad topics, sites can still show you ads but they may be less interesting. + + + Ad topics are just one of many things a site can use to personalize ads. Even without ad topics, sites can still show you ads but they may be less interesting. Learn more about <a href="$1" aria-description="$2" target="_blank">managing your ad privacy</a>. + + + Your topics + + + You can block topics you don’t want shared with sites. Brave also auto-deletes your topics older than 4 weeks. Learn more + + + When on, a list of topics appears here based on your recent browsing history + + + No topics to show right now + + + You don't have any active topics yet + + + No active topics + + + You haven't blocked any topics + + + No blocked topics + + + Block + + + Block $1Movies + + + Topics you blocked + + + Add an item back if you want it in the pool of topics that Brave can choose from when estimating your interests + + + Blocked topics appear here + + + Add + + + Add $1Movies + + + Unblock $1Movies + + + More about ad topics + + + Brave notes topics of interest based on your browsing history from the last few weeks. + + + Later, a site you visit can ask Brave for your topics to personalize the ads you see. Brave shares up to 3 topics while protecting your browsing history and identity. + + + Brave auto-deletes topics that are older than 4 weeks. As you keep browsing, a topic might reappear on the list. Or you can block topics you don’t want Brave to share with sites. Learn more about managing your ad privacy in Brave. + + + As you browse, whether an ad you see is personalized depends on this setting, Site-suggested ads, your cookie settings, and if the site you’re viewing personalizes ads + + + $1American football, $2Tennis and more + + + + + Block $1Movies and any related topics? + + + Blocking $1Movies will also block any related topics, even if the topic is active + + + Block %1$sMovies and any related topics? + + + Blocking %1$sMovies will also block any related topics, even if the topic is active + + + Choose which broad categories of topics can be used to help personalize ads. Turning off a broader category will also block its related topics. + + + <a href="$1" aria-label="$2" aria-description="$3" target="_blank">Learn more</a> + + + Learn more about managing your ad privacy in Brave. + + + This topic is unblocked and may become active based on your browsing history + + + Got it + + + Whether an ad you see is personalized can depend on many things including this setting, <a href="$1" target="_blank">ad topics</a>, your <a href="$2" target="_blank">cookie settings</a>, and if the site you're viewing personalizes ads. Learn more about <a href="$3" target="_blank">managing your ad privacy</a>. + + + Unblock + + + Blocked topics + + + When a topic is blocked, it won't be used to personalize ads + + + Manage topics + + + Choose which broad categories of topics can be used to help personalize ads + + + Choose which broad categories of topics can be used to help personalize ads. Turning off a broader category will also block its related topics. <link>Learn more</link> + + + Active topics + + + Topics older than 4 weeks get auto-deleted + + + Whether an ad you see is personalized can depend on many things including this setting, <link1>site-suggested ads</link1>, your <link2>cookie settings</link2>, and if the site you’re viewing personalizes ads. Learn more about <link3>managing your ad privacy</link3>. + + + Whether an ad you see is personalized can depend on many things including this setting, <link1>ad topics</link1>, your <link2>cookie settings</link2>, and if the site you’re viewing personalizes ads. Learn more about <link3>managing your ad privacy</link3>. + + + Site-suggested ads are just one of many things a site can use to personalize ads. Even without site-suggested ads, sites can still show you ads but they may be less interesting. + + + + + Consent status: + + + Consent last updated: + + + Source of last consent update: + + + Text presented to user: + + + Brave settings + + + No consent decision + + + Confirmation dialog + + + Active + + + Inactive + + + Not required + + + + + + + Unknown + + + Arts & Entertainment + + + Acting & Theater + + + Comics + + + Concerts & Music Festivals + + + Dance + + + Entertainment Industry + + + Humor + + + Live Comedy + + + Live Sporting Events + + + Magic + + + Movie Listings & Theater Showtimes + + + Movies + + + Action & Adventure Movies + + + Animated Movies + + + Comedy Movies + + + Cult & Indie Movies + + + Documentary Movies + + + Drama Movies + + + Family Movies + + + Horror Movies + + + Romance Movies + + + Thriller, Crime & Mystery Movies + + + Music & Audio + + + Blues + + + Classical Music + + + Country Music + + + Dance & Electronic Music + + + Folk & Traditional Music + + + Jazz + + + Musical Instruments + + + Pop Music + + + Rap & Hip-hop + + + Rock Music + + + Classic Rock & Oldies + + + Hard Rock & Progressive + + + Indie & Alternative Music + + + Soul & R&B + + + Soundtracks + + + Talk Radio + + + World Music + + + Reggae & Caribbean Music + + + Online Image Galleries + + + Online Video + + + Opera + + + TV Shows & Programs + + + TV Comedies + + + TV Documentary & Nonfiction + + + TV Dramas + + + TV Soap Operas + + + TV Familly-oriented Shows + + + TV Reality Shows + + + TV Sci-fi & Fantasy Shows + + + Visual Art & Design + + + Design + + + Painting + + + Photographic & Digital Arts + + + Autos & Vehicles + + + Cargo Trucks & Trailers + + + Classic Vehicles + + + Custom & Performance Vehicles + + + Gas Prices & Vehicle Fueling + + + Motor Vehicles + + + Autonomous Vehicles + + + Convertibles + + + Coupes + + + Hatchbacks + + + Hybrid & Alternative Vehicles + + + Luxury Vehicles + + + Microcars & Subcompacts + + + Motorcycles + + + Off-road Vehicles + + + Pickup Trucks + + + Scooters & Mopeds + + + Sedans + + + Station Wagons + + + SUVs + + + Crossovers + + + Vans & Minivans + + + Towing & Roadside Assistance + + + Vehicle & Traffic Safety + + + Vehicle Parts & Accessories + + + Vehicle Repair & Maintenance + + + Vehicle Shopping + + + Used Vehicles + + + Vehicle Shows + + + Beauty & Fitness + + + Body Art + + + Face & Body Care + + + Antiperspirants, Deodorants & Body Sprays + + + Bath & Body Products + + + Clean Beauty + + + Make-up & Cosmetics + + + Nail Care Products + + + Perfumes & Fragrances + + + Razors & Shavers + + + Fashion & Style + + + Fitness + + + Bodybuilding + + + Hair Care + + + Books & Literature + + + Children's Literature + + + Poetry + + + Business & Industrial + + + Advertising & Marketing + + + Sales + + + Agriculture & Forestry + + + Food Production + + + Automotive Industry + + + Aviation Industry + + + Business Operations + + + Flexible Work Arrangements + + + Human Resources + + + Commercial Lending + + + Construction & Maintenance + + + Civil Engineering + + + Defense Industry + + + Energy & Utilities + + + Water Supply & Treatment + + + Hospitality Industry + + + Manufacturing + + + Metals & Mining + + + Pharmaceuticals & Biotech + + + Printing & Publishing + + + Retail Trade + + + Venture Capital + + + Computers & Electronics + + + Antivirus & Malware + + + Computer Peripherals + + + Consumer Electronics + + + Cameras & Camcorders + + + Home Automation + + + Home Theater Systems + + + Wearable Technology + + + Desktop Computers + + + Laptops & Notebooks + + + Network Security + + + Computer Networks + + + Distributed & Cloud Computing + + + Programming + + + Software + + + Audio & Music Software + + + Desktop Publishing + + + Freeware & Shareware + + + Graphics & Animation Software + + + Operating Systems + + + Photo Software + + + Video Software + + + Web Browsers + + + Finance + + + Accounting & Auditing + + + Tax Preparation & Planning + + + Credit Cards + + + Financial Planning & Management + + + Retirement & Pension + + + Grants, Scholarships & Financial Aid + + + Study Grants & Scholarships + + + Home Financing + + + Insurance + + + Auto Insurance + + + Health Insurance + + + Home Insurance + + + Life Insurance + + + Travel Insurance + + + Investing + + + Commodities & Futures Trading + + + Currencies & Foreign Exchange + + + Hedge Funds + + + Mutual Funds + + + Stocks & Bonds + + + Personal Loans + + + Student Loans & College Financing + + + Food & Drink + + + Cooking & Recipes + + + BBQ & Grilling + + + World Cuisine + + + Vegetarian Cuisine + + + Vegan Cuisine + + + Healthy Eating + + + Food & Grocery Retailers + + + Games + + + Billiards + + + Card Games + + + Computer & Video Games + + + Action & Platform Games + + + Adventure Games + + + Casual Games + + + Competitive Video Gaming + + + Massively Multiplayer Games + + + Music & Dance Games + + + Simulation Games + + + Sports Games + + + Strategy Games + + + Drawing & Coloring + + + Roleplaying Games + + + Table Tennis + + + Hobbies & Leisure + + + Anniversaries + + + Birthdays & Name Days + + + Diving & Underwater Activities + + + Fiber & Textile Arts + + + Outdoors + + + Fishing + + + Hunting & Shooting + + + Paintball + + + Radio Control & Modeling + + + Weddings + + + Home & Garden + + + Gardening + + + Home & Interior Decor + + + Home Appliances + + + Home Improvement + + + Home Safety & Security + + + Household Supplies + + + Landscape Design + + + Internet & Telecom + + + Email + + + Internet Service Providers (ISPs) + + + Phone Service Providers + + + Search Engines + + + Smart Phones + + + Teleconferencing + + + Text & Instant Messaging + + + Web Apps & Online Tools + + + Web Design & Development + + + Web Hosting + + + Jobs & Education + + + Education + + + Academic Conferences & Publications + + + Colleges & Universities + + + Distance Learning + + + Early Childhood Education + + + Preschool + + + Homeschooling + + + Standardized & Admissions Tests + + + Vocational & Continuing Education + + + Jobs + + + Career Resources & Planning + + + Job Listings + + + Law & Government + + + Crime & Justice + + + Legal + + + Legal Services + + + News + + + Economy News + + + Local News + + + Mergers & Acquisitions + + + Politics + + + Weather + + + World News + + + Online Communities + + + Dating & Personals + + + Forum & Chat Providers + + + Social Networks + + + People & Society + + + Family & Relationships + + + Ancestry & Genealogy + + + Marriage + + + Parenting + + + Adoption + + + Babies & Toddlers + + + Child Internet Safety + + + Science Fiction & Fantasy + + + Pets & Animals + + + Pet Food & Pet Care Supplies + + + Pets + + + Birds + + + Cats + + + Dogs + + + Fish & Aquaria + + + Reptiles & Amphibians + + + Veterinarians + + + Real Estate + + + Lots & Land + + + Timeshares & Vacation Properties + + + Reference + + + Educational Resources + + + Foreign Language Study + + + How-to, DIY & Expert Content + + + Science + + + Augmented & Virtual Reality + + + Biological Sciences + + + Genetics + + + Chemistry + + + Ecology & Environment + + + Geology + + + Machine Learning & Artificial Intelligence + + + Physics + + + Robotics + + + Shopping + + + Antiques & Collectibles + + + Children's Clothing + + + Consumer Resources + + + Coupons & Discount Offers + + + Costumes + + + Flowers + + + Men's Clothing + + + Party & Holiday Supplies + + + Women's Clothing + + + Sports + + + American Football + + + Australian Football + + + Auto Racing + + + Baseball + + + Basketball + + + Bowling + + + Boxing + + + Cheerleading + + + College Sports + + + Cricket + + + Cycling + + + Equestrian + + + Extreme Sports + + + Climbing & Mountaineering + + + Fantasy Sports + + + Golf + + + Gymnastics + + + Hockey + + + Ice Skating + + + Martial Arts + + + Motorcycle Racing + + + Olympics + + + Rugby + + + Running & Walking + + + Skiing & Snowboarding + + + Soccer + + + Surfing + + + Swimming + + + Tennis + + + Track & Field + + + Volleyball + + + Wrestling + + + Travel & Transportation + + + Adventure Travel + + + Air Travel + + + Business Travel + + + Car Rentals + + + Cruises & Charters + + + Family Travel + + + Honeymoons & Romantic Getaways + + + Hotels & Accommodations + + + Long Distance Bus & Rail + + + Low Cost & Last Minute Travel + + + Luggage & Travel Accessories + + + Tourist Destinations + + + Beaches & Islands + + + Regional Parks & Gardens + + + Theme Parks + + + Zoos, Aquariums & Preserves + + + Travel Guides & Travelogues + + + + Celebrities & Entertainment News + + + Comics & Animation + + + Events & Listings + + + Bars, Clubs & Nightlife + + + Event Ticket Sales + + + Expos & Conventions + + + Film Festivals + + + Food & Beverage Events + + + Science Fiction & Fantasy Films + + + DJ Resources & Equipment + + + Metal (Music) + + + Performing Arts + + + Broadway & Musical Theater + + + TV & Video + + + Live Video Streaming + + + Movie & TV Streaming + + + TV Game Shows + + + TV Talk Shows + + + Architecture + + + Bicycles & Accessories + + + Boats & Watercraft + + + Campers & RVs + + + Commercial Vehicles + + + Compact Cars + + + Diesel Vehicles + + + Electric & Plug-In Vehicles + + + Sports Cars + + + Trucks, Vans & SUVs + + + High Performance & Aftermarket Auto Parts + + + Vehicle Wheels & Tires + + + Beauty Services & Spas + + + Manicures & Pedicures + + + Cosmetology & Beauty Professionals + + + Hygiene & Toiletries + + + Feminine Hygiene Products + + + Skin & Nail Care + + + Face Care Products + + + Sun Care & Tanning Products + + + Unwanted Body & Facial Hair Removal + + + Fitness Equipment & Accessories + + + Fitness Technology Products + + + Fitness Instruction & Personal Training + + + Gyms & Health Clubs + + + High Intensity Interval Training + + + Yoga & Pilates + + + Shampoos & Conditioners + + + Audiobooks + + + Book Retailers + + + Fan Fiction + + + Literary Classics + + + Magazines + + + Writers Resources + + + Building Materials & Supplies + + + Business Finance + + + Business Services + + + Corporate Events + + + Fire & Security Services + + + Merchant Services & Payment Systems + + + Office Supplies + + + Office Furniture + + + Signage + + + Construction Consulting & Contracting + + + Document & Printing Services + + + Event Planning + + + Food Service + + + Industrial Materials & Equipment + + + Work Safety Protective Gear + + + Moving & Relocation + + + Payroll Services + + + Recruitment & Staffing + + + Computer Hardware + + + Computer Components + + + Computer Drives & Storage + + + Computer Security + + + Audio Equipment + + + Headphones + + + Speakers + + + Stereo Systems & Components + + + Camera & Photo Equipment + + + Car Audio + + + Gadgets & Portable Electronics + + + Game Systems & Consoles + + + Handheld Game Consoles + + + Televisions + + + Electronics & Electrical + + + Power Supplies + + + Enterprise Technology + + + Network Monitoring & Management + + + Networking Equipment + + + Business & Productivity Software + + + Accounting & Financial Software + + + Collaboration & Conferencing Software + + + Multimedia Software + + + Photo & Video Software + + + Banking + + + Debit & Checking Services + + + Savings Accounts + + + Credit & Lending + + + Auto Financing + + + Credit Reporting & Monitoring + + + Food + + + Baked Goods + + + Breakfast Foods + + + Candy & Sweets + + + Condiments & Dressings + + + Dairy & Eggs + + + Gourmet & Specialty Foods + + + Meat & Seafood + + + Fish & Seafood + + + Organic & Natural Foods + + + Grocery Delivery Services + + + Restaurant Delivery Services + + + Restaurants + + + Fast Food + + + Pizzerias + + + Board Games + + + Driving & Racing Games + + + Shooter Games + + + Family-Oriented Games & Activities + + + Art & Craft Supplies + + + Boating + + + Holidays & Seasonal Events + + + Hiking & Camping + + + Bed & Bath + + + Bathroom + + + Bedroom + + + Bedding & Bed Linens + + + Beds & Headboards + + + Mattresses + + + Cleaning Services + + + Vacuums & Floor Care + + + Water Filters & Purifiers + + + Home Furnishings + + + Countertops + + + Curtains & Window Treatments + + + Kitchen & Dining Furniture + + + Lamps & Lighting + + + Living Room Furniture + + + Sofas & Armchairs + + + Outdoor Furniture + + + Rugs & Carpets + + + Construction & Power Tools + + + Doors & Windows + + + Flooring + + + House Painting & Finishing + + + Locks & Locksmiths + + + Plumbing + + + Roofing + + + Home Storage & Shelving + + + Cabinetry + + + Home Swimming Pools, Saunas & Spas + + + Household Batteries + + + Household Cleaning Supplies + + + HVAC & Climate Control + + + Air Conditioners + + + Fireplaces & Stoves + + + Household Fans + + + Kitchen & Dining + + + Cookware & Diningware + + + Cookware + + + Diningware + + + Dishwashers + + + Microwaves + + + Ranges, Cooktops & Ovens + + + Refrigerators & Freezers + + + Small Kitchen Appliances + + + Blenders & Juicers + + + Coffee & Espresso Makers + + + Food Mixers + + + Patio, Lawn & Garden + + + Barbecues & Grills + + + Yard Maintenance + + + Lawn Mowers + + + Pest Control + + + Washers & Dryers + + + Communications Equipment + + + Radio Equipment + + + Mobile & Wireless Accessories + + + Mobile Phones + + + Mobile Phone Repair & Services + + + Service Providers + + + Cable & Satellite Providers + + + Voice & Video Chat + + + Web Services + + + Cloud Storage + + + Search Engine Optimization & Marketing + + + Web Hosting & Domain Registration + + + Business Education + + + Computer Education + + + Health Education & Medical Training + + + Legal Education + + + Open Online Courses + + + Primary & Secondary Schooling (K-12) + + + Private Tutoring Services + + + School Supplies & Classroom Equipment + + + Study Abroad + + + Visual Arts & Design Education + + + Internships + + + Accounting & Finance Jobs + + + Clerical & Administrative Jobs + + + Education Jobs + + + Executive & Management Jobs + + + Government & Public Sector Jobs + + + Health & Medical Jobs + + + IT & Technical Jobs + + + Legal Jobs + + + Retail Jobs + + + Sales & Marketing Jobs + + + Temporary & Seasonal Jobs + + + Resumes & Portfolios + + + Labor & Employment Law + + + Business News + + + Charity & Philanthropy + + + Child Care + + + Property Development + + + Real Estate Listings + + + Commercial Properties + + + Residential Rentals + + + Furnished Rentals + + + Residential Sales + + + Real Estate Services + + + Property Inspections & Appraisals + + + Apparel + + + Apparel Services + + + Athletic Apparel + + + Casual Apparel + + + T-Shirts + + + Clothing Accessories + + + Gems & Jewelry + + + Rings + + + Handbags & Purses + + + Socks & Hosiery + + + Watches + + + Eyewear + + + Sunglasses + + + Footwear + + + Athletic Shoes + + + Boots + + + Casual Shoes + + + Formal Wear + + + Headwear + + + Outerwear + + + Pants & Shorts + + + Shirts & Tops + + + Sleepwear + + + Suits & Business Attire + + + Swimwear + + + Undergarments + + + Uniforms & Workwear + + + Dresses + + + Skirts + + + Gifts & Special Event Items + + + Luxury Goods + + + Mass Merchants & Department Stores + + + Photo & Video Services + + + Event & Studio Photography + + + Photo Printing Services + + + Product Reviews & Price Comparisons + + + Toys + + + Combat Sports + + + Motor Sports + + + Sporting Goods + + + Baseball & Softball Equipment + + + Golf Equipment + + + Hockey Equipment + + + Skateboarding Equipment + + + Soccer Equipment + + + Squash & Racquetball Equipment + + + Water Sports Equipment + + + Winter Sports Equipment + + + Water Sports + + + Winter Sports + + + Vacation Rentals & Short-Term Stays + + + Backpacks & Utility Bags + + + Luxury Travel + + + Mountain & Ski Resorts + + + Travel Agencies & Services + + + Guided Tours & Escorted Vacations + + + Sightseeing Tours + + + Vacation Offers + + + + + Hide your IP address + + + When you’re signed in to Brave, this setting can limit what suspected trackers can see as you browse. When a page loads, some requests for content get sent through privacy servers. Learn more about <link>how IP protection works.</link> + + + + + Tracking Protection + + + Brave limits the amount of information sites can use to track you as you browse. You can change your settings to choose your own level of protection. + + + + + Browse with more privacy + + + You’re one of the first to experience Tracking Protection, which limits sites from using third-party cookies to track you as you browse. + + + Settings + + + Got it + + + Learn more + + + Learn more about Tracking Protection + + + + + Tracking Protection is temporarily unavailable + + + While Brave is updating this feature, sites can temporarily use third-party cookies unless you block them in settings. + + + Settings + + + Got it + + + Learn more + + + Learn more about Tracking Protection availability + + + + Brave automatically limits third-party cookies + + + Most sites can’t use third-party cookies to track you as you browse, and sites can’t use third-party cookies in Private mode. + + + Most sites should work as expected + + + If a site isn’t working, you can try giving it temporary permission to use third-party cookies. <link>Learn more</link> + + + Advanced + + + Block all third-party cookies + + + Features on some sites may not work + + + Send a “Do Not Track” request with your browsing traffic + + + Sites use their discretion when responding to this request + + + Sites allowed to use third-party cookies + + + Affects the sites listed here. Inserting “[*.]” before a domain name creates an exception for the entire domain. For example, adding “[*.]google.com” means that third-party cookies can also be active for mail.google.com, because it’s part of google.com. + + + Does not expire + + + Expires today + + + {COUNT, plural, + =1 {Expires tomorrow} + other {Expires in # days} + } + + + Delete site %1$sgoogle.com + + + Tracking Protection is temporarily unavailable. While Brave is updating this feature, sites can temporarily use third-party cookies unless you block them. <link>Learn more</link> + + diff --git a/components/privacy_sandbox_chrome_strings_override.grdp b/components/privacy_sandbox_chrome_strings_override.grdp new file mode 100644 index 000000000000..c830a3f4d014 --- /dev/null +++ b/components/privacy_sandbox_chrome_strings_override.grdp @@ -0,0 +1,7 @@ + + + + + Most sites can’t use third-party cookies to track you as you browse, and sites can’t use third-party cookies in Private mode. + + diff --git a/components/search_engine_choice_strings.grdp b/components/search_engine_choice_strings.grdp index 8178455c7c5b..a0f9c4b2f8c7 100644 --- a/components/search_engine_choice_strings.grdp +++ b/components/search_engine_choice_strings.grdp @@ -12,37 +12,33 @@ - - These search engines are shown in random order. You can change your default anytime in settings. + + These are shown in random order. You can change your default anytime. Learn more - - Learn more about your search engine in Brave - - - - - Set as Default + + + Learn more about your search engine in Brave - - - Set as default + + + Learn more about your search engine in Brave - - Your Search Engine in Brave + + Set as Default - - Your search engine in Brave + + Set as default @@ -50,25 +46,60 @@ Learn More + - + + + + Your Search Engine in Brave + + + + + Your search engine in Brave + + + + Your Search Engine in Brave + + + + Based on a law in your region, Brave asks you to choose your default search engine. These search engines are popular in your region and are shown in random order. + + + <b>Your default search engine lets you search the web and powers Brave features</b> like searching from the address bar and from images on web pages. A feature might not be available if your search engine doesn’t support it. + + + You can change your search engine anytime in Brave’s settings. + + + + + + Your Search Engine in Brave + + + + + Your search engine in Brave + + + + + Your Search Engine in Brave + + + + Based on a law in your region, Brave asks you to choose your default search engine. These search engines are popular in your region and are shown in random order. + + + <b>Your default search engine lets you search the web and powers Brave features</b> like searching from the address bar and from images on web pages. A feature might not be available if your search engine doesn’t support it. + + + You can change your search engine anytime in Brave’s settings. - - - Based on a law in your region, Brave asks you to choose your default search engine. These search engines are popular in your region and are shown in random order. - - - <b>Your default search engine lets you search the web and powers Brave features</b> like searching from the address bar and from images on web pages. A feature might not be available if your search engine doesn’t support it. - - - You can change your search engine anytime in Brave’s settings. - - - - Search with $1Brave - These search engines are popular in your region and are shown in random order diff --git a/components/site_settings_strings.grdp b/components/site_settings_strings.grdp index dd00854f73d8..221c63ef9f67 100644 --- a/components/site_settings_strings.grdp +++ b/components/site_settings_strings.grdp @@ -59,6 +59,9 @@ camera + + Cameras ($11) + Camera use & movement @@ -110,6 +113,9 @@ microphone + + Microphones ($11) + MIDI device control & reprogram From 334254ac90d1e45508fa0818f101b326630c833d Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 23 Feb 2024 18:41:21 +0000 Subject: [PATCH 005/130] `kPartitionedCookies` deleted upstream This feature is now enabled by default, however after some review it seems that this won't be of any concern to brave. Chromium change: https://chromium.googlesource.com/chromium/src/+/b31a64b1056669e032cd2a0e132a8f313a0258b3 commit b31a64b1056669e032cd2a0e132a8f313a0258b3 Author: Dylan Cutler Date: Wed Feb 21 18:15:39 2024 +0000 Remove kPartitionedCookies feature The feature has been enabled by default since M114. Bug: 324456212 --- test/filters/browser_tests.filter | 11 ----------- test/filters/unit_tests.filter | 3 --- 2 files changed, 14 deletions(-) diff --git a/test/filters/browser_tests.filter b/test/filters/browser_tests.filter index 1da5c6e6245e..75964dc871ab 100644 --- a/test/filters/browser_tests.filter +++ b/test/filters/browser_tests.filter @@ -1006,17 +1006,6 @@ # Thread profiler is disabled in Brave. -ThreadProfilerBrowserTest.* -# These fail because we disable kPartitionedCookies --All/BrowsingDataModelBrowserTest.LocalStorageRemovedBasedOnPartition/* --All/EligibilityServiceBrowserTest.EligibilityChanged_NetworkContextUpdated/* --All/EligibilityServiceBrowserTest.OnboardingChanged_NetworkContextUpdated/* --EligibilityServiceSilentOnboardingBrowserTest.OnboardingChanged_NetworkContextUpdated --ReadAnythingAppControllerTest.* --StorageAccessAPIEnterprisePolicyBrowserTest.PartitionedStorage/* --StorageAccessAPIWithNoRequiredTopLevelInteractionBrowserTest.TopLevelUserInteractionNotRequired --StorageAccessAPIWithoutImplicitGrantBrowserTest.NestedSameOriginCookieAccess_CrossSiteAncestorChain --StorageAccessAPIWithoutImplicitGrantBrowserTest.NestedSameSiteCookieAccess_CrossSiteAncestorChain - # These tests fail because we override CookieSettingsBase::IsCookieAccessAllowed # (specifically, CookieSettingsBase::IsCookieAccessAllowedImpl) and the override # allows access to the cookie to which Chromium disallows access diff --git a/test/filters/unit_tests.filter b/test/filters/unit_tests.filter index ef869b368166..82058425221d 100644 --- a/test/filters/unit_tests.filter +++ b/test/filters/unit_tests.filter @@ -525,9 +525,6 @@ # pages more quickly" (via prefetch::prefs::kNetworkPredictionOptions pref) -NavigationPredictorUserInteractionsTest.ProcessPointerEventUsingMLModel -# This test fails because we disable kPartitionedCookies --ExtensionCookiesTest.PartitionKeySerialization - # These tests fail a CalledOnValidSequence check when calling FindPreference -BrowserPrefsTest.MigrateObsoleteProfilePrefSyncRequestedDefaultValue -BrowserPrefsTest.MigrateObsoleteProfilePrefSyncRequestedSetToFalse From 76faa1624ebb08e2011e84d239671d3a677682fd Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 23 Feb 2024 18:45:25 +0000 Subject: [PATCH 006/130] IWYU fixes --- browser/brave_shields/cookie_expiry_browsertest.cc | 2 ++ browser/debounce/debounce_browsertest.cc | 1 + .../ephemeral_storage_1p_domain_block_browsertest.cc | 1 + browser/permissions/google_sign_in_permission_browsertest.cc | 1 + browser/script_injector/script_injector_browsertest.cc | 1 + browser/test/disabled_features/window_name_browsertest.cc | 1 + browser/ui/webui/brave_rewards/rewards_panel_ui.cc | 2 ++ browser/ui/webui/brave_shields/cookie_list_opt_in_ui.cc | 2 ++ browser/ui/webui/brave_shields/shields_panel_ui.cc | 1 + browser/web_package/signed_exchange_request_browsertest.cc | 1 + .../core/test/ad_block_component_service_unittest.cc | 2 ++ .../renderer/brave_content_settings_agent_impl.h | 1 + 12 files changed, 16 insertions(+) diff --git a/browser/brave_shields/cookie_expiry_browsertest.cc b/browser/brave_shields/cookie_expiry_browsertest.cc index d0a2034fd14e..bf195051797d 100644 --- a/browser/brave_shields/cookie_expiry_browsertest.cc +++ b/browser/brave_shields/cookie_expiry_browsertest.cc @@ -20,9 +20,11 @@ #include "content/public/test/browser_test.h" #include "content/public/test/browser_test_utils.h" #include "content/public/test/content_mock_cert_verifier.h" +#include "net/cookies/canonical_cookie.h" #include "net/dns/mock_host_resolver.h" #include "net/test/embedded_test_server/default_handlers.h" #include "net/test/embedded_test_server/embedded_test_server.h" +#include "services/network/public/mojom/cookie_manager.mojom.h" namespace { diff --git a/browser/debounce/debounce_browsertest.cc b/browser/debounce/debounce_browsertest.cc index 902d27431fc4..9c70dd0a41f5 100644 --- a/browser/debounce/debounce_browsertest.cc +++ b/browser/debounce/debounce_browsertest.cc @@ -27,6 +27,7 @@ #include "content/public/test/browser_test.h" #include "content/public/test/browser_test_utils.h" #include "net/base/url_util.h" +#include "services/network/public/cpp/resource_request.h" #include "third_party/blink/public/common/loader/url_loader_throttle.h" namespace { diff --git a/browser/ephemeral_storage/ephemeral_storage_1p_domain_block_browsertest.cc b/browser/ephemeral_storage/ephemeral_storage_1p_domain_block_browsertest.cc index 9f24a36855f9..38ad08b0b5ae 100644 --- a/browser/ephemeral_storage/ephemeral_storage_1p_domain_block_browsertest.cc +++ b/browser/ephemeral_storage/ephemeral_storage_1p_domain_block_browsertest.cc @@ -6,6 +6,7 @@ #include "brave/browser/ephemeral_storage/ephemeral_storage_browsertest.h" #include "base/strings/strcat.h" +#include "base/strings/utf_string_conversions.h" #include "base/test/bind.h" #include "base/test/thread_test_helper.h" #include "brave/browser/brave_browser_process.h" diff --git a/browser/permissions/google_sign_in_permission_browsertest.cc b/browser/permissions/google_sign_in_permission_browsertest.cc index 8a62867c95fc..ee3bd0f43a39 100644 --- a/browser/permissions/google_sign_in_permission_browsertest.cc +++ b/browser/permissions/google_sign_in_permission_browsertest.cc @@ -35,6 +35,7 @@ #include "content/public/test/test_navigation_observer.h" #include "net/dns/mock_host_resolver.h" #include "net/test/embedded_test_server/default_handlers.h" +#include "services/network/public/mojom/cookie_manager.mojom.h" #include "url/gurl.h" using net::test_server::EmbeddedTestServer; diff --git a/browser/script_injector/script_injector_browsertest.cc b/browser/script_injector/script_injector_browsertest.cc index fa59d4b420ee..b9108ea69001 100644 --- a/browser/script_injector/script_injector_browsertest.cc +++ b/browser/script_injector/script_injector_browsertest.cc @@ -5,6 +5,7 @@ #include +#include "base/strings/utf_string_conversions.h" #include "base/test/bind.h" #include "base/test/mock_callback.h" #include "brave/browser/brave_content_browser_client.h" diff --git a/browser/test/disabled_features/window_name_browsertest.cc b/browser/test/disabled_features/window_name_browsertest.cc index a2decdd9d4a6..f176bc90c40d 100644 --- a/browser/test/disabled_features/window_name_browsertest.cc +++ b/browser/test/disabled_features/window_name_browsertest.cc @@ -6,6 +6,7 @@ #include #include "base/path_service.h" +#include "base/strings/utf_string_conversions.h" #include "brave/components/constants/brave_paths.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" #include "chrome/browser/profiles/profile.h" diff --git a/browser/ui/webui/brave_rewards/rewards_panel_ui.cc b/browser/ui/webui/brave_rewards/rewards_panel_ui.cc index 596549b6a2fc..1fc6d1380398 100644 --- a/browser/ui/webui/brave_rewards/rewards_panel_ui.cc +++ b/browser/ui/webui/brave_rewards/rewards_panel_ui.cc @@ -26,7 +26,9 @@ #include "components/grit/brave_components_strings.h" #include "content/public/browser/web_contents.h" #include "content/public/browser/web_ui.h" +#include "content/public/browser/web_ui_data_source.h" #include "services/network/public/mojom/content_security_policy.mojom.h" +#include "ui/base/webui/web_ui_util.h" namespace brave_rewards { diff --git a/browser/ui/webui/brave_shields/cookie_list_opt_in_ui.cc b/browser/ui/webui/brave_shields/cookie_list_opt_in_ui.cc index 716a4ac8cbbe..caa6478ce1d4 100644 --- a/browser/ui/webui/brave_shields/cookie_list_opt_in_ui.cc +++ b/browser/ui/webui/brave_shields/cookie_list_opt_in_ui.cc @@ -21,6 +21,8 @@ #include "components/grit/brave_components_strings.h" #include "content/public/browser/web_contents.h" #include "content/public/browser/web_ui.h" +#include "content/public/browser/web_ui_data_source.h" +#include "ui/base/webui/web_ui_util.h" namespace { diff --git a/browser/ui/webui/brave_shields/shields_panel_ui.cc b/browser/ui/webui/brave_shields/shields_panel_ui.cc index 06e1c49aeb82..8bed154e787e 100644 --- a/browser/ui/webui/brave_shields/shields_panel_ui.cc +++ b/browser/ui/webui/brave_shields/shields_panel_ui.cc @@ -23,6 +23,7 @@ #include "components/favicon_base/favicon_url_parser.h" #include "components/grit/brave_components_resources.h" #include "content/public/browser/web_ui.h" +#include "content/public/browser/web_ui_data_source.h" #include "net/base/features.h" // Cache active Browser instance's TabStripModel to give diff --git a/browser/web_package/signed_exchange_request_browsertest.cc b/browser/web_package/signed_exchange_request_browsertest.cc index f8707368f0c6..b48c526e33be 100644 --- a/browser/web_package/signed_exchange_request_browsertest.cc +++ b/browser/web_package/signed_exchange_request_browsertest.cc @@ -7,6 +7,7 @@ #include #include "base/functional/bind.h" +#include "base/strings/utf_string_conversions.h" #include "base/synchronization/lock.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_window.h" diff --git a/components/brave_shields/core/test/ad_block_component_service_unittest.cc b/components/brave_shields/core/test/ad_block_component_service_unittest.cc index 5b98ba805294..7d91f1637038 100644 --- a/components/brave_shields/core/test/ad_block_component_service_unittest.cc +++ b/components/brave_shields/core/test/ad_block_component_service_unittest.cc @@ -3,6 +3,8 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at https://mozilla.org/MPL/2.0/. +#include + #include "brave/components/brave_shields/core/browser/filter_list_catalog_entry.h" #include "testing/gtest/include/gtest/gtest.h" diff --git a/components/content_settings/renderer/brave_content_settings_agent_impl.h b/components/content_settings/renderer/brave_content_settings_agent_impl.h index c264f7c251b3..9597e5340f24 100644 --- a/components/content_settings/renderer/brave_content_settings_agent_impl.h +++ b/components/content_settings/renderer/brave_content_settings_agent_impl.h @@ -22,6 +22,7 @@ #include "mojo/public/cpp/bindings/associated_receiver_set.h" #include "mojo/public/cpp/bindings/associated_remote.h" #include "mojo/public/cpp/bindings/pending_associated_receiver.h" +#include "third_party/blink/public/web/web_frame.h" #include "url/gurl.h" From 65737e870547dc8a2b9d0bd14cffc1e7f9054c03 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 23 Feb 2024 18:48:41 +0000 Subject: [PATCH 007/130] Removing straggling `absl::optional` references This polyfill has been cleaned up from the codebase for a long time already. From M124 onwards these references are now failing to build. Chromium change: https://chromium.googlesource.com/chromium/src/+/902f8eb73215d22ba4342a6ca82031e508cfbda2 commit 902f8eb73215d22ba4342a6ca82031e508cfbda2 Author: Ayu Ishii Date: Wed Feb 21 09:25:18 2024 +0000 CacheStorage: Remove deprecated CacheStorageHelper This change removes the deprecated CacheStorageHelper. CacheStorage usage and deletion is handled by the QuotaClient. Bug: 40826521 --- browser/extensions/api/settings_private/brave_prefs_util.cc | 2 +- browser/extensions/api/settings_private/brave_prefs_util.h | 2 +- .../mojom/objc_templates/private_union_implementation.tmpl | 2 +- chromium_src/chrome/browser/updater/scheduler_mac.cc | 2 +- components/ai_chat/core/browser/conversation_driver.cc | 4 ++-- .../confirmations/legacy_confirmation_migration.cc | 2 +- ios/browser/api/ai_chat/ai_chat.mm | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/browser/extensions/api/settings_private/brave_prefs_util.cc b/browser/extensions/api/settings_private/brave_prefs_util.cc index 8b46ac48ff22..3ee5cf1b773f 100644 --- a/browser/extensions/api/settings_private/brave_prefs_util.cc +++ b/browser/extensions/api/settings_private/brave_prefs_util.cc @@ -350,7 +350,7 @@ const PrefsUtil::TypedPrefMap& BravePrefsUtil::GetAllowlistedKeys() { return *s_brave_allowlist; } -absl::optional BravePrefsUtil::GetPref( +std::optional BravePrefsUtil::GetPref( const std::string& name) { auto pref = PrefsUtil::GetPref(name); // Simulate "Enforced" mode for kCookieControlsMode pref when Cookies are diff --git a/browser/extensions/api/settings_private/brave_prefs_util.h b/browser/extensions/api/settings_private/brave_prefs_util.h index 379f0a8ea78f..5ad2fcc80f17 100644 --- a/browser/extensions/api/settings_private/brave_prefs_util.h +++ b/browser/extensions/api/settings_private/brave_prefs_util.h @@ -29,7 +29,7 @@ class BravePrefsUtil : public PrefsUtil { // manipulate. const PrefsUtil::TypedPrefMap& GetAllowlistedKeys() override; - absl::optional GetPref( + std::optional GetPref( const std::string& name) override; }; diff --git a/build/ios/mojom/objc_templates/private_union_implementation.tmpl b/build/ios/mojom/objc_templates/private_union_implementation.tmpl index b1f1d2b865db..29a47f6266d2 100644 --- a/build/ios/mojom/objc_templates/private_union_implementation.tmpl +++ b/build/ios/mojom/objc_templates/private_union_implementation.tmpl @@ -100,7 +100,7 @@ - ({{cpp_namespace}}::{{union.name}}Ptr)cppObjPtr { - auto obj = {{cpp_namespace}}::{{union.name}}Ptr(absl::in_place); + auto obj = {{cpp_namespace}}::{{union.name}}Ptr(std::in_place); switch (self.tag) { case {{tag_enum_name}}Null: { break; diff --git a/chromium_src/chrome/browser/updater/scheduler_mac.cc b/chromium_src/chrome/browser/updater/scheduler_mac.cc index 7ce8d9b53d3f..c76001a24877 100644 --- a/chromium_src/chrome/browser/updater/scheduler_mac.cc +++ b/chromium_src/chrome/browser/updater/scheduler_mac.cc @@ -55,7 +55,7 @@ void DoPeriodicTasks(base::OnceClosure callback) { // The agent can be in one of four places depending on the age and mode of // Keystone. for (UpdaterScope scope : {UpdaterScope::kSystem, UpdaterScope::kUser}) { - absl::optional keystone_path = GetKeystoneFolderPath(scope); + std::optional keystone_path = GetKeystoneFolderPath(scope); if (!keystone_path) { continue; } diff --git a/components/ai_chat/core/browser/conversation_driver.cc b/components/ai_chat/core/browser/conversation_driver.cc index d394fe81ba0d..0bd2d9491040 100644 --- a/components/ai_chat/core/browser/conversation_driver.cc +++ b/components/ai_chat/core/browser/conversation_driver.cc @@ -1069,7 +1069,7 @@ void ConversationDriver::RateMessage( std::move(callback).Run(id); return; } - std::move(callback).Run(absl::nullopt); + std::move(callback).Run(std::nullopt); }, std::move(callback)); @@ -1092,7 +1092,7 @@ void ConversationDriver::RateMessage( return; } - std::move(callback).Run(absl::nullopt); + std::move(callback).Run(std::nullopt); } void ConversationDriver::SendFeedback( diff --git a/components/brave_ads/core/internal/legacy_migration/confirmations/legacy_confirmation_migration.cc b/components/brave_ads/core/internal/legacy_migration/confirmations/legacy_confirmation_migration.cc index 48768424ada2..98184a7dd01a 100644 --- a/components/brave_ads/core/internal/legacy_migration/confirmations/legacy_confirmation_migration.cc +++ b/components/brave_ads/core/internal/legacy_migration/confirmations/legacy_confirmation_migration.cc @@ -61,7 +61,7 @@ void MigrateConfirmationState(InitializeCallback callback) { BLOG(1, "Migrating confirmation state"); - const absl::optional confirmations = + const std::optional confirmations = json::reader::ReadConfirmations(*json); if (!confirmations) { // Confirmation queue state does not exist. diff --git a/ios/browser/api/ai_chat/ai_chat.mm b/ios/browser/api/ai_chat/ai_chat.mm index cc650f51088d..85128ef58e73 100644 --- a/ios/browser/api/ai_chat/ai_chat.mm +++ b/ios/browser/api/ai_chat/ai_chat.mm @@ -185,7 +185,7 @@ - (void)rateMessage:(bool)isLiked isLiked, turnId, base::BindOnce( [](void (^completion)(NSString*), - const absl::optional& identifier) { + const std::optional& identifier) { if (completion) { completion(identifier ? base::SysUTF8ToNSString(*identifier) : nil); From 0ef3e1bc384422db047cc1d55dd0362519778457 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 23 Feb 2024 18:53:35 +0000 Subject: [PATCH 008/130] `GenerateBitmap` retuning a `SkBitmap` `GenerateBitmap` has been simplified further, doing away with the use of `QRImage`, and just returning a `SkBitmap`. Chromium change: https://chromium.googlesource.com/chromium/src/+/b8e0b24449b46049ec74aef53fdeb537e5ab6211 commit b8e0b24449b46049ec74aef53fdeb537e5ab6211 Author: Lukasz Anforowicz Date: Tue Feb 20 18:01:37 2024 +0000 QR code: Only return `SkBitmap` (no `gfx::Size`) from `GenerateBitmap`. This CL simplifies the return type of `qr_code_generator::GenerateBitmap` to stop returning the size (in QR modules) of the generate QR code. The size was only used in one place (in `QRCodeGeneratorBubble::AddQRCodeQuietZone`). This CL modifies that code, so that the quiet zone can be added without knowing the size of the generated QR code. I treat this CL as part of the post-launch cleanup related to go/rusty-qr-code-generator. OTOH, I plan to handle the rest of the "quiet zone" follow-up as a separate bug: https://crbug.com/325664342 This CL should not result in any changes in the end-to-end behavior. OTOH, the test coverage via //chrome/browser/share/qr_code_generator_pixeltest.cc doesn't extend to the `QRCodeGeneratorBubble::AddQRCodeQuietZone` method, so this CL has also been manually tested to verify if the QR code generated for https://example.com still works fine when scanned with an Android phone. Bug: 40263739, 325664342 --- browser/ui/webui/settings/brave_sync_handler.cc | 2 +- ios/browser/api/qr_code/qr_code_generator.mm | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/browser/ui/webui/settings/brave_sync_handler.cc b/browser/ui/webui/settings/brave_sync_handler.cc index 023389c7f993..f758e87938d4 100644 --- a/browser/ui/webui/settings/brave_sync_handler.cc +++ b/browser/ui/webui/settings/brave_sync_handler.cc @@ -196,7 +196,7 @@ void BraveSyncHandler::HandleGetQRCode(const base::Value::List& args) { return; } - const std::string data_url = webui::GetBitmapDataUrl(qr_image->bitmap); + const std::string data_url = webui::GetBitmapDataUrl(qr_image.value()); VLOG(1) << "QR code data url: " << data_url; ResolveJavascriptCallback(args[0].Clone(), base::Value(data_url)); } diff --git a/ios/browser/api/qr_code/qr_code_generator.mm b/ios/browser/api/qr_code/qr_code_generator.mm index 798fbe57cdc1..418d6018d900 100644 --- a/ios/browser/api/qr_code/qr_code_generator.mm +++ b/ios/browser/api/qr_code/qr_code_generator.mm @@ -54,17 +54,15 @@ - (void)dealloc { @implementation BraveQRCodeGeneratorResult - (instancetype)initWithOptions: - (base::expected) - options { + (base::expected)options { if ((self = [super init])) { if (options.has_value()) { - auto qr_image = options.value(); + const auto& qr_image = options.value(); gfx::Image image = gfx::Image(gfx::ImageSkia::CreateFromBitmap( - qr_image.bitmap, [[UIScreen mainScreen] scale])); + qr_image, [[UIScreen mainScreen] scale])); _image = image.IsEmpty() ? [[UIImage alloc] init] : image.ToUIImage(); - _dataSize = - CGSizeMake(qr_image.data_size.width(), qr_image.data_size.height()); + _dataSize = CGSizeMake(qr_image.width(), qr_image.height()); _errorCode = BraveQRCodeGeneratorErrorNone; } else { From 7fd2e8631472c3a2d3c810f14d23372275396628 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 23 Feb 2024 18:55:21 +0000 Subject: [PATCH 009/130] `LocalDataContainer` removed cache storage arg Following the trend of previous changes, this type is now taking one less argument, which in the only use in brave's codebase was being passed as null. Chromium change: https://chromium.googlesource.com/chromium/src/+/902f8eb73215d22ba4342a6ca82031e508cfbda2 commit 902f8eb73215d22ba4342a6ca82031e508cfbda2 Author: Ayu Ishii Date: Wed Feb 21 09:25:18 2024 +0000 CacheStorage: Remove deprecated CacheStorageHelper This change removes the deprecated CacheStorageHelper. CacheStorage usage and deletion is handled by the QuotaClient. Bug: 40826521 --- .../webui/settings/settings_cookies_view_handler_unittest.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/browser/ui/webui/settings/settings_cookies_view_handler_unittest.cc b/browser/ui/webui/settings/settings_cookies_view_handler_unittest.cc index 3984c5f32a22..4b20fde625d4 100644 --- a/browser/ui/webui/settings/settings_cookies_view_handler_unittest.cc +++ b/browser/ui/webui/settings/settings_cookies_view_handler_unittest.cc @@ -69,8 +69,7 @@ class CookiesViewHandlerTest : public ChromeRenderViewHostTestHarness { mock_browsing_data_cookie_helper_, mock_browsing_data_local_storage_helper_, /*session_storage_helper=*/nullptr, - /*quota_helper=*/nullptr, - /*cache_storage_helper=*/nullptr); + /*quota_helper=*/nullptr); auto mock_cookies_tree_model = std::make_unique( std::move(container), profile()->GetExtensionSpecialStoragePolicy()); From 317c31bb1fa4ecd5d8bdc9b2f836e1362ee26a59 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 23 Feb 2024 19:02:09 +0000 Subject: [PATCH 010/130] `GetVisiblePermissionCategories` signature changed This function now takes two arguments that must be passed along. The argument list has been corrected accordingly, however as the values of these arguments could be variable, the use of the static initialised type has been dispensed with, and an actual vector is now being returned by value. Chromium change: https://chromium.googlesource.com/chromium/src/+/9ac832f1a225b3f4d47df537906ce01c2e2e8d22 commit 9ac832f1a225b3f4d47df537906ce01c2e2e8d22 Author: Mike Wasserman Date: Tue Feb 20 22:51:13 2024 +0000 Settings: Add the Automatic Fullscreen content setting UI Add page chrome://settings/content/automaticFullscreen Add additional content settings entry at chrome://settings/content (gated on disabled features::kAutomaticFullscreenContentSetting) Add an entry at chrome://settings/content/siteDetails?site= (only shown for IWAs, and for sites with non-default values) Support origin-specific category visibility in site_settings helper. Use placeholder strings and icons. Add unit and browser tests. See https://chromestatus.com/feature/6218822004768768 Design and screenshots at go/automatic-fullscreen-content-setting Bug: 40941384, 315859364 --- .../ui/webui/settings/site_settings_helper.cc | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/chromium_src/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chromium_src/chrome/browser/ui/webui/settings/site_settings_helper.cc index 62ef259c9f8c..10ebdec9b280 100644 --- a/chromium_src/chrome/browser/ui/webui/settings/site_settings_helper.cc +++ b/chromium_src/chrome/browser/ui/webui/settings/site_settings_helper.cc @@ -95,25 +95,25 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) { return ContentSettingsTypeToGroupName_ChromiumImpl(type); } -const std::vector& GetVisiblePermissionCategories() { - static base::NoDestructor> types{ - {ContentSettingsType::AUTOPLAY, ContentSettingsType::BRAVE_ETHEREUM, - ContentSettingsType::BRAVE_SOLANA, - ContentSettingsType::BRAVE_GOOGLE_SIGN_IN, - ContentSettingsType::BRAVE_LOCALHOST_ACCESS}}; - static bool initialized = false; - if (!initialized) { - auto& base_types = GetVisiblePermissionCategories_ChromiumImpl(); - types->insert(types->end(), base_types.begin(), base_types.end()); - - if (!base::FeatureList::IsEnabled(blink::features::kBraveWebSerialAPI)) { - std::erase(*types, ContentSettingsType::SERIAL_GUARD); - } - - initialized = true; +std::vector GetVisiblePermissionCategories( + const std::string& origin, + Profile* profile) { + static constexpr ContentSettingsType extra_types[] = { + ContentSettingsType::AUTOPLAY, + ContentSettingsType::BRAVE_ETHEREUM, + ContentSettingsType::BRAVE_SOLANA, + ContentSettingsType::BRAVE_GOOGLE_SIGN_IN, + ContentSettingsType::BRAVE_LOCALHOST_ACCESS, + }; + + auto types = GetVisiblePermissionCategories_ChromiumImpl(origin, profile); + + if (!base::FeatureList::IsEnabled(blink::features::kBraveWebSerialAPI)) { + std::erase(types, ContentSettingsType::SERIAL_GUARD); } - return *types; + types.insert(std::end(types), std::begin(extra_types), std::end(extra_types)); + return types; } } // namespace site_settings From d4126f6297e88fb4fab2db7fd4f460b15ed7cf2a Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 23 Feb 2024 19:15:01 +0000 Subject: [PATCH 011/130] Unwanted substitution with `VideoPictureInPictureWindowControllerImpl` The anchor token in question `NextSlide` is now also ocurring on some compile-time generated source. This change preempts the inclusion of the file causing that, and also corrects an IWYU failure on the header. --- .../video_picture_in_picture_window_controller_impl.h | 1 + .../public/browser/video_picture_in_picture_window_controller.h | 2 ++ 2 files changed, 3 insertions(+) diff --git a/chromium_src/content/browser/picture_in_picture/video_picture_in_picture_window_controller_impl.h b/chromium_src/content/browser/picture_in_picture/video_picture_in_picture_window_controller_impl.h index 6ec7adb66d04..2a59471dd009 100644 --- a/chromium_src/content/browser/picture_in_picture/video_picture_in_picture_window_controller_impl.h +++ b/chromium_src/content/browser/picture_in_picture/video_picture_in_picture_window_controller_impl.h @@ -7,6 +7,7 @@ #define BRAVE_CHROMIUM_SRC_CONTENT_BROWSER_PICTURE_IN_PICTURE_VIDEO_PICTURE_IN_PICTURE_WINDOW_CONTROLLER_IMPL_H_ #include "content/public/browser/video_picture_in_picture_window_controller.h" +#include "services/media_session/public/mojom/media_session.mojom.h" #define NextSlide \ SeekTo(base::TimeDelta seek_time) override; \ diff --git a/chromium_src/content/public/browser/video_picture_in_picture_window_controller.h b/chromium_src/content/public/browser/video_picture_in_picture_window_controller.h index 9342034502d5..d91dbea399ec 100644 --- a/chromium_src/content/public/browser/video_picture_in_picture_window_controller.h +++ b/chromium_src/content/public/browser/video_picture_in_picture_window_controller.h @@ -6,6 +6,8 @@ #ifndef BRAVE_CHROMIUM_SRC_CONTENT_PUBLIC_BROWSER_VIDEO_PICTURE_IN_PICTURE_WINDOW_CONTROLLER_H_ #define BRAVE_CHROMIUM_SRC_CONTENT_PUBLIC_BROWSER_VIDEO_PICTURE_IN_PICTURE_WINDOW_CONTROLLER_H_ +#include "base/time/time.h" + #define NextSlide \ SeekTo(base::TimeDelta seek_time) {} \ virtual void RequestFullscreen() {} \ From 0c26e84a9f307cf75053b5057505af1ccf0d5521 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 23 Feb 2024 19:16:45 +0000 Subject: [PATCH 012/130] `chrome_test_launcher.h` has its own target Any tests now using this header need to depend on its own target. Chromium change: https://chromium.googlesource.com/chromium/src/+/7b0c07f07046da15f7741d7855c99b6442630d90 commit 7b0c07f07046da15f7741d7855c99b6442630d90 Author: Alan Cutter Date: Thu Feb 22 00:13:00 2024 +0000 Attach crosapi::TestController in Ash browser_tests This CL ensures Ash browser_tests have the crosapi TestController attached in preparation for being able to use TestController in both Ash browser_tests and lacros_browser_tests: https://chromium-review.googlesource.com/c/chromium/src/+/5048292 Doc: go/crosapi-for-ash-browser Bug: b/324511698 --- test/BUILD.gn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/BUILD.gn b/test/BUILD.gn index d3e97db84430..eeeef6cb5a0c 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -678,6 +678,7 @@ if (!is_android) { "//chrome/browser", "//chrome/browser/profiles:profile", "//chrome/browser/ui", + "//chrome/test:chrome_test_launcher", "//chrome/test:test_support_ui", "//components/prefs", "//content/public/browser", @@ -916,6 +917,7 @@ test("brave_browser_tests") { "//chrome/browser/ui/color:color_headers", "//chrome/browser/ui/color:mixers", "//chrome/browser/web_applications", + "//chrome/test:chrome_test_launcher", "//chrome/test:test_support_ui", "//components/bookmarks/browser", "//components/commerce/core:feature_list", From 384974a50c34c3a1eb2d110100d77aa99b6a638e Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Fri, 23 Feb 2024 17:37:50 -0500 Subject: [PATCH 013/130] [Android] Minor code adjustments to the C124 upstream changes --- .../firstrun/BraveFirstRunFlowSequencer.java | 5 +- .../firstrun/WelcomeOnboardingActivity.java | 2 +- .../browser/toolbar/BraveToolbarManager.java | 74 +++++++++++++------ .../BraveBottomControlsCoordinator.java | 34 ++++++--- .../top/BraveTopToolbarCoordinator.java | 2 - .../activities/BraveVpnSupportActivity.java | 2 +- .../chromium/chrome/browser/BytecodeTest.java | 1 + .../bottom/BraveBottomControlsMediator.java | 25 +++++-- 8 files changed, 99 insertions(+), 46 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/firstrun/BraveFirstRunFlowSequencer.java b/android/java/org/chromium/chrome/browser/firstrun/BraveFirstRunFlowSequencer.java index 60c4de94ab5e..85168b5a02eb 100644 --- a/android/java/org/chromium/chrome/browser/firstrun/BraveFirstRunFlowSequencer.java +++ b/android/java/org/chromium/chrome/browser/firstrun/BraveFirstRunFlowSequencer.java @@ -5,17 +5,14 @@ package org.chromium.chrome.browser.firstrun; -import android.app.Activity; import org.chromium.base.supplier.OneshotSupplier; import org.chromium.chrome.browser.profiles.ProfileProvider; import org.chromium.components.signin.AccountManagerFacadeProvider; public abstract class BraveFirstRunFlowSequencer extends FirstRunFlowSequencer { - public BraveFirstRunFlowSequencer( - Activity activity, OneshotSupplier profileSupplier) { + public BraveFirstRunFlowSequencer(OneshotSupplier profileSupplier) { super( - activity, profileSupplier, new ChildAccountStatusSupplier( AccountManagerFacadeProvider.getInstance(), diff --git a/android/java/org/chromium/chrome/browser/firstrun/WelcomeOnboardingActivity.java b/android/java/org/chromium/chrome/browser/firstrun/WelcomeOnboardingActivity.java index 82dafad53875..7734efac81d0 100644 --- a/android/java/org/chromium/chrome/browser/firstrun/WelcomeOnboardingActivity.java +++ b/android/java/org/chromium/chrome/browser/firstrun/WelcomeOnboardingActivity.java @@ -492,7 +492,7 @@ public void triggerLayoutInflation() { super.triggerLayoutInflation(); mFirstRunFlowSequencer = - new BraveFirstRunFlowSequencer(this, getProfileProviderSupplier()) { + new BraveFirstRunFlowSequencer(getProfileProviderSupplier()) { @Override public void onFlowIsKnown(Bundle freProperties) { initializeViews(); diff --git a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java index b00e5620e263..be6e8f045bbe 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java +++ b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java @@ -67,6 +67,7 @@ import org.chromium.chrome.browser.toolbar.top.TopToolbarCoordinator; import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinator; import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate; +import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.system.StatusBarColorController; import org.chromium.chrome.features.start_surface.StartSurface; @@ -125,11 +126,13 @@ public class BraveToolbarManager extends ToolbarManager { private final Object mLock = new Object(); private boolean mBottomControlsEnabled; private BraveScrollingBottomViewResourceFrameLayout mBottomControls; + private ObservableSupplier mEdgeToEdgeControllerSupplier; public BraveToolbarManager( AppCompatActivity activity, BrowserControlsSizer controlsSizer, FullscreenManager fullscreenManager, + ObservableSupplier edgeToEdgeControllerSupplier, ToolbarControlContainer controlContainer, CompositorViewHolder compositorViewHolder, Callback urlFocusChangedCallback, @@ -172,13 +175,13 @@ public BraveToolbarManager( Supplier ephemeralTabCoordinatorSupplier, boolean initializeWithIncognitoColors, @Nullable BackPressManager backPressManager, - @NonNull OpenHistoryClustersDelegate openHistoryClustersDelegate, @Nullable BooleanSupplier overviewIncognitoSupplier, @Nullable View baseChromeLayout) { super( activity, controlsSizer, fullscreenManager, + edgeToEdgeControllerSupplier, controlContainer, compositorViewHolder, urlFocusChangedCallback, @@ -219,7 +222,6 @@ public BraveToolbarManager( ephemeralTabCoordinatorSupplier, initializeWithIncognitoColors, backPressManager, - openHistoryClustersDelegate, overviewIncognitoSupplier, baseChromeLayout); @@ -228,6 +230,7 @@ public BraveToolbarManager( mActivity = activity; mWindowAndroid = windowAndroid; mCompositorViewHolder = compositorViewHolder; + mEdgeToEdgeControllerSupplier = edgeToEdgeControllerSupplier; if (isToolbarPhone()) { updateBottomToolbarVisibility(); @@ -261,26 +264,53 @@ public void enableBottomControls() { (ViewStub) mActivity.findViewById(R.id.bottom_controls_stub); mBottomControls = (BraveScrollingBottomViewResourceFrameLayout) bottomControlsStub.inflate(); - mTabGroupUi = TabManagementDelegateProvider.getDelegate().createTabGroupUi(mActivity, - mBottomControls.findViewById(R.id.bottom_container_slot), mBrowserControlsSizer, - mIncognitoStateProvider, mScrimCoordinator, mOmniboxFocusStateSupplier, - mBottomSheetController, mActivityLifecycleDispatcher, mIsWarmOnResumeSupplier, - mTabModelSelector, mTabContentManager, mCompositorViewHolder, - mCompositorViewHolder::getDynamicResourceLoader, mTabCreatorManager, - mLayoutStateProviderSupplier, mSnackbarManager); - mBottomControlsCoordinatorSupplier.set(new BraveBottomControlsCoordinator( - mLayoutStateProviderSupplier, - BottomTabSwitcherActionMenuCoordinator.createOnLongClickListener( - id -> ((ChromeActivity) mActivity).onOptionsItemSelected(id, null)), - mActivityTabProvider, mToolbarTabController::openHomepage, - mCallbackController.makeCancelable((reason) -> setUrlBarFocus(true, reason)), - mMenuButtonCoordinator.getMenuButtonHelperSupplier(), mAppThemeColorProvider, - /* Below are parameters for BottomControlsCoordinator */ - mActivity, mWindowAndroid, mLayoutManager, - mCompositorViewHolder.getResourceManager(), mBrowserControlsSizer, - mFullscreenManager, mBottomControls, mTabGroupUi, mTabObscuringHandler, - mOverlayPanelVisibilitySupplier, getConstraintsProxy(), mBookmarkModelSupplier, - mLocationBarModel)); + mTabGroupUi = + TabManagementDelegateProvider.getDelegate() + .createTabGroupUi( + mActivity, + mBottomControls.findViewById(R.id.bottom_container_slot), + mBrowserControlsSizer, + mIncognitoStateProvider, + mScrimCoordinator, + mOmniboxFocusStateSupplier, + mBottomSheetController, + mActivityLifecycleDispatcher, + mIsWarmOnResumeSupplier, + mTabModelSelector, + mTabContentManager, + mCompositorViewHolder, + mCompositorViewHolder::getDynamicResourceLoader, + mTabCreatorManager, + mLayoutStateProviderSupplier, + mSnackbarManager); + mBottomControlsCoordinatorSupplier.set( + new BraveBottomControlsCoordinator( + mLayoutStateProviderSupplier, + BottomTabSwitcherActionMenuCoordinator.createOnLongClickListener( + id -> + ((ChromeActivity) mActivity) + .onOptionsItemSelected(id, null)), + mActivityTabProvider, + mToolbarTabController::openHomepage, + mCallbackController.makeCancelable( + (reason) -> setUrlBarFocus(true, reason)), + mMenuButtonCoordinator.getMenuButtonHelperSupplier(), + mAppThemeColorProvider, + mBookmarkModelSupplier, + mLocationBarModel, + /* Below are parameters for BottomControlsCoordinator */ + mActivity, + mWindowAndroid, + mLayoutManager, + mCompositorViewHolder.getResourceManager(), + mBrowserControlsSizer, + mFullscreenManager, + mEdgeToEdgeControllerSupplier, + mBottomControls, + mTabGroupUi, + mTabObscuringHandler, + mOverlayPanelVisibilitySupplier, + getConstraintsProxy())); mBottomControls.setBottomControlsCoordinatorSupplier( mBottomControlsCoordinatorSupplier); updateBottomToolbarVisibility(); diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java index eea2235c4323..72106ac99800 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java @@ -57,17 +57,31 @@ public BraveBottomControlsCoordinator( ObservableSupplier menuButtonHelperSupplier, ThemeColorProvider themeColorProvider, /* Below are parameters from BottomControlsCoordinator */ - Activity activity, WindowAndroid windowAndroid, LayoutManager layoutManager, - ResourceManager resourceManager, BrowserControlsSizer controlsSizer, - FullscreenManager fullscreenManager, ScrollingBottomViewResourceFrameLayout root, - BottomControlsContentDelegate contentDelegate, TabObscuringHandler tabObscuringHandler, + Activity activity, + WindowAndroid windowAndroid, + LayoutManager layoutManager, + ResourceManager resourceManager, + BrowserControlsSizer controlsSizer, + FullscreenManager fullscreenManager, + ObservableSupplier edgeToEdgeControllerSupplier, + ScrollingBottomViewResourceFrameLayout root, + BottomControlsContentDelegate contentDelegate, + TabObscuringHandler tabObscuringHandler, ObservableSupplier overlayPanelVisibilitySupplier, - ObservableSupplier constraintsSupplier, - ObservableSupplier bookmarkModelSupplier, - LocationBarModel locationBarModel) { - super(activity, windowAndroid, layoutManager, resourceManager, controlsSizer, - fullscreenManager, root, contentDelegate, tabObscuringHandler, - overlayPanelVisibilitySupplier, constraintsSupplier); + ObservableSupplier constraintsSupplier) { + super( + activity, + windowAndroid, + layoutManager, + resourceManager, + controlsSizer, + fullscreenManager, + edgeToEdgeControllerSupplier, + root, + contentDelegate, + tabObscuringHandler, + overlayPanelVisibilitySupplier, + constraintsSupplier); mTabSwitcherLongclickListener = tabSwitcherLongclickListener; mTabProvider = tabProvider; diff --git a/android/java/org/chromium/chrome/browser/toolbar/top/BraveTopToolbarCoordinator.java b/android/java/org/chromium/chrome/browser/toolbar/top/BraveTopToolbarCoordinator.java index 3931d8d5eabd..b314817f8e1d 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/top/BraveTopToolbarCoordinator.java +++ b/android/java/org/chromium/chrome/browser/toolbar/top/BraveTopToolbarCoordinator.java @@ -83,7 +83,6 @@ public BraveTopToolbarCoordinator( OfflineDownloader offlineDownloader, boolean initializeWithIncognitoColors, Callback startSurfaceLogoClickedCallback, - boolean isStartSurfaceRefactorEnabled, ObservableSupplier constraintsSupplier, ObservableSupplier compositorInMotionSupplier, BrowserStateBrowserControlsVisibilityDelegate @@ -118,7 +117,6 @@ public BraveTopToolbarCoordinator( offlineDownloader, initializeWithIncognitoColors, startSurfaceLogoClickedCallback, - isStartSurfaceRefactorEnabled, constraintsSupplier, compositorInMotionSupplier, browserStateBrowserControlsVisibilityDelegate, diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnSupportActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnSupportActivity.java index bc6424db3d7b..5c6637df9931 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnSupportActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnSupportActivity.java @@ -146,7 +146,7 @@ public void onClick(View v) { @Override protected void triggerLayoutInflation() { mFirstRunFlowSequencer = - new BraveFirstRunFlowSequencer(this, mProfileSupplier) { + new BraveFirstRunFlowSequencer(mProfileSupplier) { @Override public void onFlowIsKnown(Bundle freProperties) { initializeViews(); diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index e2915fafdd52..5aeff219c9ea 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -824,6 +824,7 @@ public void testConstructorsExistAndMatch() throws Exception { BackPressManager.class, OpenHistoryClustersDelegate.class, BooleanSupplier.class, + ObservableSupplier.class, View.class)); Assert.assertTrue(constructorsMatch( "org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator", diff --git a/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java b/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java index a98d684729c7..cbb8dd4ae4f8 100644 --- a/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java +++ b/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java @@ -10,6 +10,7 @@ import org.chromium.chrome.browser.browser_controls.BrowserControlsSizer; import org.chromium.chrome.browser.fullscreen.FullscreenManager; import org.chromium.chrome.browser.tab.TabObscuringHandler; +import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.modelutil.PropertyModel; @@ -27,12 +28,24 @@ class BraveBottomControlsMediator extends BottomControlsMediator { private int mBottomControlsHeightSingle; private int mBottomControlsHeightDouble; - BraveBottomControlsMediator(WindowAndroid windowAndroid, PropertyModel model, - BrowserControlsSizer controlsSizer, FullscreenManager fullscreenManager, - TabObscuringHandler tabObscuringHandler, int bottomControlsHeight, - ObservableSupplier overlayPanelVisibilitySupplier) { - super(windowAndroid, model, controlsSizer, fullscreenManager, tabObscuringHandler, - bottomControlsHeight, overlayPanelVisibilitySupplier); + BraveBottomControlsMediator( + WindowAndroid windowAndroid, + PropertyModel model, + BrowserControlsSizer controlsSizer, + FullscreenManager fullscreenManager, + TabObscuringHandler tabObscuringHandler, + int bottomControlsHeight, + ObservableSupplier overlayPanelVisibilitySupplier, + ObservableSupplier edgeToEdgeControllerSupplier) { + super( + windowAndroid, + model, + controlsSizer, + fullscreenManager, + tabObscuringHandler, + bottomControlsHeight, + overlayPanelVisibilitySupplier, + edgeToEdgeControllerSupplier); mTabGroupUiVisibleSupplier.set(false); mBottomToolbarVisibleSupplier.set(false); From 0ae6a3ab994bb47438c1e2d536de92e5219deb30 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Mon, 26 Feb 2024 15:54:18 -0500 Subject: [PATCH 014/130] Explicitly included utf_string_conversions.h Otherwise it doesn't see base::UTF16ToUTF8. --- .../brave_wallet/browser/android_page_appearing_browsertest.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/components/brave_wallet/browser/android_page_appearing_browsertest.cc b/components/brave_wallet/browser/android_page_appearing_browsertest.cc index 6c5d9ae6d20c..55a0d22b35cf 100644 --- a/components/brave_wallet/browser/android_page_appearing_browsertest.cc +++ b/components/brave_wallet/browser/android_page_appearing_browsertest.cc @@ -10,6 +10,7 @@ #include "base/no_destructor.h" #include "base/strings/pattern.h" #include "base/strings/strcat.h" +#include "base/strings/utf_string_conversions.h" #include "base/test/bind.h" #include "base/test/scoped_run_loop_timeout.h" #include "brave/browser/brave_wallet/asset_ratio_service_factory.h" From c52303fd36112dff3e083e6c8ba515af170b2caa Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Thu, 29 Feb 2024 15:24:52 -0500 Subject: [PATCH 015/130] [Android] Fix for wallet deposit-funds android page Fixes these kind of errors: C 17:06:18.537 115.324s Main Stack trace: C 17:06:18.537 115.324s Main C 17:06:18.537 115.324s Main ../../brave/components/brave_wallet/browser/android_page_appearing_browsertest.cc:310: Failure C 17:06:18.537 115.325s Main Expected: (expected) >= (static_cast(msg.log_level)), actual: 2 vs 3 C 17:06:18.537 115.325s Main Console must not contain errors C 17:06:18.537 115.325s Main Messages: C 17:06:18.537 115.325s Main crbug/1173575, non-JS module files deprecated. [kWarning]source_id:chrome://resources/js/load_time_data_deprecated.js line_no:1 C 17:06:18.537 115.325s Main Slow network is detected. See https://www.chromestatus.com/feature/5636954674692096 for more details. Fallback font will be used while loading: chrome://resources/brave/fonts/third_party/poppins/Poppins_400_normal_latin_v20.woff2 [kInfo]source_id:chrome://wallet/brave_wallet_page.bundle.js line_no:3273 C 17:06:18.537 115.325s Main Slow network is detected. See https://www.chromestatus.com/feature/5636954674692096 for more details. Fallback font will be used while loading: chrome://resources/brave/fonts/third_party/poppins/Poppins_600_normal_latin_v20.woff2 [kInfo]source_id:chrome://wallet/brave_wallet_page.bundle.js line_no:3273 C 17:06:18.538 115.325s Main Slow network is detected. See https://www.chromestatus.com/feature/5636954674692096 for more details. Fallback font will be used while loading: chrome://resources/brave/fonts/third_party/poppins/Poppins_500_normal_latin_v20.woff2 [kInfo]source_id:chrome://wallet/brave_wallet_page.bundle.js line_no:3273 C 17:06:18.538 115.325s Main Refused to load the image 'chrome://erc-token-images/bat.png' because it violates the following Content Security Policy directive: "img-src chrome://resources chrome://theme chrome://image chrome://favicon2 data: 'self'". C 17:06:18.538 115.325s Main [kError]source_id:chrome://wallet/crypto/deposit-funds line_no:0 C 17:06:18.538 115.325s Main Refused to load the image 'chrome://erc-token-images/4444.svg' because it violates the following Content Security Policy directive: "img-src chrome://resources chrome://theme chrome://image chrome://favicon2 data: 'self'". C 17:06:18.538 115.325s Main [kError]source_id:chrome://wallet/crypto/deposit-funds line_no:0 C 17:06:18.538 115.325s Main WaitingCompleteMarkerMessage [kInfo]source_id:__const_std::string&_script__ line_no:2 --- .../ui/webui/brave_wallet/android/android_wallet_page_ui.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/browser/ui/webui/brave_wallet/android/android_wallet_page_ui.cc b/browser/ui/webui/brave_wallet/android/android_wallet_page_ui.cc index b476d7c3e2a7..cf042e82c0e0 100644 --- a/browser/ui/webui/brave_wallet/android/android_wallet_page_ui.cc +++ b/browser/ui/webui/brave_wallet/android/android_wallet_page_ui.cc @@ -77,6 +77,12 @@ AndroidWalletPageUI::AndroidWalletPageUI(content::WebUI* web_ui, std::string("frame-src ") + kUntrustedTrezorURL + " " + kUntrustedLedgerURL + " " + kUntrustedNftURL + " " + kUntrustedLineChartURL + " " + kUntrustedMarketURL + ";"); + source->OverrideContentSecurityPolicy( + network::mojom::CSPDirectiveName::ImgSrc, + base::JoinString( + {"img-src", "'self'", "chrome://resources", + "chrome://erc-token-images", base::StrCat({"data:", ";"})}, + " ")); source->AddString("braveWalletTrezorBridgeUrl", kUntrustedTrezorURL); source->AddString("braveWalletNftBridgeUrl", kUntrustedNftURL); source->AddString("braveWalletLineChartBridgeUrl", kUntrustedLineChartURL); From e9320f351bdb04f65e7f2690bd1820b1a969f9ab Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Mon, 26 Feb 2024 15:22:50 +0000 Subject: [PATCH 016/130] [rust] `cxx` updated to `1.0.117` Updates to `cxx` break the inclusion path for the c++ headers. Chromium cahnge: https://chromium.googlesource.com/chromium/src/+/7c6a437d4824e968d0f7fd120f082ffbe5a22218 commit 7c6a437d4824e968d0f7fd120f082ffbe5a22218 Author: Lukasz Anforowicz Date: Thu Feb 22 14:46:04 2024 +0000 Updating //third_party/rust libraries. This CL has been created semi-automatically. The expected review process and other details can be found at //tools/crates/create_update_cl.md Update log: - Updating anyhow v1.0.79 -> v1.0.80 - Updating clap v4.5.0 -> v4.5.1 - Updating clap_builder v4.5.0 -> v4.5.1 - Updating cxx v1.0.116 -> v1.0.117 - Updating cxxbridge-cmd v1.0.116 -> v1.0.117 - Updating cxxbridge-flags v1.0.116 -> v1.0.117 - Updating cxxbridge-macro v1.0.116 -> v1.0.117 - Updating ryu v1.0.16 -> v1.0.17 - Updating semver v1.0.21 -> v1.0.22 - Updating serde v1.0.196 -> v1.0.197 - Updating serde_derive v1.0.196 -> v1.0.197 - Updating serde_json v1.0.113 -> v1.0.114 - Updating syn v2.0.48 -> v2.0.50 Bug: None --- components/skus/browser/DEPS | 2 +- components/skus/browser/rs/cxx/src/shim.h | 2 +- components/skus/browser/skus_url_loader_impl.h | 2 +- components/skus/browser/skus_url_loader_impl_unittest.cc | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/skus/browser/DEPS b/components/skus/browser/DEPS index 6dc1afcf8931..eb8007a40390 100644 --- a/components/skus/browser/DEPS +++ b/components/skus/browser/DEPS @@ -1,6 +1,6 @@ include_rules = [ "+services/network/public", "+services/preferences/public", - "+third_party/rust/chromium_crates_io/vendor/cxx-1.0.116/include", + "+third_party/rust/chromium_crates_io/vendor/cxx-1.0.117/include", "+third_party/rust/cxx", ] diff --git a/components/skus/browser/rs/cxx/src/shim.h b/components/skus/browser/rs/cxx/src/shim.h index 93f84c2a4028..0ec150025485 100644 --- a/components/skus/browser/rs/cxx/src/shim.h +++ b/components/skus/browser/rs/cxx/src/shim.h @@ -12,7 +12,7 @@ #include "base/functional/bind.h" #include "base/functional/callback_helpers.h" -#include "third_party/rust/chromium_crates_io/vendor/cxx-1.0.116/include/cxx.h" +#include "third_party/rust/chromium_crates_io/vendor/cxx-1.0.117/include/cxx.h" class PrefService; diff --git a/components/skus/browser/skus_url_loader_impl.h b/components/skus/browser/skus_url_loader_impl.h index 740b2a6ecbfa..b954253c8b7d 100644 --- a/components/skus/browser/skus_url_loader_impl.h +++ b/components/skus/browser/skus_url_loader_impl.h @@ -12,7 +12,7 @@ #include "brave/components/api_request_helper/api_request_helper.h" #include "brave/components/skus/browser/rs/cxx/src/lib.rs.h" #include "services/network/public/cpp/shared_url_loader_factory.h" -#include "third_party/rust/chromium_crates_io/vendor/cxx-1.0.116/include/cxx.h" +#include "third_party/rust/chromium_crates_io/vendor/cxx-1.0.117/include/cxx.h" namespace skus { diff --git a/components/skus/browser/skus_url_loader_impl_unittest.cc b/components/skus/browser/skus_url_loader_impl_unittest.cc index e173f5c7b1a6..9c022591f5c5 100644 --- a/components/skus/browser/skus_url_loader_impl_unittest.cc +++ b/components/skus/browser/skus_url_loader_impl_unittest.cc @@ -16,7 +16,7 @@ #include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h" #include "services/network/test/test_url_loader_factory.h" #include "testing/gtest/include/gtest/gtest.h" -#include "third_party/rust/chromium_crates_io/vendor/cxx-1.0.116/include/cxx.h" +#include "third_party/rust/chromium_crates_io/vendor/cxx-1.0.117/include/cxx.h" class SkusUrlLoaderImplUnitTest : public testing::Test { public: From 7203e51b4ce65107b2bd9c772cdeed83579b46aa Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Mon, 26 Feb 2024 15:26:15 +0000 Subject: [PATCH 017/130] Used typed promises to resolve to boolean Chromium change: https://chromium.googlesource.com/chromium/src/+/695fab320953c1935d75437a44f802b30c7a9987 commit 695fab320953c1935d75437a44f802b30c7a9987 Author: Nate Chapin Date: Thu Feb 22 21:36:43 2024 +0000 Use typed promises/resolvers for resolving with boolean --- third_party/blink/renderer/modules/brave/brave.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/third_party/blink/renderer/modules/brave/brave.cc b/third_party/blink/renderer/modules/brave/brave.cc index 770e9732784e..de848f488a0c 100644 --- a/third_party/blink/renderer/modules/brave/brave.cc +++ b/third_party/blink/renderer/modules/brave/brave.cc @@ -24,7 +24,8 @@ Brave* Brave::brave(NavigatorBase& navigator) { } ScriptPromise Brave::isBrave(ScriptState* script_state) { - auto* resolver = MakeGarbageCollected(script_state); + auto* resolver = MakeGarbageCollected>( + script_state); ScriptPromise promise = resolver->Promise(); resolver->Resolve(true); return promise; From 8058afb99a28a3cdb3f7a75d22c028c05e54d455 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Mon, 26 Feb 2024 18:13:02 +0000 Subject: [PATCH 018/130] Reanchor `TracingDataType` override The existing override was relying on an used key to apply a substitution in a switch statement. However, recently all unused keys have been deleted, which has broken the substitution, requiring a patch going forward. Chromium change: https://chromium.googlesource.com/chromium/src/+/f410de987b0a89f26b8449b572d567a9c1131b05 commit f410de987b0a89f26b8449b572d567a9c1131b05 Author: Victor Hugo Vianna Silva Date: Thu Feb 22 17:23:53 2024 +0000 Remove unused ChromeBrowsingDataRemoverDelegate::TracingDataType values OBSOLETE_HISTOGRAM[History.ClearBrowsingData.Duration.ChromeTask.HostNameResolution]=Unused OBSOLETE_HISTOGRAM[History.ClearBrowsingData.Duration.ChromeTask.PluginData]=Unused OBSOLETE_HISTOGRAM[History.ClearBrowsingData.Duration.ChromeTask.KeywordsModel]=Unused OBSOLETE_HISTOGRAM[History.ClearBrowsingData.Duration.ChromeTask.FlashDeauthorization]=Unused OBSOLETE_HISTOGRAM[History.ClearBrowsingData.Duration.ChromeTask.ExploreSites]=Unused OBSOLETE_HISTOGRAM[History.ClearBrowsingData.Duration.ChromeTask.LegacyStrikes]=Unused OBSOLETE_HISTOGRAM[History.ClearBrowsingData.Duration.ChromeTask.Strikes]=Unused OBSOLETE_HISTOGRAM[History.ClearBrowsingData.Duration.ChromeTask.CompromisedCredentials]=Unused OBSOLETE_HISTOGRAM[History.ClearBrowsingData.Duration.ChromeTask.MediaFeeds]=Unused OBSOLETE_HISTOGRAM[History.ClearBrowsingData.Duration.ChromeTask.AccountCompromisedCredentials]=Unused Bug: None --- .../chrome_browsing_data_remover_delegate.cc | 9 ++++----- ...ta-chrome_browsing_data_remover_delegate.cc.patch | 12 ++++++++++++ 2 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 patches/chrome-browser-browsing_data-chrome_browsing_data_remover_delegate.cc.patch diff --git a/chromium_src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chromium_src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc index ad6207225dbb..6a889a7e39ba 100644 --- a/chromium_src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc +++ b/chromium_src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc @@ -14,13 +14,12 @@ #define CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_UTILS_H_ #endif // BUILDFLAG(IS_ANDROID) -#define kCompromisedCredentials \ - kIPFSCache: \ - return "kIPFSCache"; \ - case TracingDataType::kCompromisedCredentials +#define CHROME_BROWSING_DATA_REMOVER_DELEGATE_GET_HISTORY_SUFFIX \ + case TracingDataType::kIPFSCache: \ + return "IPFSCache"; #include "src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc" -#undef kCompromisedCredentials +#undef CHROME_BROWSING_DATA_REMOVER_DELEGATE_GET_HISTORY_SUFFIX #if BUILDFLAG(IS_ANDROID) #undef CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_UTILS_H_ #undef CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_PROVIDER_H_ diff --git a/patches/chrome-browser-browsing_data-chrome_browsing_data_remover_delegate.cc.patch b/patches/chrome-browser-browsing_data-chrome_browsing_data_remover_delegate.cc.patch new file mode 100644 index 000000000000..7a2991d124ac --- /dev/null +++ b/patches/chrome-browser-browsing_data-chrome_browsing_data_remover_delegate.cc.patch @@ -0,0 +1,12 @@ +diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc +index 6c40393af17815c319e57a6ded03f27a38a0dcb3..2299d393b6b51bd38611c050cff9b1dd63b8a141 100644 +--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc ++++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc +@@ -1525,6 +1525,7 @@ const char* ChromeBrowsingDataRemoverDelegate::GetHistogramSuffix( + return "WebrtcVideoPerfHistory"; + case TracingDataType::kMediaDeviceSalts: + return "MediaDeviceSalts"; ++ CHROME_BROWSING_DATA_REMOVER_DELEGATE_GET_HISTORY_SUFFIX + } + } + From a84d7697bfc9f5d646d527b252ace196747c8c40 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Tue, 27 Feb 2024 21:54:53 +0000 Subject: [PATCH 019/130] Use `GetBookmarkModel` with omnibox action This function has been added to the action base class, replacing the previous variants. This change corrects our references to the previous variants, adds support to a test bookmark model to our own fake, and corrects the uses across tests. Chromium change: https://chromium.googlesource.com/chromium/src/+/32bd0d15d524de7fbf2279fe701692473c0a9141 commit 32bd0d15d524de7fbf2279fe701692473c0a9141 Author: Mikel Astiz Date: Fri Feb 23 12:40:50 2024 +0000 [ios] Integrate account bookmarks consistently into omnibox Before this patch, some but not all of omnibox code integrated with the second existing instance of BookmarkModel on iOS, AccountBookmarkModelFactory. The most important callers, e.g. the omnibox's BookmarkProvider, already integrated with all underlying BookmarkModel instances before this patch. This means, for these cases, the patch is a pure refactoring without behavioral changes. In other cases, such as BookmarkScoringSignalsAnnotator, account bookmarks were never implemented, presumably due to an oversight. With this patch, this (minor) bug is fixed. The same is true for HistoryProvider. Outside iOS, the issue doesn't exist as there is a single BookmarkModel instance. The approach proposed here leans on the recently-introduced BookmarkModelFactory on iOS, which will eventually replace the other two factories. During the migration, the factory returns CoreBookmarkModel, which is a subset of BookmarkModel, and an API designed to behave identically on all platforms: if needed, namely on iOS, it presents a merged view. The patch requires extending CoreBookmarkModel to accommodate the needs that omnibox has, following closely analogous APIs that already exist in BookmarkModel. Change-Id: I72004b5f3f300665576c8f5400b470eaafd1277e Bug: 326185948, 1424825 --- .../chrome_autocomplete_provider_client.h | 12 ++++++------ .../model/autocomplete_provider_client_impl.h | 6 +++--- components/omnibox/browser/BUILD.gn | 1 + .../browser/brave_bookmark_provider_unittest.cc | 8 ++++---- .../brave_fake_autocomplete_provider_client.cc | 12 ++++++++++-- .../brave_fake_autocomplete_provider_client.h | 3 +++ .../browser/brave_history_quick_provider_unittest.cc | 5 ++--- .../browser/brave_history_url_provider_unittest.cc | 5 ++--- 8 files changed, 31 insertions(+), 21 deletions(-) diff --git a/chromium_src/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h b/chromium_src/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h index 3ae836629274..45331c25d6d3 100644 --- a/chromium_src/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h +++ b/chromium_src/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h @@ -11,21 +11,21 @@ #if BUILDFLAG(ENABLE_COMMANDER) #include "brave/components/commander/browser/commander_frontend_delegate.h" -#define GetLocalOrSyncableBookmarkModel \ - GetLocalOrSyncableBookmarkModel() override; \ +#define GetAutocompleteClassifier \ + GetAutocompleteClassifier() override; \ commander::CommanderFrontendDelegate* GetCommanderDelegate #endif // BUILDFLAG(ENABLE_COMMANDER) #if BUILDFLAG(ENABLE_AI_CHAT) -#define GetAccountBookmarkModel \ - GetAccountBookmarkModel() override; \ +#define GetInMemoryDatabase \ + GetInMemoryDatabase() override; \ void OpenLeo(const std::u16string& query) override; \ bool IsLeoProviderEnabled #endif // BUILDFLAG(ENABLE_AI_CHAT) #include "src/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h" // IWYU pragma: export -#undef GetAccountBookmarkModel -#undef GetLocalOrSyncableBookmarkModel +#undef GetInMemoryDatabase +#undef GetAutocompleteClassifier #endif // BRAVE_CHROMIUM_SRC_CHROME_BROWSER_AUTOCOMPLETE_CHROME_AUTOCOMPLETE_PROVIDER_CLIENT_H_ diff --git a/chromium_src/ios/chrome/browser/autocomplete/model/autocomplete_provider_client_impl.h b/chromium_src/ios/chrome/browser/autocomplete/model/autocomplete_provider_client_impl.h index fea7454d2451..5d42995bb222 100644 --- a/chromium_src/ios/chrome/browser/autocomplete/model/autocomplete_provider_client_impl.h +++ b/chromium_src/ios/chrome/browser/autocomplete/model/autocomplete_provider_client_impl.h @@ -11,14 +11,14 @@ #include "components/omnibox/browser/autocomplete_provider_client.h" #if BUILDFLAG(ENABLE_AI_CHAT) -#define GetAccountBookmarkModel \ - GetAccountBookmarkModel() override; \ +#define GetAutocompleteClassifier \ + GetAutocompleteClassifier() override; \ void OpenLeo(const std::u16string& query) override; \ bool IsLeoProviderEnabled #endif // BUILDFLAG(ENABLE_AI_CHAT) #include "src/ios/chrome/browser/autocomplete/model/autocomplete_provider_client_impl.h" // IWYU pragma: export -#undef GetAccountBookmarkModel +#undef GetAutocompleteClassifier #endif // BRAVE_CHROMIUM_SRC_IOS_CHROME_BROWSER_AUTOCOMPLETE_MODEL_AUTOCOMPLETE_PROVIDER_CLIENT_IMPL_H_ diff --git a/components/omnibox/browser/BUILD.gn b/components/omnibox/browser/BUILD.gn index 05d56f02e56d..9a992b60ccb1 100644 --- a/components/omnibox/browser/BUILD.gn +++ b/components/omnibox/browser/BUILD.gn @@ -32,6 +32,7 @@ source_set("unit_tests") { "//brave/components/search_engines", "//chrome/test:test_support", "//components/bookmarks/browser", + "//components/bookmarks/test", "//components/omnibox/browser", "//components/omnibox/browser:test_support", "//components/prefs", diff --git a/components/omnibox/browser/brave_bookmark_provider_unittest.cc b/components/omnibox/browser/brave_bookmark_provider_unittest.cc index 0a195a3eff8d..8d945deafd8f 100644 --- a/components/omnibox/browser/brave_bookmark_provider_unittest.cc +++ b/components/omnibox/browser/brave_bookmark_provider_unittest.cc @@ -34,13 +34,13 @@ class BraveBookmarkProviderTest : public testing::Test { } void SetUp() override { - EXPECT_CALL(client_, GetLocalOrSyncableBookmarkModel()) + EXPECT_CALL(client_, GetBookmarkModel()) .WillRepeatedly(testing::Return(model_.get())); EXPECT_CALL(client_, GetSchemeClassifier()) .WillRepeatedly(testing::ReturnRef(classifier_)); - auto* node = client_.GetLocalOrSyncableBookmarkModel()->other_node(); - client_.GetLocalOrSyncableBookmarkModel()->AddURL( - node, 0, u"Hello", GURL("https://example.com")); + auto* node = client_.GetBookmarkModel()->other_node(); + client_.GetBookmarkModel()->AddURL(node, 0, u"Hello", + GURL("https://example.com")); client_.set_template_url_service( std::make_unique(nullptr, 0)); provider_ = base::MakeRefCounted(&client_); diff --git a/components/omnibox/browser/brave_fake_autocomplete_provider_client.cc b/components/omnibox/browser/brave_fake_autocomplete_provider_client.cc index 2f94a3539162..381b87f1d00b 100644 --- a/components/omnibox/browser/brave_fake_autocomplete_provider_client.cc +++ b/components/omnibox/browser/brave_fake_autocomplete_provider_client.cc @@ -7,11 +7,14 @@ #include "base/memory/scoped_refptr.h" #include "brave/components/omnibox/browser/brave_omnibox_prefs.h" +#include "components/bookmarks/browser/bookmark_model.h" +#include "components/bookmarks/test/test_bookmark_client.h" #include "components/omnibox/browser/shortcuts_backend.h" #include "components/prefs/pref_registry_simple.h" -BraveFakeAutocompleteProviderClient::BraveFakeAutocompleteProviderClient() { - pref_service_ = std::make_unique(); +BraveFakeAutocompleteProviderClient::BraveFakeAutocompleteProviderClient() + : bookmark_model_(bookmarks::TestBookmarkClient::CreateModel()), + pref_service_(std::make_unique()) { omnibox::RegisterBraveProfilePrefs(pref_service_->registry()); } @@ -22,6 +25,11 @@ PrefService* BraveFakeAutocompleteProviderClient::GetPrefs() const { return pref_service_.get(); } +bookmarks::BookmarkModel* +BraveFakeAutocompleteProviderClient::GetBookmarkModel() { + return bookmark_model_.get(); +} + scoped_refptr BraveFakeAutocompleteProviderClient::GetShortcutsBackend() { return shortcuts_backend_; diff --git a/components/omnibox/browser/brave_fake_autocomplete_provider_client.h b/components/omnibox/browser/brave_fake_autocomplete_provider_client.h index ad86728d78ea..837bdb43107e 100644 --- a/components/omnibox/browser/brave_fake_autocomplete_provider_client.h +++ b/components/omnibox/browser/brave_fake_autocomplete_provider_client.h @@ -9,6 +9,7 @@ #include #include "base/memory/scoped_refptr.h" +#include "components/bookmarks/browser/bookmark_model.h" #include "components/omnibox/browser/mock_autocomplete_provider_client.h" #include "components/omnibox/browser/shortcuts_backend.h" #include "components/prefs/testing_pref_service.h" @@ -23,6 +24,7 @@ class BraveFakeAutocompleteProviderClient const BraveFakeAutocompleteProviderClient&) = delete; ~BraveFakeAutocompleteProviderClient() override; PrefService* GetPrefs() const override; + bookmarks::BookmarkModel* GetBookmarkModel() override; void set_shortcuts_backend( scoped_refptr shortcuts_backend) { @@ -33,6 +35,7 @@ class BraveFakeAutocompleteProviderClient scoped_refptr GetShortcutsBackendIfExists() override; private: + std::unique_ptr bookmark_model_; std::unique_ptr pref_service_; scoped_refptr shortcuts_backend_; }; diff --git a/components/omnibox/browser/brave_history_quick_provider_unittest.cc b/components/omnibox/browser/brave_history_quick_provider_unittest.cc index 516049c80e8e..a9dcc283744a 100644 --- a/components/omnibox/browser/brave_history_quick_provider_unittest.cc +++ b/components/omnibox/browser/brave_history_quick_provider_unittest.cc @@ -101,9 +101,8 @@ class BraveHistoryQuickProviderTest : public testing::Test { client_->set_bookmark_model(bookmarks::TestBookmarkClient::CreateModel()); client_->set_in_memory_url_index(std::make_unique( - client_->GetLocalOrSyncableBookmarkModel(), - client_->GetHistoryService(), nullptr, history_dir_.GetPath(), - SchemeSet())); + client_->GetBookmarkModel(), client_->GetHistoryService(), nullptr, + history_dir_.GetPath(), SchemeSet())); client_->GetInMemoryURLIndex()->Init(); // Block until History has processed InMemoryURLIndex initialization. history::BlockUntilHistoryProcessesPendingRequests( diff --git a/components/omnibox/browser/brave_history_url_provider_unittest.cc b/components/omnibox/browser/brave_history_url_provider_unittest.cc index 2cbf3d718976..8679500d396e 100644 --- a/components/omnibox/browser/brave_history_url_provider_unittest.cc +++ b/components/omnibox/browser/brave_history_url_provider_unittest.cc @@ -80,9 +80,8 @@ class BraveHistoryURLProviderTest : public testing::Test, history_dir_.GetPath(), create_history_db)); client_->set_bookmark_model(bookmarks::TestBookmarkClient::CreateModel()); client_->set_in_memory_url_index(std::make_unique( - client_->GetLocalOrSyncableBookmarkModel(), - client_->GetHistoryService(), nullptr, history_dir_.GetPath(), - SchemeSet())); + client_->GetBookmarkModel(), client_->GetHistoryService(), nullptr, + history_dir_.GetPath(), SchemeSet())); client_->GetInMemoryURLIndex()->Init(); if (!client_->GetHistoryService()) return false; From c6b1b7606de822626a5b170882362a6485b956d9 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Tue, 27 Feb 2024 21:59:16 +0000 Subject: [PATCH 020/130] `DOMWrapperWorld` being passed as a pointer This affects the signature of some overriden functions, but the arguments just gets passed along. Chromium change: https://chromium.googlesource.com/chromium/src/+/2137f1da3a53760e1c453c39506072bc12d69122 commit 2137f1da3a53760e1c453c39506072bc12d69122 Author: Michael Lippautz Date: Fri Feb 23 09:46:23 2024 +0000 bindings: Make DOMWrapperWorld a GCed object DOMWrapperWorld was the only building block that was not yet GCed. Moving it onto the GCed heap avoids refcount left and right when dealing with worlds, i.e., when creating and passing around ScriptValue as well as dealing with a plain WorldSafeV8Reference. Bug: b/41493598 --- .../blink/renderer/core/dom/document.cc | 5 ++-- .../loader/fetch/script_fetch_options.cc | 2 +- .../loader/fetch/script_fetch_options.h | 30 +++++++++---------- 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/chromium_src/third_party/blink/renderer/core/dom/document.cc b/chromium_src/third_party/blink/renderer/core/dom/document.cc index cbf059182887..aad8b4e52b67 100644 --- a/chromium_src/third_party/blink/renderer/core/dom/document.cc +++ b/chromium_src/third_party/blink/renderer/core/dom/document.cc @@ -13,9 +13,8 @@ namespace blink { -void Document::ProcessJavaScriptUrl( - const KURL& url, - scoped_refptr world) { +void Document::ProcessJavaScriptUrl(const KURL& url, + const DOMWrapperWorld* world) { #if BUILDFLAG(ENABLE_BRAVE_PAGE_GRAPH) probe::RegisterPageGraphJavaScriptUrl(this, url); #endif diff --git a/chromium_src/third_party/blink/renderer/platform/loader/fetch/script_fetch_options.cc b/chromium_src/third_party/blink/renderer/platform/loader/fetch/script_fetch_options.cc index 378448f1671a..de63b412f855 100644 --- a/chromium_src/third_party/blink/renderer/platform/loader/fetch/script_fetch_options.cc +++ b/chromium_src/third_party/blink/renderer/platform/loader/fetch/script_fetch_options.cc @@ -21,7 +21,7 @@ namespace blink { FetchParameters ScriptFetchOptions::CreateFetchParameters( const KURL& url, const SecurityOrigin* security_origin, - scoped_refptr world_for_csp, + const DOMWrapperWorld* world_for_csp, CrossOriginAttributeValue cross_origin, const WTF::TextEncoding& encoding, FetchParameters::DeferOption defer) const { diff --git a/chromium_src/third_party/blink/renderer/platform/loader/fetch/script_fetch_options.h b/chromium_src/third_party/blink/renderer/platform/loader/fetch/script_fetch_options.h index f5d723c10938..e80eca152df9 100644 --- a/chromium_src/third_party/blink/renderer/platform/loader/fetch/script_fetch_options.h +++ b/chromium_src/third_party/blink/renderer/platform/loader/fetch/script_fetch_options.h @@ -10,21 +10,21 @@ #include "third_party/blink/renderer/platform/graphics/dom_node_id.h" #if BUILDFLAG(ENABLE_BRAVE_PAGE_GRAPH) -#define CreateFetchParameters \ - CreateFetchParameters_ChromiumImpl( \ - const KURL&, const SecurityOrigin*, \ - scoped_refptr, CrossOriginAttributeValue, \ - const WTF::TextEncoding&, FetchParameters::DeferOption) const; \ - void SetDOMNodeId(DOMNodeId dom_node_id); \ - DOMNodeId GetDOMNodeId() const; \ - void SetParentScriptId(int parent_script_id); \ - int GetParentScriptId() const; \ - \ - private: \ - DOMNodeId dom_node_id_ = kInvalidDOMNodeId; \ - int parent_script_id_ = 0; \ - \ - public: \ +#define CreateFetchParameters \ + CreateFetchParameters_ChromiumImpl( \ + const KURL&, const SecurityOrigin*, const DOMWrapperWorld* world, \ + CrossOriginAttributeValue, const WTF::TextEncoding&, \ + FetchParameters::DeferOption) const; \ + void SetDOMNodeId(DOMNodeId dom_node_id); \ + DOMNodeId GetDOMNodeId() const; \ + void SetParentScriptId(int parent_script_id); \ + int GetParentScriptId() const; \ + \ + private: \ + DOMNodeId dom_node_id_ = kInvalidDOMNodeId; \ + int parent_script_id_ = 0; \ + \ + public: \ FetchParameters CreateFetchParameters #endif // BUILDFLAG(ENABLE_BRAVE_PAGE_GRAPH) From f0aaa966b25eaca91ca197b0f77da8e9cdeac235 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Tue, 27 Feb 2024 22:01:10 +0000 Subject: [PATCH 021/130] Restore AllowScript functionality Chromium change: https://chromium.googlesource.com/chromium/src/+/8e98d0b38a95fc7fd4fc51cd59be77c5bf9e315c commit 8e98d0b38a95fc7fd4fc51cd59be77c5bf9e315c Author: Erik Chen Date: Fri Feb 23 21:42:01 2024 +0000 Fix renderer content settings (part 12 / N) This CL removes WebContentSettingsClient::AllowScript() and replaces callsites to instead use LocalFrame::ScriptEnabled(). This is a refactor that has no intended behavior change, with the exception of an unused piece of extension functionality which is now disabled. Previously, WebContentSettingsClient::AllowScript() supported secondary-patterns. The only way to set secondary patterns was with an extension API, which was not actually used. This functionality was unused, and this CL removes support for this functionality. This CL removes the test WorkerImportModuleBlocked as it tests conditions that cannot occur in the wild. Bug: 40282541 --- .../platform/web_content_settings_client.h | 53 ++++++----- .../renderer/core/frame/local_dom_window.cc | 10 +- .../blink/renderer/core/frame/local_frame.cc | 30 ++++-- .../blink/renderer/core/frame/local_frame.h | 6 +- .../renderer/core/html/html_meta_element.cc | 13 +++ .../core/loader/base_fetch_context.cc | 13 +++ .../renderer/core/loader/base_fetch_context.h | 14 +++ .../core/loader/frame_fetch_context.cc | 20 +++- .../core/loader/frame_fetch_context.h | 5 +- .../core/loader/worker_fetch_context.cc | 26 +++++ .../core/loader/worker_fetch_context.h | 18 ++++ .../brave_content_settings_agent_impl.cc | 95 ++++++++++--------- ...r-core-loader-frame_fetch_context.cc.patch | 12 +++ 13 files changed, 232 insertions(+), 83 deletions(-) create mode 100644 chromium_src/third_party/blink/renderer/core/html/html_meta_element.cc create mode 100644 chromium_src/third_party/blink/renderer/core/loader/base_fetch_context.cc create mode 100644 chromium_src/third_party/blink/renderer/core/loader/base_fetch_context.h create mode 100644 chromium_src/third_party/blink/renderer/core/loader/worker_fetch_context.cc create mode 100644 chromium_src/third_party/blink/renderer/core/loader/worker_fetch_context.h create mode 100644 patches/third_party-blink-renderer-core-loader-frame_fetch_context.cc.patch diff --git a/chromium_src/third_party/blink/public/platform/web_content_settings_client.h b/chromium_src/third_party/blink/public/platform/web_content_settings_client.h index f6cd31d7fe70..caedef6afc58 100644 --- a/chromium_src/third_party/blink/public/platform/web_content_settings_client.h +++ b/chromium_src/third_party/blink/public/platform/web_content_settings_client.h @@ -1,7 +1,7 @@ /* Copyright (c) 2020 The Brave Authors. All rights reserved. * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ + * You can obtain one at https://mozilla.org/MPL/2.0/. */ #ifndef BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_CONTENT_SETTINGS_CLIENT_H_ #define BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_CONTENT_SETTINGS_CLIENT_H_ @@ -11,28 +11,35 @@ class GURL; -#define AllowStorageAccessSync \ - AllowAutoplay(bool play_requested) { \ - return true; \ - } \ - virtual bool IsCosmeticFilteringEnabled(const GURL& url) { \ - return false; \ - } \ - virtual bool IsFirstPartyCosmeticFilteringEnabled(const GURL& url) { \ - return false; \ - } \ - virtual BraveFarblingLevel GetBraveFarblingLevel() { \ - return BraveFarblingLevel::OFF; \ - } \ - virtual bool IsReduceLanguageEnabled() { \ - return false; \ - } \ - virtual blink::WebSecurityOrigin GetEphemeralStorageOriginSync() { \ - return blink::WebSecurityOrigin(); \ - } \ - virtual bool HasContentSettingsRules() const { \ - return false; \ - } \ +#define AllowStorageAccessSync \ + AllowAutoplay(bool play_requested) { \ + return true; \ + } \ + virtual bool IsCosmeticFilteringEnabled(const GURL& url) { \ + return false; \ + } \ + virtual bool IsFirstPartyCosmeticFilteringEnabled(const GURL& url) { \ + return false; \ + } \ + virtual BraveFarblingLevel GetBraveFarblingLevel() { \ + return BraveFarblingLevel::OFF; \ + } \ + virtual bool IsReduceLanguageEnabled() { \ + return false; \ + } \ + virtual blink::WebSecurityOrigin GetEphemeralStorageOriginSync() { \ + return blink::WebSecurityOrigin(); \ + } \ + virtual bool HasContentSettingsRules() const { \ + return false; \ + } \ + virtual bool AllowScript(bool enabled_per_settings) { \ + return enabled_per_settings; \ + } \ + virtual bool AllowScriptFromSource(bool enabled_per_settings, \ + const blink::WebURL& script_url) { \ + return enabled_per_settings; \ + } \ virtual bool AllowStorageAccessSync #include "src/third_party/blink/public/platform/web_content_settings_client.h" // IWYU pragma: export diff --git a/chromium_src/third_party/blink/renderer/core/frame/local_dom_window.cc b/chromium_src/third_party/blink/renderer/core/frame/local_dom_window.cc index b61cded89b50..5544fb0f0aa1 100644 --- a/chromium_src/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/chromium_src/third_party/blink/renderer/core/frame/local_dom_window.cc @@ -1,7 +1,7 @@ /* Copyright (c) 2021 The Brave Authors. All rights reserved. * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ + * You can obtain one at https://mozilla.org/MPL/2.0/. */ #include "third_party/blink/renderer/core/frame/local_dom_window.h" #include "brave/third_party/blink/renderer/core/farbling/brave_session_cache.h" @@ -17,10 +17,10 @@ #define resizeTo resizeTo_ChromiumImpl #define moveTo moveTo_ChromiumImpl -#define BRAVE_LOCAL_DOM_WINDOW_CAN_EXECUTE_SCRIPTS \ - if (WebContentSettingsClient* settings_client = \ - GetFrame()->GetContentSettingsClient()) { \ - script_enabled = settings_client->AllowScript(allow_script_renderer); \ +#define BRAVE_LOCAL_DOM_WINDOW_CAN_EXECUTE_SCRIPTS \ + if (WebContentSettingsClient* settings_client = \ + GetFrame()->GetContentSettingsClient()) { \ + script_enabled = settings_client->AllowScript(script_enabled); \ } #include "src/third_party/blink/renderer/core/frame/local_dom_window.cc" diff --git a/chromium_src/third_party/blink/renderer/core/frame/local_frame.cc b/chromium_src/third_party/blink/renderer/core/frame/local_frame.cc index a39d3f1b962e..2875fd266c1f 100644 --- a/chromium_src/third_party/blink/renderer/core/frame/local_frame.cc +++ b/chromium_src/third_party/blink/renderer/core/frame/local_frame.cc @@ -1,7 +1,7 @@ /* Copyright (c) 2022 The Brave Authors. All rights reserved. * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ + * You can obtain one at https://mozilla.org/MPL/2.0/. */ #include "third_party/blink/renderer/core/frame/local_frame.h" @@ -25,8 +25,10 @@ PageGraph::ProvideTo(*this); \ }) -#include "src/third_party/blink/renderer/core/frame/local_frame.cc" +#define ScriptEnabled ScriptEnabled_ChromiumImpl +#include "src/third_party/blink/renderer/core/frame/local_frame.cc" +#undef ScriptEnabled #undef AddInspectorTraceEvents namespace blink { @@ -41,21 +43,24 @@ scoped_refptr ImageFromNode(const Node& node) { node.GetDocument().Lifecycle()); const LayoutObject* const layout_object = node.GetLayoutObject(); - if (!layout_object) + if (!layout_object) { return nullptr; + } if (layout_object->IsCanvas()) { return To(const_cast(node)) .Snapshot(FlushReason::kNon2DCanvas, kFrontBuffer); } - if (!layout_object->IsImage()) + if (!layout_object->IsImage()) { return nullptr; + } const auto& layout_image = To(*layout_object); const ImageResourceContent* const cached_image = layout_image.CachedImage(); - if (!cached_image || cached_image->ErrorOccurred()) + if (!cached_image || cached_image->ErrorOccurred()) { return nullptr; + } return cached_image->GetImage(); } @@ -78,8 +83,9 @@ SkBitmap LocalFrame::GetImageAtViewportPoint(const gfx::Point& viewport_point) { const scoped_refptr image = ImageFromNode(*result.InnerNodeOrImageMapImage()); - if (!image.get()) + if (!image.get()) { return {}; + } // Referred SystemClipboard::WriteImageWithTag() about how to get bitmap data // from Image. @@ -91,8 +97,9 @@ SkBitmap LocalFrame::GetImageAtViewportPoint(const gfx::Point& viewport_point) { kInterpolationNone); } SkBitmap bitmap; - if (sk_sp sk_image = paint_image.GetSwSkImage()) + if (sk_sp sk_image = paint_image.GetSwSkImage()) { sk_image->asLegacyBitmap(&bitmap); + } // The bitmap backing a canvas can be in non-native skia pixel order (aka // RGBA when kN32_SkColorType is BGRA-ordered, or higher bit-depth color-types @@ -107,4 +114,13 @@ SkBitmap LocalFrame::GetImageAtViewportPoint(const gfx::Point& viewport_point) { return {}; } +bool LocalFrame::ScriptEnabled(const KURL& script_url) { + bool enabled = ScriptEnabled_ChromiumImpl(); + auto* client = GetContentSettingsClient(); + if (client) { + return client->AllowScriptFromSource(enabled, script_url); + } + return enabled; +} + } // namespace blink diff --git a/chromium_src/third_party/blink/renderer/core/frame/local_frame.h b/chromium_src/third_party/blink/renderer/core/frame/local_frame.h index be4a89c00a2a..f528d3f188bb 100644 --- a/chromium_src/third_party/blink/renderer/core/frame/local_frame.h +++ b/chromium_src/third_party/blink/renderer/core/frame/local_frame.h @@ -13,8 +13,12 @@ class SkBitmap; SkBitmap GetImageAtViewportPoint(const gfx::Point& viewport_point); \ void CopyImageAtViewportPoint -#include "src/third_party/blink/renderer/core/frame/local_frame.h" // IWYU pragma: export +#define ScriptEnabled \ + ScriptEnabled(const KURL& script_url); \ + bool ScriptEnabled_ChromiumImpl +#include "src/third_party/blink/renderer/core/frame/local_frame.h" // IWYU pragma: export +#undef ScriptEnabled #undef CopyImageAtViewportPoint #endif // BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_LOCAL_FRAME_H_ diff --git a/chromium_src/third_party/blink/renderer/core/html/html_meta_element.cc b/chromium_src/third_party/blink/renderer/core/html/html_meta_element.cc new file mode 100644 index 000000000000..7ab8bfd400b6 --- /dev/null +++ b/chromium_src/third_party/blink/renderer/core/html/html_meta_element.cc @@ -0,0 +1,13 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#include "third_party/blink/renderer/core/html/html_meta_element.h" + +#include "third_party/blink/renderer/core/frame/local_frame.h" + +#define ScriptEnabled() ScriptEnabled(document.Url()) + +#include "src/third_party/blink/renderer/core/html/html_meta_element.cc" +#undef ScriptEnabled diff --git a/chromium_src/third_party/blink/renderer/core/loader/base_fetch_context.cc b/chromium_src/third_party/blink/renderer/core/loader/base_fetch_context.cc new file mode 100644 index 000000000000..0e9c195e45ee --- /dev/null +++ b/chromium_src/third_party/blink/renderer/core/loader/base_fetch_context.cc @@ -0,0 +1,13 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#include "third_party/blink/renderer/core/loader/base_fetch_context.h" + +#include "third_party/blink/public/platform/web_content_settings_client.h" + +#define AllowScript() AllowScript(url) + +#include "src/third_party/blink/renderer/core/loader/base_fetch_context.cc" +#undef AllowScript diff --git a/chromium_src/third_party/blink/renderer/core/loader/base_fetch_context.h b/chromium_src/third_party/blink/renderer/core/loader/base_fetch_context.h new file mode 100644 index 000000000000..02b5b48b87ae --- /dev/null +++ b/chromium_src/third_party/blink/renderer/core/loader/base_fetch_context.h @@ -0,0 +1,14 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#ifndef BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_BASE_FETCH_CONTEXT_H_ +#define BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_BASE_FETCH_CONTEXT_H_ + +#define AllowScript() AllowScript(const KURL& url) + +#include "src/third_party/blink/renderer/core/loader/base_fetch_context.h" // IWYU pragma: export +#undef AllowScript + +#endif // BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_BASE_FETCH_CONTEXT_H_ diff --git a/chromium_src/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/chromium_src/third_party/blink/renderer/core/loader/frame_fetch_context.cc index e30bfc8892b1..d99708fd8a32 100644 --- a/chromium_src/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/chromium_src/third_party/blink/renderer/core/loader/frame_fetch_context.cc @@ -3,13 +3,28 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at https://mozilla.org/MPL/2.0/. */ +#include "third_party/blink/renderer/core/loader/frame_fetch_context.h" + +#include "third_party/blink/public/platform/web_content_settings_client.h" +#include "third_party/blink/renderer/core/frame/local_frame.h" + +#define BRAVE_FRAME_FETCH_CONTEXT_ADD_CLIENT_HINTS_IF_NECESSARY \ + const KURL url = request.Url(); + +#define AllowScript() AllowScript(const KURL& url) +#define ScriptEnabled() ScriptEnabled(url) + #include "src/third_party/blink/renderer/core/loader/frame_fetch_context.cc" +#undef AllowScript +#undef ScriptEnabled +#undef BRAVE_FRAME_FETCH_CONTEXT_ADD_CLIENT_HINTS_IF_NECESSARY namespace blink { String FrameFetchContext::GetCacheIdentifierIfCrossSiteSubframe() const { - if (GetResourceFetcherProperties().IsDetached()) + if (GetResourceFetcherProperties().IsDetached()) { return cache_identifier_if_cross_site_subframe_; + } // Make sure to always use the actual data, because the frame can be reused // and identifiers can be changed. @@ -23,8 +38,9 @@ String FrameFetchContext::GetCacheIdentifierIfCrossSiteSubframe() const { // calls when nothing has changed. top_frame_origin_for_cache_identifier_ = top_frame_origin; cache_identifier = top_frame_origin->RegistrableDomain(); - if (cache_identifier.empty()) + if (cache_identifier.empty()) { cache_identifier = top_frame_origin->Host(); + } } } } diff --git a/chromium_src/third_party/blink/renderer/core/loader/frame_fetch_context.h b/chromium_src/third_party/blink/renderer/core/loader/frame_fetch_context.h index 7c03d40cc92b..3d180539a3f5 100644 --- a/chromium_src/third_party/blink/renderer/core/loader/frame_fetch_context.h +++ b/chromium_src/third_party/blink/renderer/core/loader/frame_fetch_context.h @@ -6,6 +6,7 @@ #ifndef BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_FRAME_FETCH_CONTEXT_H_ #define BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_FRAME_FETCH_CONTEXT_H_ +#include "third_party/blink/renderer/core/loader/base_fetch_context.h" #include "third_party/blink/renderer/platform/loader/fetch/fetch_context.h" #define DoesLCPPHaveAnyHintData \ @@ -22,8 +23,10 @@ public: \ bool DoesLCPPHaveAnyHintData -#include "src/third_party/blink/renderer/core/loader/frame_fetch_context.h" // IWYU pragma: export +#define AllowScript() AllowScript(const KURL& url) +#include "src/third_party/blink/renderer/core/loader/frame_fetch_context.h" // IWYU pragma: export +#undef AllowScript #undef DoesLCPPHaveAnyHintData #endif // BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_FRAME_FETCH_CONTEXT_H_ diff --git a/chromium_src/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/chromium_src/third_party/blink/renderer/core/loader/worker_fetch_context.cc new file mode 100644 index 000000000000..ce805b2b313c --- /dev/null +++ b/chromium_src/third_party/blink/renderer/core/loader/worker_fetch_context.cc @@ -0,0 +1,26 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#include "third_party/blink/renderer/core/loader/worker_fetch_context.h" + +#include "third_party/blink/public/platform/web_content_settings_client.h" + +#define AllowScript AllowScript_Unused +#include "src/third_party/blink/renderer/core/loader/worker_fetch_context.cc" +#undef AllowScript + +namespace blink { + +bool WorkerFetchContext::AllowScript(const KURL& url) const { + if (!global_scope_->ContentSettingsClient()) { + return true; + } + // If we're on a worker, script should be enabled, so no need to plumb + // Settings::GetScriptEnabled() here. + return global_scope_->ContentSettingsClient()->AllowScriptFromSource(true, + url); +} + +} // namespace blink diff --git a/chromium_src/third_party/blink/renderer/core/loader/worker_fetch_context.h b/chromium_src/third_party/blink/renderer/core/loader/worker_fetch_context.h new file mode 100644 index 000000000000..e89ac383555d --- /dev/null +++ b/chromium_src/third_party/blink/renderer/core/loader/worker_fetch_context.h @@ -0,0 +1,18 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#ifndef BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_WORKER_FETCH_CONTEXT_H_ +#define BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_WORKER_FETCH_CONTEXT_H_ + +#include "third_party/blink/renderer/core/loader/base_fetch_context.h" + +#define AllowScript() \ + AllowScript_Unused() const; \ + bool AllowScript(const KURL& url) + +#include "src/third_party/blink/renderer/core/loader/worker_fetch_context.h" // IWYU pragma: export +#undef AllowScript + +#endif // BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_WORKER_FETCH_CONTEXT_H_ diff --git a/components/content_settings/renderer/brave_content_settings_agent_impl.cc b/components/content_settings/renderer/brave_content_settings_agent_impl.cc index b78fc6af5bee..b8a69f5cbed3 100644 --- a/components/content_settings/renderer/brave_content_settings_agent_impl.cc +++ b/components/content_settings/renderer/brave_content_settings_agent_impl.cc @@ -51,8 +51,9 @@ GURL GetOriginOrURL(const blink::WebFrame* frame) { // TODO(alexmos): This is broken for --site-per-process, since top() can be a // WebRemoteFrame which does not have a document(), and the WebRemoteFrame's // URL is not replicated. See https://crbug.com/628759. - if (top_origin.opaque() && frame->Top()->IsWebLocalFrame()) + if (top_origin.opaque() && frame->Top()->IsWebLocalFrame()) { return frame->Top()->ToWebLocalFrame()->GetDocument().Url(); + } return top_origin.GetURL(); } @@ -173,21 +174,61 @@ void BraveContentSettingsAgentImpl::DidNotAllowScript() { ContentSettingsAgentImpl::DidNotAllowScript(); } +bool BraveContentSettingsAgentImpl::AllowScriptFromSource( + bool enabled_per_settings, + const blink::WebURL& script_url) { + GURL secondary_url(script_url); + // For scripts w/o sources it should report the domain / site used for + // executing the frame (which most, but not all, of the time will just be from + // document.location + if (secondary_url.SchemeIsLocal()) { + secondary_url = + url::Origin(render_frame()->GetWebFrame()->GetSecurityOrigin()) + .GetURL(); + } + bool allow = ContentSettingsAgentImpl::AllowScriptFromSource( + enabled_per_settings, script_url); + + // scripts with whitelisted protocols, such as chrome://extensions should + // be allowed + bool should_white_list = IsAllowlistedForContentSettings( + blink::WebSecurityOrigin::Create(script_url), + render_frame()->GetWebFrame()->GetDocument().Url()); + auto is_shields_down = + IsBraveShieldsDown(render_frame()->GetWebFrame(), secondary_url); + auto is_script_temprily_allowed = IsScriptTemporilyAllowed(secondary_url); + allow = allow || should_white_list || is_shields_down || + is_script_temprily_allowed; + + if (!allow) { + blocked_script_url_ = secondary_url; + } else if (!is_shields_down) { + if (is_script_temprily_allowed) { + BraveSpecificDidAllowJavaScriptOnce(secondary_url); + } + } + + return allow; +} + blink::WebSecurityOrigin BraveContentSettingsAgentImpl::GetEphemeralStorageOriginSync() { - if (!base::FeatureList::IsEnabled(net::features::kBraveEphemeralStorage)) + if (!base::FeatureList::IsEnabled(net::features::kBraveEphemeralStorage)) { return {}; + } blink::WebLocalFrame* frame = render_frame()->GetWebFrame(); - if (!frame || IsFrameWithOpaqueOrigin(frame)) + if (!frame || IsFrameWithOpaqueOrigin(frame)) { return {}; + } auto frame_origin = url::Origin(frame->GetSecurityOrigin()); const auto ephemeral_storage_origin_it = cached_ephemeral_storage_origins_.find(frame_origin); - if (ephemeral_storage_origin_it != cached_ephemeral_storage_origins_.end()) + if (ephemeral_storage_origin_it != cached_ephemeral_storage_origins_.end()) { return ephemeral_storage_origin_it->second; + } auto top_origin = url::Origin(frame->Top()->GetSecurityOrigin()); // If first party ephemeral storage is enabled, we should always ask the @@ -216,8 +257,9 @@ BraveContentSettingsAgentImpl::GetEphemeralStorageOriginSync() { bool BraveContentSettingsAgentImpl::AllowStorageAccessSync( StorageType storage_type) { bool result = ContentSettingsAgentImpl::AllowStorageAccessSync(storage_type); - if (result) + if (result) { return true; + } if (storage_type == StorageType::kLocalStorage || storage_type == StorageType::kSessionStorage) { @@ -227,43 +269,6 @@ bool BraveContentSettingsAgentImpl::AllowStorageAccessSync( return false; } -bool BraveContentSettingsAgentImpl::AllowScriptFromSource( - bool enabled_per_settings, - const blink::WebURL& script_url) { - GURL secondary_url(script_url); - // For scripts w/o sources it should report the domain / site used for - // executing the frame (which most, but not all, of the time will just be from - // document.location - if (secondary_url.SchemeIsLocal()) { - secondary_url = - url::Origin(render_frame()->GetWebFrame()->GetSecurityOrigin()) - .GetURL(); - } - bool allow = ContentSettingsAgentImpl::AllowScriptFromSource( - enabled_per_settings, script_url); - - // scripts with whitelisted protocols, such as chrome://extensions should - // be allowed - bool should_white_list = IsAllowlistedForContentSettings( - blink::WebSecurityOrigin::Create(script_url), - render_frame()->GetWebFrame()->GetDocument().Url()); - auto is_shields_down = - IsBraveShieldsDown(render_frame()->GetWebFrame(), secondary_url); - auto is_script_temprily_allowed = IsScriptTemporilyAllowed(secondary_url); - allow = allow || should_white_list || is_shields_down || - is_script_temprily_allowed; - - if (!allow) { - blocked_script_url_ = secondary_url; - } else if (!is_shields_down) { - if (is_script_temprily_allowed) { - BraveSpecificDidAllowJavaScriptOnce(secondary_url); - } - } - - return allow; -} - bool BraveContentSettingsAgentImpl::IsBraveShieldsDown( const blink::WebFrame* frame, const GURL& secondary_url) { @@ -366,8 +371,9 @@ bool BraveContentSettingsAgentImpl::AllowAutoplay(bool play_requested) { content_setting_rules_->autoplay_rules, url::Origin(origin).GetURL()); if (setting == CONTENT_SETTING_BLOCK) { DVLOG(1) << "AllowAutoplay=false because rule=CONTENT_SETTING_BLOCK"; - if (play_requested) + if (play_requested) { DidBlockContentType(ContentSettingsType::AUTOPLAY); + } return false; } else if (setting == CONTENT_SETTING_ALLOW) { DVLOG(1) << "AllowAutoplay=true because rule=CONTENT_SETTING_ALLOW"; @@ -380,8 +386,9 @@ bool BraveContentSettingsAgentImpl::AllowAutoplay(bool play_requested) { DVLOG(1) << "AllowAutoplay=true because " "ContentSettingsAgentImpl::AllowAutoplay says so"; } else { - if (play_requested) + if (play_requested) { DidBlockContentType(ContentSettingsType::AUTOPLAY); + } DVLOG(1) << "AllowAutoplay=false because " "ContentSettingsAgentImpl::AllowAutoplay says so"; } diff --git a/patches/third_party-blink-renderer-core-loader-frame_fetch_context.cc.patch b/patches/third_party-blink-renderer-core-loader-frame_fetch_context.cc.patch new file mode 100644 index 000000000000..1c9fc686e898 --- /dev/null +++ b/patches/third_party-blink-renderer-core-loader-frame_fetch_context.cc.patch @@ -0,0 +1,12 @@ +diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc +index c61f13ecffafaf4a4928863cb8777be8c9596e2f..6d69d0939bb1ab65a46cf80559ca8d9d3507231d 100644 +--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc ++++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc +@@ -436,6 +436,7 @@ void FrameFetchContext::AddClientHintsIfNecessary( + + // Check if |url| is allowed to run JavaScript. If not, client hints are not + // attached to the requests that initiate on the render side. ++ BRAVE_FRAME_FETCH_CONTEXT_ADD_CLIENT_HINTS_IF_NECESSARY + if (!GetFrame()->ScriptEnabled()) { + return; + } From 3931e095961c1e435afc26827861c93fc6742024 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Tue, 27 Feb 2024 22:02:21 +0000 Subject: [PATCH 022/130] `SessionModel` now a mojom type This change only affects the namespace reference and the capitalisation of the keys. Chromium change: https://chromium.googlesource.com/chromium/src/+/dc5bc0109f76324b3405111761f6e3f27f68a546 commit dc5bc0109f76324b3405111761f6e3f27f68a546 Author: Jonathan Njeunje Date: Fri Feb 23 16:54:06 2024 +0000 Consolidate the SessionModel Enumeration This CL consolidate the SessionModel to a single source of truth within mojo. This is a follow-up to https://crrev.com/c/5280542 and goes with this best practice https://chromium.googlesource.com/chromium/src/+/HEAD/docs/security/mojo.md#using-mojo-enums-directly-when-possible. Follow-up: Consolidate further enums. --- .../core/browser/brave_content_settings_pref_provider.cc | 9 +++++---- .../core/browser/brave_content_settings_pref_provider.h | 2 +- .../brave_content_settings_pref_provider_unittest.cc | 4 ++-- .../core/browser/brave_content_settings_utils.cc | 8 ++++---- .../core/browser/brave_content_settings_utils.h | 2 +- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/components/content_settings/core/browser/brave_content_settings_pref_provider.cc b/components/content_settings/core/browser/brave_content_settings_pref_provider.cc index 2aca8f054631..2ce5becbc50f 100644 --- a/components/content_settings/core/browser/brave_content_settings_pref_provider.cc +++ b/components/content_settings/core/browser/brave_content_settings_pref_provider.cc @@ -235,7 +235,7 @@ void BravePrefProvider::MigrateShieldsSettingsFromResourceIds() { base::Time expiration = base::ValueToTime(settings_dict->Find(kExpirationPath)) .value_or(base::Time()); - SessionModel session_model = + content_settings::mojom::SessionModel session_model = GetSessionModelFromDictionary(*settings_dict, kSessionModelPath); const base::Value::Dict* resource_dict = @@ -288,7 +288,7 @@ void BravePrefProvider::MigrateShieldsSettingsFromResourceIdsForOneType( const std::string& patterns_string, const base::Time& expiration, const base::Time& last_modified, - SessionModel session_model, + content_settings::mojom::SessionModel session_model, int setting) { // Non-supported preference paths should have been filtered out already. CHECK(prefs_->HasPrefPath(preference_path)) @@ -663,7 +663,7 @@ void BravePrefProvider::UpdateCookieRules(ContentSettingsType content_type, // PS: kGoogleLoginControlType preference might not be registered for tests. RuleMetaData metadata; metadata.SetExpirationAndLifetime(base::Time(), base::TimeDelta()); - metadata.set_session_model(content_settings::SessionModel::Durable); + metadata.set_session_model(content_settings::mojom::SessionModel::DURABLE); const auto google_auth_rule = std::make_unique( google_sign_in_permission::GetGoogleAuthPattern(), ContentSettingsPattern::Wildcard(), @@ -773,7 +773,8 @@ void BravePrefProvider::UpdateCookieRules(ContentSettingsType content_type, if (ValueToContentSetting(shield_rule->value) == CONTENT_SETTING_BLOCK) { RuleMetaData metadata; metadata.SetExpirationAndLifetime(base::Time(), base::TimeDelta()); - metadata.set_session_model(content_settings::SessionModel::Durable); + metadata.set_session_model( + content_settings::mojom::SessionModel::DURABLE); rules.emplace_back(std::make_unique( ContentSettingsPattern::Wildcard(), shield_rule->primary_pattern, diff --git a/components/content_settings/core/browser/brave_content_settings_pref_provider.h b/components/content_settings/core/browser/brave_content_settings_pref_provider.h index 4d00ad97278e..35ee5a72cbc3 100644 --- a/components/content_settings/core/browser/brave_content_settings_pref_provider.h +++ b/components/content_settings/core/browser/brave_content_settings_pref_provider.h @@ -78,7 +78,7 @@ class BravePrefProvider : public PrefProvider, const std::string& patterns_string, const base::Time& expiration, const base::Time& last_modified, - SessionModel session_model, + content_settings::mojom::SessionModel session_model, int setting); void MigrateShieldsSettingsV1ToV2(); void MigrateShieldsSettingsV1ToV2ForOneType(ContentSettingsType content_type); diff --git a/components/content_settings/core/browser/brave_content_settings_pref_provider_unittest.cc b/components/content_settings/core/browser/brave_content_settings_pref_provider_unittest.cc index f311e788edbe..c58c1b207f53 100644 --- a/components/content_settings/core/browser/brave_content_settings_pref_provider_unittest.cc +++ b/components/content_settings/core/browser/brave_content_settings_pref_provider_unittest.cc @@ -64,7 +64,7 @@ base::Value::Dict* InitializeCommonSettingsAndGetPerResourceDictionary( base::NumberToString(last_modified_time_in_ms)); dict->SetByDottedPath( kSessionModelPath, - static_cast(content_settings::SessionModel::Durable)); + static_cast(content_settings::mojom::SessionModel::DURABLE)); return dict->EnsureDict(kPerResourcePath); } @@ -116,7 +116,7 @@ void CheckMigrationFromResourceIdentifierForDictionary( EXPECT_EQ(base::ValueToTime(settings_dict->Find(kLastModifiedPath)), expected_last_modified); EXPECT_EQ(GetSessionModelFromDictionary(*settings_dict, kSessionModelPath), - content_settings::SessionModel::Durable); + content_settings::mojom::SessionModel::DURABLE); EXPECT_EQ(actual_value, expected_setting_value); } diff --git a/components/content_settings/core/browser/brave_content_settings_utils.cc b/components/content_settings/core/browser/brave_content_settings_utils.cc index fc3d36283048..d36188b5bdda 100644 --- a/components/content_settings/core/browser/brave_content_settings_utils.cc +++ b/components/content_settings/core/browser/brave_content_settings_utils.cc @@ -118,19 +118,19 @@ std::string GetShieldsSettingUserPrefsPath(const std::string& name) { // Extract a SessionModel from |dict[key]|. Will return // SessionModel::Durable if no model exists. -content_settings::SessionModel GetSessionModelFromDictionary( +content_settings::mojom::SessionModel GetSessionModelFromDictionary( const base::Value::Dict& dict, const char* key) { std::optional model_int = dict.FindInt(key); if (!model_int.has_value() || (model_int > - static_cast(content_settings::SessionModel::kMaxValue)) || + static_cast(content_settings::mojom::SessionModel::kMaxValue)) || (model_int < 0)) { model_int = 0; } - content_settings::SessionModel session_model = - static_cast(model_int.value()); + content_settings::mojom::SessionModel session_model = + static_cast(model_int.value()); return session_model; } diff --git a/components/content_settings/core/browser/brave_content_settings_utils.h b/components/content_settings/core/browser/brave_content_settings_utils.h index b8232e21064b..bffc1d384494 100644 --- a/components/content_settings/core/browser/brave_content_settings_utils.h +++ b/components/content_settings/core/browser/brave_content_settings_utils.h @@ -30,7 +30,7 @@ std::optional ConvertPatternToWildcardSchemeAndPort( std::string GetShieldsSettingUserPrefsPath(const std::string& name); -content_settings::SessionModel GetSessionModelFromDictionary( +content_settings::mojom::SessionModel GetSessionModelFromDictionary( const base::Value::Dict& dict, const char* key); From 83fc3182f0036c3e53b8ec3a20f666b09cf0f354 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Wed, 28 Feb 2024 11:40:22 -0300 Subject: [PATCH 023/130] `BookmarkModelObserver` not passing a pointer at every override This is a simplication of not much consequence to the ios implementation as a `model_` data member was already in place. Chromium change: https://chromium.googlesource.com/chromium/src/+/3ee180e83d8955935d37ce83e397bcbcc0db366d commit 3ee180e83d8955935d37ce83e397bcbcc0db366d Author: Mikel Astiz Date: Mon Feb 26 10:58:28 2024 +0000 [bookmarks] Avoid passing BookmarkModel in observer APIs Including a pointer to BookmarkModel in BookmarkModelObserver APIs is somewhat redundant, as observers usually know what they are observing. They often do so by either maintaining a pointer to BookmarkModel directly or because they use a ScopedObservation (which also exposes BookmarkModel via ScopedObservation::GetSource()). In addition to being redundant, it is error-prone for ongoing efforts (see linked bug) that reuse BookmarkModelObserver when dealing with abstractions that expose a transformed or limited view of an underlying BookmarkModel instance. This is the case for sync_bookmarks::BookmarkModelView, which benefits directly in this patch as it is obvious in the changes to class sync_bookmarks::BookmarkModelObserverImpl, and analogous concepts are planned to be introduced in future patches. The patch is mostly mechanical as most observers either didn't use the parameter or should trivially switch to something else. The few exceptions with less trivial changes include: 1. BookmarkUndoService, which temporarily (and until the migration work that motivates this patch is completed) observes multiple BookmarkModel instances. 2. The iOS version of HistoryClientImpl, which now issues more lookups to determine whether a URL has, in fact, been un-bookmarked (instead of smartly issuing the lookup in the "other" BookmarkModel instance). These two lookups will also go away once the very same migration is completed. Change-Id: I48c90b467562bd6c95f603e7f37a0ffa698f4048 Bug: 326185948 --- .../bookmarks/bookmark_model_listener_ios.h | 25 ++++++--------- .../bookmarks/bookmark_model_listener_ios.mm | 31 +++++++------------ 2 files changed, 20 insertions(+), 36 deletions(-) diff --git a/ios/browser/api/bookmarks/bookmark_model_listener_ios.h b/ios/browser/api/bookmarks/bookmark_model_listener_ios.h index a311c7416639..186b9047cfea 100644 --- a/ios/browser/api/bookmarks/bookmark_model_listener_ios.h +++ b/ios/browser/api/bookmarks/bookmark_model_listener_ios.h @@ -11,6 +11,7 @@ #include #include "brave/ios/browser/api/bookmarks/brave_bookmarks_observer.h" +#include "components/bookmarks/browser/bookmark_model.h" #include "components/bookmarks/browser/bookmark_model_observer.h" @interface BookmarkModelListenerImpl : NSObject @@ -28,32 +29,24 @@ class BookmarkModelListener : public bookmarks::BookmarkModelObserver { private: // BookmarksModelListener implementation - void BookmarkModelLoaded(bookmarks::BookmarkModel* model, - bool ids_reassigned) override; - void BookmarkModelBeingDeleted(bookmarks::BookmarkModel* model) override; - void BookmarkNodeMoved(bookmarks::BookmarkModel* model, - const bookmarks::BookmarkNode* old_parent, + void BookmarkModelLoaded(bool ids_reassigned) override; + void BookmarkModelBeingDeleted() override; + void BookmarkNodeMoved(const bookmarks::BookmarkNode* old_parent, size_t old_index, const bookmarks::BookmarkNode* new_parent, size_t new_index) override; - void BookmarkNodeAdded(bookmarks::BookmarkModel* model, - const bookmarks::BookmarkNode* parent, + void BookmarkNodeAdded(const bookmarks::BookmarkNode* parent, size_t index, bool added_by_user) override; - void BookmarkNodeRemoved(bookmarks::BookmarkModel* model, - const bookmarks::BookmarkNode* parent, + void BookmarkNodeRemoved(const bookmarks::BookmarkNode* parent, size_t old_index, const bookmarks::BookmarkNode* node, const std::set& removed_urls) override; - void BookmarkNodeChanged(bookmarks::BookmarkModel* model, - const bookmarks::BookmarkNode* node) override; - void BookmarkNodeFaviconChanged(bookmarks::BookmarkModel* model, - const bookmarks::BookmarkNode* node) override; + void BookmarkNodeChanged(const bookmarks::BookmarkNode* node) override; + void BookmarkNodeFaviconChanged(const bookmarks::BookmarkNode* node) override; void BookmarkNodeChildrenReordered( - bookmarks::BookmarkModel* model, const bookmarks::BookmarkNode* node) override; - void BookmarkAllUserNodesRemoved(bookmarks::BookmarkModel* model, - const std::set& removed_urls) override; + void BookmarkAllUserNodesRemoved(const std::set& removed_urls) override; __strong id observer_; bookmarks::BookmarkModel* model_; // NOT OWNED diff --git a/ios/browser/api/bookmarks/bookmark_model_listener_ios.mm b/ios/browser/api/bookmarks/bookmark_model_listener_ios.mm index e72ea499d4d0..b8a19be3b7eb 100644 --- a/ios/browser/api/bookmarks/bookmark_model_listener_ios.mm +++ b/ios/browser/api/bookmarks/bookmark_model_listener_ios.mm @@ -39,22 +39,19 @@ - (instancetype)initWithNode:(const bookmarks::BookmarkNode*)node model_->RemoveObserver(this); } -void BookmarkModelListener::BookmarkModelLoaded(bookmarks::BookmarkModel* model, - bool ids_reassigned) { +void BookmarkModelListener::BookmarkModelLoaded(bool ids_reassigned) { if ([observer_ respondsToSelector:@selector(bookmarkModelLoaded)]) { [observer_ bookmarkModelLoaded]; } } -void BookmarkModelListener::BookmarkModelBeingDeleted( - bookmarks::BookmarkModel* model) { +void BookmarkModelListener::BookmarkModelBeingDeleted() { // This is an inconsistent state in the application lifecycle. The bookmark // model shouldn't disappear. NOTREACHED(); } void BookmarkModelListener::BookmarkNodeMoved( - bookmarks::BookmarkModel* model, const bookmarks::BookmarkNode* old_parent, size_t old_index, const bookmarks::BookmarkNode* new_parent, @@ -65,11 +62,11 @@ - (instancetype)initWithNode:(const bookmarks::BookmarkNode*)node new_parent->children()[new_index].get(); IOSBookmarkNode* ios_node = [[IOSBookmarkNode alloc] initWithNode:node - model:model]; + model:model_]; IOSBookmarkNode* ios_old_parent = - [[IOSBookmarkNode alloc] initWithNode:old_parent model:model]; + [[IOSBookmarkNode alloc] initWithNode:old_parent model:model_]; IOSBookmarkNode* ios_new_parent = - [[IOSBookmarkNode alloc] initWithNode:new_parent model:model]; + [[IOSBookmarkNode alloc] initWithNode:new_parent model:model_]; [observer_ bookmarkNode:ios_node movedFromParent:ios_old_parent @@ -78,27 +75,25 @@ - (instancetype)initWithNode:(const bookmarks::BookmarkNode*)node } void BookmarkModelListener::BookmarkNodeAdded( - bookmarks::BookmarkModel* model, const bookmarks::BookmarkNode* parent, size_t index, bool added_by_user) { if ([observer_ respondsToSelector:@selector(bookmarkNodeChildrenChanged:)]) { IOSBookmarkNode* ios_parent = [[IOSBookmarkNode alloc] initWithNode:parent - model:model]; + model:model_]; [observer_ bookmarkNodeChildrenChanged:ios_parent]; } } void BookmarkModelListener::BookmarkNodeRemoved( - bookmarks::BookmarkModel* model, const bookmarks::BookmarkNode* parent, size_t old_index, const bookmarks::BookmarkNode* node, const std::set& removed_urls) { IOSBookmarkNode* ios_node = [[IOSBookmarkNode alloc] initWithNode:node - model:model]; + model:model_]; IOSBookmarkNode* ios_parent = [[IOSBookmarkNode alloc] initWithNode:parent - model:model]; + model:model_]; if ([observer_ respondsToSelector:@selector(bookmarkNodeDeleted: fromFolder:)]) { @@ -111,37 +106,33 @@ - (instancetype)initWithNode:(const bookmarks::BookmarkNode*)node } void BookmarkModelListener::BookmarkNodeChanged( - bookmarks::BookmarkModel* model, const bookmarks::BookmarkNode* node) { if ([observer_ respondsToSelector:@selector(bookmarkNodeChanged:)]) { IOSBookmarkNode* ios_node = [[IOSBookmarkNode alloc] initWithNode:node - model:model]; + model:model_]; [observer_ bookmarkNodeChanged:ios_node]; } } void BookmarkModelListener::BookmarkNodeFaviconChanged( - bookmarks::BookmarkModel* model, const bookmarks::BookmarkNode* node) { if ([observer_ respondsToSelector:@selector(bookmarkNodeFaviconChanged:)]) { IOSBookmarkNode* ios_node = [[IOSBookmarkNode alloc] initWithNode:node - model:model]; + model:model_]; [observer_ bookmarkNodeFaviconChanged:ios_node]; } } void BookmarkModelListener::BookmarkNodeChildrenReordered( - bookmarks::BookmarkModel* model, const bookmarks::BookmarkNode* node) { if ([observer_ respondsToSelector:@selector(bookmarkNodeChildrenChanged:)]) { IOSBookmarkNode* ios_node = [[IOSBookmarkNode alloc] initWithNode:node - model:model]; + model:model_]; [observer_ bookmarkNodeChildrenChanged:ios_node]; } } void BookmarkModelListener::BookmarkAllUserNodesRemoved( - bookmarks::BookmarkModel* model, const std::set& removed_urls) { if ([observer_ respondsToSelector:@selector(bookmarkModelRemovedAllNodes)]) { [observer_ bookmarkModelRemovedAllNodes]; From 18515b48c36d96f5716ea0dd374db13eee4d3b3b Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Thu, 29 Feb 2024 14:38:36 +0000 Subject: [PATCH 024/130] [WIP] `kPermissionStorageAccessAPI` deleted upstream Chromium change: https://chromium.googlesource.com/chromium/src/+/735ff7d6dfc670721b18c3eab22f9436f3d75653 commit 735ff7d6dfc670721b18c3eab22f9436f3d75653 Author: Christian Dullweber Date: Tue Feb 27 18:59:34 2024 +0000 StorageAccess: Remove prompts flag The API is fully launched. Removing the flag. Bug: 1478113, 325983966 --- app/feature_defaults_unittest.cc | 1 - chromium_src/components/permissions/features.cc | 1 - 2 files changed, 2 deletions(-) diff --git a/app/feature_defaults_unittest.cc b/app/feature_defaults_unittest.cc index 5a4fe34592d9..e5f2c78c3edf 100644 --- a/app/feature_defaults_unittest.cc +++ b/app/feature_defaults_unittest.cc @@ -256,7 +256,6 @@ TEST(FeatureDefaultsTest, DisabledFeatures) { &permissions::features::kPermissionsPromptSurvey, #endif &permissions::features::kPermissionOnDeviceNotificationPredictions, - &permissions::features::kPermissionStorageAccessAPI, &permissions::features::kShowRelatedWebsiteSetsPermissionGrants, &privacy_sandbox::kCookieSettingsUiAlignment, &privacy_sandbox::kEnforcePrivacySandboxAttestations, diff --git a/chromium_src/components/permissions/features.cc b/chromium_src/components/permissions/features.cc index 6e901f916c2b..bdd0fb7fd997 100644 --- a/chromium_src/components/permissions/features.cc +++ b/chromium_src/components/permissions/features.cc @@ -21,7 +21,6 @@ OVERRIDE_FEATURE_DEFAULT_STATES({{ #if !BUILDFLAG(IS_ANDROID) {kPermissionsPromptSurvey, base::FEATURE_DISABLED_BY_DEFAULT}, #endif - {kPermissionStorageAccessAPI, base::FEATURE_DISABLED_BY_DEFAULT}, {kShowRelatedWebsiteSetsPermissionGrants, base::FEATURE_DISABLED_BY_DEFAULT}, }}); From 3f54a899a3f748640848123aff69da4f9a94ba03 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Fri, 1 Mar 2024 17:33:12 -0500 Subject: [PATCH 025/130] Restore kPermissionStorageAccessAPI flag functionality. --- .../BraveSiteSettingsDelegate.java | 11 ++ .../settings/brave_overrides/privacy_page.ts | 10 + .../brave_overrides/site_settings_page.ts | 4 + browser/resources/settings/brave_routes.ts | 6 +- browser/storage_access_api/BUILD.gn | 22 +++ browser/storage_access_api/api_browsertest.cc | 173 ++++++++++++++++++ ...storage_access_grant_permission_context.cc | 14 ++ .../core/browser/content_settings_registry.cc | 27 +++ .../components/page_info/page_info.cc | 15 +- chromium_src/components/page_info/page_info.h | 34 ++++ .../permission_prompt_android.cc | 32 ++++ .../permission_prompt_android.h | 30 ++- .../permissions/permission_request.cc | 35 +++- .../permissions/permission_request.h | 12 +- .../BraveWebsitePermissionsFetcher.java | 2 + ...e_access_grant_permission_context.cc.patch | 12 ++ test/BUILD.gn | 1 + 17 files changed, 435 insertions(+), 5 deletions(-) create mode 100644 browser/storage_access_api/BUILD.gn create mode 100644 browser/storage_access_api/api_browsertest.cc create mode 100644 chromium_src/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc create mode 100644 chromium_src/components/page_info/page_info.h create mode 100644 chromium_src/components/permissions/android/permission_prompt/permission_prompt_android.cc create mode 100644 patches/chrome-browser-storage_access_api-storage_access_grant_permission_context.cc.patch diff --git a/android/java/org/chromium/chrome/browser/site_settings/BraveSiteSettingsDelegate.java b/android/java/org/chromium/chrome/browser/site_settings/BraveSiteSettingsDelegate.java index 087ac406c736..55cba0d26498 100644 --- a/android/java/org/chromium/chrome/browser/site_settings/BraveSiteSettingsDelegate.java +++ b/android/java/org/chromium/chrome/browser/site_settings/BraveSiteSettingsDelegate.java @@ -10,6 +10,7 @@ import org.chromium.base.Callback; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory; import org.chromium.url.GURL; public class BraveSiteSettingsDelegate extends ChromeSiteSettingsDelegate { @@ -26,4 +27,14 @@ public void getFaviconImageForURL(GURL faviconUrl, Callback callback) super.getFaviconImageForURL(faviconUrl, callback); } + + @Override + public boolean isCategoryVisible(@SiteSettingsCategory.Type int type) { + switch (type) { + case SiteSettingsCategory.Type.STORAGE_ACCESS: + return false; + default: + return super.isCategoryVisible(type); + } + } } diff --git a/browser/resources/settings/brave_overrides/privacy_page.ts b/browser/resources/settings/brave_overrides/privacy_page.ts index e3c86fbd8687..711e647c7ffc 100644 --- a/browser/resources/settings/brave_overrides/privacy_page.ts +++ b/browser/resources/settings/brave_overrides/privacy_page.ts @@ -335,5 +335,15 @@ RegisterPolymerTemplateModifications({ privacyGuideLinkRow.setAttribute('hidden', 'true') } } + + const sotrageAccessTemplate = templateContent.querySelector( + `template[is=dom-if][route-path='/content/storageAccess'`) + if (!sotrageAccessTemplate) { + console.error( + '[Brave Settings Overrides] Could not find template with' + + ' route-path=/content/storageAccess on privacy page.') + } else { + sotrageAccessTemplate.remove() + } }, }) diff --git a/browser/resources/settings/brave_overrides/site_settings_page.ts b/browser/resources/settings/brave_overrides/site_settings_page.ts index 21697e120495..10eadb61863c 100644 --- a/browser/resources/settings/brave_overrides/site_settings_page.ts +++ b/browser/resources/settings/brave_overrides/site_settings_page.ts @@ -16,6 +16,9 @@ import {ContentSettingsTypes} from '../site_settings/constants.js' import {SettingsSiteSettingsPageElement} from '../site_settings_page/site_settings_page.js' const PERMISSIONS_BASIC_REMOVE_IDS = [ + ContentSettingsTypes.STORAGE_ACCESS, +] +const PERMISSIONS_ADVANCED_REMOVE_IDS = [ ContentSettingsTypes.BACKGROUND_SYNC, ] const CONTENT_ADVANCED_REMOVE_IDS = [ @@ -81,6 +84,7 @@ RegisterPolymerComponentReplacement( if (!lists_.permissionsAdvanced) { console.error('[Brave Settings Overrides] did not get lists_.permissionsAdvanced data') } else { + lists_.permissionsAdvanced = lists_.permissionsAdvanced.filter(item => !PERMISSIONS_ADVANCED_REMOVE_IDS.includes(item.id)) if (!loadTimeData.getBoolean('isIdleDetectionFeatureEnabled')) { let indexForIdleDetection = lists_.permissionsAdvanced.findIndex(item => item.id === ContentSettingsTypes.IDLE_DETECTION) if (indexForIdleDetection === -1) { diff --git a/browser/resources/settings/brave_routes.ts b/browser/resources/settings/brave_routes.ts index d5b8a36a52b7..dbe5e6eaacdf 100644 --- a/browser/resources/settings/brave_routes.ts +++ b/browser/resources/settings/brave_routes.ts @@ -105,7 +105,7 @@ export default function addBraveRoutes(r: Partial) { } else if (!isGuest) { console.error('[Brave Settings Overrides] Could not move autofill route to advanced route', r) } - // Deleted performance menu and system menu includes it instead. + // Delete performance menu - system menu includes it instead. if (r.PERFORMANCE) { delete r.PERFORMANCE } @@ -115,4 +115,8 @@ export default function addBraveRoutes(r: Partial) { } else if (!isGuest) { console.error('[Brave Settings Overrides] Could not move safety check route to advanced route', r) } + // Delete storage access + if (r.SITE_SETTINGS_STORAGE_ACCESS) { + delete r.SITE_SETTINGS_STORAGE_ACCESS + } } diff --git a/browser/storage_access_api/BUILD.gn b/browser/storage_access_api/BUILD.gn new file mode 100644 index 000000000000..a3dab103f2ca --- /dev/null +++ b/browser/storage_access_api/BUILD.gn @@ -0,0 +1,22 @@ +# Copyright (c) 2024 The Brave Authors. All rights reserved. +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at https://mozilla.org/MPL/2.0/. */ + +source_set("browser_tests") { + assert(!is_android) + + testonly = true + defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] + + sources = [ "api_browsertest.cc" ] + + deps = [ + "//base", + "//chrome/browser", + "//chrome/browser/policy:test_support", + "//chrome/browser/ui", + "//chrome/test:test_support_ui", + "//components/permissions:test_support", + ] +} diff --git a/browser/storage_access_api/api_browsertest.cc b/browser/storage_access_api/api_browsertest.cc new file mode 100644 index 000000000000..68bd82a9b18f --- /dev/null +++ b/browser/storage_access_api/api_browsertest.cc @@ -0,0 +1,173 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#include + +#include "base/functional/bind.h" +#include "base/path_service.h" +#include "base/strings/strcat.h" +#include "base/strings/string_piece.h" +#include "chrome/browser/policy/policy_test_utils.h" +#include "chrome/browser/profiles/profile.h" +#include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/tabs/tab_strip_model.h" +#include "chrome/test/base/in_process_browser_test.h" +#include "chrome/test/base/ui_test_utils.h" +#include "components/content_settings/core/browser/cookie_settings.h" +#include "components/content_settings/core/common/pref_names.h" +#include "components/permissions/test/permission_request_observer.h" +#include "components/prefs/pref_service.h" +#include "content/public/browser/render_frame_host.h" +#include "content/public/common/content_paths.h" +#include "content/public/test/browser_test.h" +#include "content/public/test/browser_test_utils.h" +#include "net/dns/mock_host_resolver.h" +#include "net/test/embedded_test_server/embedded_test_server.h" +#include "net/test/test_data_directory.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace { + +constexpr char kHostA[] = "a.test"; +constexpr char kHostB[] = "b.test"; + +// Path for URL of custom response +constexpr char kEchoCookiesWithCorsPath[] = "/echocookieswithcors"; + +// Responds to a request to /echocookieswithcors with the cookies that were +// sent with the request. We can't use the default handler /echoheader?Cookie +// here, because it doesn't send the appropriate Access-Control-Allow-Origin +// and Access-Control-Allow-Credentials headers (which are required for this +// to work for cross-origin requests in the tests). +std::unique_ptr +HandleEchoCookiesWithCorsRequest(const net::test_server::HttpRequest& request) { + if (request.relative_url != kEchoCookiesWithCorsPath) { + return nullptr; + } + auto http_response = std::make_unique(); + std::string content = "None"; + // Get the 'Cookie' header that was sent in the request. + if (auto it = request.headers.find(net::HttpRequestHeaders::kCookie); + it != request.headers.end()) { + content = it->second; + } + + http_response->set_code(net::HTTP_OK); + http_response->set_content_type("text/plain"); + // Set the cors enabled headers. + if (auto it = request.headers.find(net::HttpRequestHeaders::kOrigin); + it != request.headers.end()) { + http_response->AddCustomHeader("Access-Control-Allow-Origin", it->second); + http_response->AddCustomHeader("Vary", "origin"); + http_response->AddCustomHeader("Access-Control-Allow-Credentials", "true"); + } + http_response->set_content(content); + + return http_response; +} + +std::string CookieAttributes(std::string_view domain) { + return base::StrCat({";SameSite=None;Secure;Domain=", domain, ";Path=/"}); +} + +} // namespace + +// The test is based on Chromium's StorageAccessAPIBrowserTest. +class StorageAccessAPIBrowserTest : public policy::PolicyTest { + public: + StorageAccessAPIBrowserTest() + : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {} + + void SetUpOnMainThread() override { + host_resolver()->AddRule("*", "127.0.0.1"); + base::FilePath path = base::PathService::CheckedGet(content::DIR_TEST_DATA); + https_server_.SetSSLConfig(net::EmbeddedTestServer::CERT_TEST_NAMES); + https_server_.ServeFilesFromDirectory(path); + https_server_.AddDefaultHandlers(GetChromeTestDataDir()); + https_server_.RegisterRequestHandler( + base::BindRepeating(&HandleEchoCookiesWithCorsRequest)); + ASSERT_TRUE(https_server_.Start()); + + // All the sites used during the test should have a cookie. + SetCrossSiteCookieOnDomain(kHostA); + SetCrossSiteCookieOnDomain(kHostB); + + // The test invokes document.requestStorageAccess from a kHostB + // iframe. We pre-seed that site with user interaction, to avoid being + // blocked by the top-level user interaction heuristic. + EnsureUserInteractionOn(kHostB); + } + + void SetCrossSiteCookieOnDomain(std::string_view domain) { + GURL domain_url = GetURL(domain); + std::string cookie = base::StrCat({"cross-site=", domain}); + content::SetCookie(browser()->profile(), domain_url, + base::StrCat({cookie, CookieAttributes(domain)})); + ASSERT_THAT(content::GetCookies(browser()->profile(), domain_url), + testing::HasSubstr(cookie)); + } + + GURL GetURL(std::string_view host) { return https_server_.GetURL(host, "/"); } + + void EnsureUserInteractionOn(std::string_view host) { + ASSERT_TRUE(ui_test_utils::NavigateToURL( + browser(), https_server_.GetURL(host, "/empty.html"))); + // ExecJs runs with a synthetic user interaction (by default), which is all + // we need, so our script is a no-op. + ASSERT_TRUE(content::ExecJs( + browser()->tab_strip_model()->GetActiveWebContents(), "")); + } + + void SetBlockThirdPartyCookies() { + browser()->profile()->GetPrefs()->SetInteger( + prefs::kCookieControlsMode, + static_cast( + content_settings::CookieControlsMode::kBlockThirdParty)); + } + + void NavigateToPageWithFrame(const std::string& host, + Browser* browser_ptr = nullptr) { + GURL main_url(https_server_.GetURL(host, "/iframe.html")); + ASSERT_TRUE(ui_test_utils::NavigateToURL( + browser_ptr ? browser_ptr : browser(), main_url)); + } + + void NavigateFrameTo(const GURL& url) { + content::WebContents* web_contents = + browser()->tab_strip_model()->GetActiveWebContents(); + EXPECT_TRUE(NavigateIframeToURL(web_contents, "test", url)); + } + + GURL EchoCookiesURL(std::string_view host) { + return https_server_.GetURL(host, "/echoheader?cookie"); + } + + content::RenderFrameHost* GetFrame() { + return ChildFrameAt(GetPrimaryMainFrame(), 0); + } + + content::RenderFrameHost* GetPrimaryMainFrame() { + content::WebContents* web_contents = + browser()->tab_strip_model()->GetActiveWebContents(); + return web_contents->GetPrimaryMainFrame(); + } + + private: + net::test_server::EmbeddedTestServer https_server_; +}; + +IN_PROC_BROWSER_TEST_F(StorageAccessAPIBrowserTest, EnsureNoPrompt) { + SetBlockThirdPartyCookies(); + NavigateToPageWithFrame(kHostA); + NavigateFrameTo(EchoCookiesURL(kHostB)); + + // Because we set storage-access content setting to be CONTENT_SETTING_BLOCK + // by default, we should not see a prompt. + permissions::PermissionRequestObserver pre_observer( + browser()->tab_strip_model()->GetActiveWebContents()); + ASSERT_FALSE(pre_observer.request_shown()); + ASSERT_FALSE(content::ExecJs(GetFrame(), "document.requestStorageAccess()")); + ASSERT_FALSE(pre_observer.request_shown()); +} diff --git a/chromium_src/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc b/chromium_src/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc new file mode 100644 index 000000000000..9c6c63b18577 --- /dev/null +++ b/chromium_src/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc @@ -0,0 +1,14 @@ +/* Copyright (c) 2019 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#define BRAVE_STORAGE_ACCESS_GRANT_PERMISSION_CONTEXT_CHECK_FOR_AUTO_GRANT_OR_AUTO_DENIAL \ + NotifyPermissionSetInternal( \ + request_data.id, request_data.requesting_origin, \ + request_data.embedding_origin, std::move(callback), /*persist=*/true, \ + CONTENT_SETTING_BLOCK, RequestOutcome::kDeniedByFirstPartySet); \ + return; + +#include "src/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc" +#undef BRAVE_STORAGE_ACCESS_GRANT_PERMISSION_CONTEXT_CHECK_FOR_AUTO_GRANT_OR_AUTO_DENIAL diff --git a/chromium_src/components/content_settings/core/browser/content_settings_registry.cc b/chromium_src/components/content_settings/core/browser/content_settings_registry.cc index b9a5763d4cb2..f7ff8e6b08aa 100644 --- a/chromium_src/components/content_settings/core/browser/content_settings_registry.cc +++ b/chromium_src/components/content_settings/core/browser/content_settings_registry.cc @@ -237,6 +237,33 @@ void ContentSettingsRegistry::BraveInit() { ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE, ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); + // Disable storage access by default (we used to disable feature flag + // kPermissionStorageAccessAPI, but it went away in cr124). + content_settings_info_.erase(ContentSettingsType::STORAGE_ACCESS); + website_settings_registry_->UnRegister(ContentSettingsType::STORAGE_ACCESS); + content_settings_info_.erase(ContentSettingsType::TOP_LEVEL_STORAGE_ACCESS); + website_settings_registry_->UnRegister( + ContentSettingsType::TOP_LEVEL_STORAGE_ACCESS); + Register(ContentSettingsType::STORAGE_ACCESS, "storage-access", + CONTENT_SETTING_BLOCK, WebsiteSettingsInfo::UNSYNCABLE, + /*allowlisted_primary_schemes=*/{}, + /*valid_settings=*/ + {CONTENT_SETTING_ALLOW, CONTENT_SETTING_ASK, CONTENT_SETTING_BLOCK}, + WebsiteSettingsInfo::REQUESTING_AND_TOP_SCHEMEFUL_SITE_SCOPE, + WebsiteSettingsRegistry::ALL_PLATFORMS, + ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE, + ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS); + Register(ContentSettingsType::TOP_LEVEL_STORAGE_ACCESS, + "top-level-storage-access", CONTENT_SETTING_BLOCK, + WebsiteSettingsInfo::UNSYNCABLE, + /*allowlisted_primary_schemes=*/{}, + /*valid_settings=*/ + {CONTENT_SETTING_ALLOW, CONTENT_SETTING_ASK, CONTENT_SETTING_BLOCK}, + WebsiteSettingsInfo::REQUESTING_AND_TOP_ORIGIN_SCOPE, + WebsiteSettingsRegistry::ALL_PLATFORMS, + ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE, + ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS); + website_settings_registry_->UnRegister(ContentSettingsType::HTTP_ALLOWED); website_settings_registry_->Register( ContentSettingsType::HTTP_ALLOWED, "http-allowed", base::Value(), diff --git a/chromium_src/components/page_info/page_info.cc b/chromium_src/components/page_info/page_info.cc index 6b722ddfd21a..2df8409d75e1 100644 --- a/chromium_src/components/page_info/page_info.cc +++ b/chromium_src/components/page_info/page_info.cc @@ -1,7 +1,11 @@ /* Copyright (c) 2019 The Brave Authors. All rights reserved. * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#include "components/page_info/page_info.h" + +#define PageInfo PageInfo_ChromiumImpl #define BRAVE_PAGE_INFO_SHOULD_SHOW_PERMISSION \ if (!delegate_->BraveShouldShowPermission(info.type)) \ @@ -9,3 +13,12 @@ #include "src/components/page_info/page_info.cc" #undef BRAVE_PAGE_INFO_SHOULD_SHOW_PERMISSION +#undef PageInfo + +std::set PageInfo::GetTwoSitePermissionRequesters( + ContentSettingsType type) { + if (type == ContentSettingsType::STORAGE_ACCESS) { + return {}; + } + return PageInfo_ChromiumImpl::GetTwoSitePermissionRequesters(type); +} diff --git a/chromium_src/components/page_info/page_info.h b/chromium_src/components/page_info/page_info.h new file mode 100644 index 000000000000..b61f66113b41 --- /dev/null +++ b/chromium_src/components/page_info/page_info.h @@ -0,0 +1,34 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#ifndef BRAVE_CHROMIUM_SRC_COMPONENTS_PAGE_INFO_PAGE_INFO_H_ +#define BRAVE_CHROMIUM_SRC_COMPONENTS_PAGE_INFO_PAGE_INFO_H_ + +#define PageInfo PageInfo_ChromiumImpl + +#define GetTwoSitePermissionRequesters \ + GetTwoSitePermissionRequesters_Unused(); \ + \ + protected: \ + virtual std::set GetTwoSitePermissionRequesters + +#include "src/components/page_info/page_info.h" // IWYU pragma: export +#undef GetTwoSitePermissionRequesters +#undef PageInfo + +class PageInfo : public PageInfo_ChromiumImpl { + public: + using PageInfo_ChromiumImpl::PageInfo_ChromiumImpl; + PageInfo(const PageInfo&) = delete; + PageInfo& operator=(const PageInfo&) = delete; + + ~PageInfo() override = default; + + private: + std::set GetTwoSitePermissionRequesters( + ContentSettingsType type) override; +}; + +#endif // BRAVE_CHROMIUM_SRC_COMPONENTS_PAGE_INFO_PAGE_INFO_H_ diff --git a/chromium_src/components/permissions/android/permission_prompt/permission_prompt_android.cc b/chromium_src/components/permissions/android/permission_prompt/permission_prompt_android.cc new file mode 100644 index 000000000000..debdf20ae7fc --- /dev/null +++ b/chromium_src/components/permissions/android/permission_prompt/permission_prompt_android.cc @@ -0,0 +1,32 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#include "components/permissions/android/permission_prompt/permission_prompt_android.h" + +#include "base/feature_list.h" +#include "components/permissions/features.h" + +#define PermissionPromptAndroid PermissionPromptAndroid_ChromiumImpl +#include "src/components/permissions/android/permission_prompt/permission_prompt_android.cc" +#undef PermissionPromptAndroid + +namespace permissions { + +int PermissionPromptAndroid::GetIconId() const { + const std::vector>& requests = + delegate()->Requests(); + if (requests.size() == 1) { + if (requests[0]->request_type() == RequestType::kStorageAccess) { + return permissions::GetIconId(requests[0]->request_type()); + } + } + return PermissionPromptAndroid_ChromiumImpl::GetIconId(); +} + +bool PermissionPromptAndroid::ShouldUseRequestingOriginFavicon() const { + return false; +} + +} // namespace permissions diff --git a/chromium_src/components/permissions/android/permission_prompt/permission_prompt_android.h b/chromium_src/components/permissions/android/permission_prompt/permission_prompt_android.h index 44e139c3d8db..df27d9fc525a 100644 --- a/chromium_src/components/permissions/android/permission_prompt/permission_prompt_android.h +++ b/chromium_src/components/permissions/android/permission_prompt/permission_prompt_android.h @@ -1,11 +1,18 @@ /* Copyright (c) 2021 The Brave Authors. All rights reserved. * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ + * You can obtain one at https://mozilla.org/MPL/2.0/. */ #ifndef BRAVE_CHROMIUM_SRC_COMPONENTS_PERMISSIONS_ANDROID_PERMISSION_PROMPT_PERMISSION_PROMPT_ANDROID_H_ #define BRAVE_CHROMIUM_SRC_COMPONENTS_PERMISSIONS_ANDROID_PERMISSION_PROMPT_PERMISSION_PROMPT_ANDROID_H_ +#include "components/permissions/request_type.h" + +#define PermissionPromptAndroid PermissionPromptAndroid_ChromiumImpl +#define GetIconId virtual GetIconId +#define ShouldUseRequestingOriginFavicon \ + virtual ShouldUseRequestingOriginFavicon + #define PermissionCount \ NotUsed() { return 0; } \ Delegate* delegate() const { return delegate_; } \ @@ -14,5 +21,26 @@ #include "src/components/permissions/android/permission_prompt/permission_prompt_android.h" // IWYU pragma: export #undef PermissionCount +#undef ShouldUseRequestingOriginFavicon +#undef GetIconId +#undef PermissionPromptAndroid + +namespace permissions { + +class PermissionPromptAndroid : public PermissionPromptAndroid_ChromiumImpl { + public: + using PermissionPromptAndroid_ChromiumImpl:: + PermissionPromptAndroid_ChromiumImpl; + + PermissionPromptAndroid(const PermissionPromptAndroid&) = delete; + PermissionPromptAndroid& operator=(const PermissionPromptAndroid&) = delete; + + ~PermissionPromptAndroid() override = default; + + int GetIconId() const override; + bool ShouldUseRequestingOriginFavicon() const override; +}; + +} // namespace permissions #endif // BRAVE_CHROMIUM_SRC_COMPONENTS_PERMISSIONS_ANDROID_PERMISSION_PROMPT_PERMISSION_PROMPT_ANDROID_H_ diff --git a/chromium_src/components/permissions/permission_request.cc b/chromium_src/components/permissions/permission_request.cc index 276b23c557dd..720378ab40c6 100644 --- a/chromium_src/components/permissions/permission_request.cc +++ b/chromium_src/components/permissions/permission_request.cc @@ -1,7 +1,7 @@ /* Copyright (c) 2021 The Brave Authors. All rights reserved. * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ + * You can obtain one at https://mozilla.org/MPL/2.0/. */ #include #include @@ -120,6 +120,39 @@ PermissionRequest::PermissionRequest( PermissionRequest::~PermissionRequest() = default; +#if BUILDFLAG(IS_ANDROID) +PermissionRequest::AnnotatedMessageText +PermissionRequest::GetDialogAnnotatedMessageText( + const GURL& embedding_origin) const { + if (request_type() != RequestType::kStorageAccess) { + return PermissionRequest_ChromiumImpl::GetDialogAnnotatedMessageText( + embedding_origin); + } + std::u16string requesting_origin_string_formatted = + url_formatter::FormatUrlForSecurityDisplay( + requesting_origin(), + url_formatter::SchemeDisplay::OMIT_CRYPTOGRAPHIC); + std::u16string embedding_origin_string_formatted = + url_formatter::FormatUrlForSecurityDisplay( + embedding_origin, url_formatter::SchemeDisplay::OMIT_CRYPTOGRAPHIC); + return AnnotatedMessageText( + l10n_util::GetStringFUTF16(IDS_STORAGE_ACCESS_INFOBAR_TEXT, + requesting_origin_string_formatted, + embedding_origin_string_formatted), + /*bolded_ranges=*/{}); +} + +// static +PermissionRequest::AnnotatedMessageText +PermissionRequest::GetDialogAnnotatedMessageText( + std::u16string requesting_origin_formatted_for_display, + int message_id, + bool format_origin_bold) { + return PermissionRequest_ChromiumImpl::GetDialogAnnotatedMessageText( + requesting_origin_formatted_for_display, message_id, format_origin_bold); +} +#endif + bool PermissionRequest::SupportsLifetime() const { const RequestType kExcludedTypes[] = { RequestType::kDiskQuota, diff --git a/chromium_src/components/permissions/permission_request.h b/chromium_src/components/permissions/permission_request.h index 6af5d77cddf4..ade499f0a6d6 100644 --- a/chromium_src/components/permissions/permission_request.h +++ b/chromium_src/components/permissions/permission_request.h @@ -1,7 +1,7 @@ /* Copyright (c) 2021 The Brave Authors. All rights reserved. * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ + * You can obtain one at https://mozilla.org/MPL/2.0/. */ #ifndef BRAVE_CHROMIUM_SRC_COMPONENTS_PERMISSIONS_PERMISSION_REQUEST_H_ #define BRAVE_CHROMIUM_SRC_COMPONENTS_PERMISSIONS_PERMISSION_REQUEST_H_ @@ -37,6 +37,16 @@ class PermissionRequest : public PermissionRequest_ChromiumImpl { ~PermissionRequest() override; +#if BUILDFLAG(IS_ANDROID) + AnnotatedMessageText GetDialogAnnotatedMessageText( + const GURL& embedding_origin) const override; + + static AnnotatedMessageText GetDialogAnnotatedMessageText( + std::u16string requesting_origin_formatted_for_display, + int message_id, + bool format_origin_bold); +#endif + bool SupportsLifetime() const; void SetLifetime(std::optional lifetime); const std::optional& GetLifetime() const; diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BraveWebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BraveWebsitePermissionsFetcher.java index 4945eaa73a68..87748475b04a 100644 --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BraveWebsitePermissionsFetcher.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BraveWebsitePermissionsFetcher.java @@ -16,6 +16,8 @@ public static WebsitePermissionsType getPermissionsType( case ContentSettingsType.BRAVE_GOOGLE_SIGN_IN: case ContentSettingsType.BRAVE_LOCALHOST_ACCESS: return WebsitePermissionsType.CONTENT_SETTING_EXCEPTION; + case ContentSettingsType.STORAGE_ACCESS: + return null; } return WebsitePermissionsFetcher.getPermissionsType(contentSettingsType); } diff --git a/patches/chrome-browser-storage_access_api-storage_access_grant_permission_context.cc.patch b/patches/chrome-browser-storage_access_api-storage_access_grant_permission_context.cc.patch new file mode 100644 index 000000000000..ecb8a6dc0dd0 --- /dev/null +++ b/patches/chrome-browser-storage_access_api-storage_access_grant_permission_context.cc.patch @@ -0,0 +1,12 @@ +diff --git a/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc b/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc +index 566b8c287faa53ff54ecbcc8a7979bb02b9c8bb5..910cec5d2d94e00fa7033bc9d882844681928bd7 100644 +--- a/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc ++++ b/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc +@@ -335,6 +335,7 @@ void StorageAccessGrantPermissionContext::CheckForAutoGrantOrAutoDenial( + break; + } + } ++ BRAVE_STORAGE_ACCESS_GRANT_PERMISSION_CONTEXT_CHECK_FOR_AUTO_GRANT_OR_AUTO_DENIAL // NOLINT + + // Get all of our implicit grants and see which ones apply to our + // |requesting_origin|. diff --git a/test/BUILD.gn b/test/BUILD.gn index eeeef6cb5a0c..c7a609b2d149 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -1125,6 +1125,7 @@ test("brave_browser_tests") { "//brave/app/theme:brave_theme_resources_grit", "//brave/app/theme:brave_unscaled_resources_grit", "//brave/browser/sharing_hub:browser_tests", + "//brave/browser/storage_access_api:browser_tests", "//brave/browser/ui/whats_new:browser_test", "//brave/components/brave_wallet/browser:test_support", "//chrome/browser/apps/app_service:app_service", From 000869c9c64bb8eee78a4dcee3f17dd0e8102c7b Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Thu, 29 Feb 2024 13:42:48 -0500 Subject: [PATCH 026/130] [Android] Move AccessibilitySettings to //chrome Chromium change: https://source.chromium.org/chromium/chromium/src/+/569c01f6e22852817a35e507bf73739e6f4649c4 [Accessibility Settings] Move AccessibilitySettings to embedder This continues the work of removing complexity from the accessibility settings flow. In this CL we move AccessibilitySettings and the related TextScalePreference files to the //chrome/ package. AX-Relnotes: N/A Bug: 326608838 --- android/brave_java_sources.gni | 1 + .../settings}/BraveAccessibilitySettings.java | 2 +- .../settings/BraveMainPreferencesBase.java | 2 +- build/android/config.gni | 1 - .../browser_ui/accessibility/android/BUILD.gn | 18 ------------------ 5 files changed, 3 insertions(+), 21 deletions(-) rename {components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility => android/java/org/chromium/chrome/browser/accessibility/settings}/BraveAccessibilitySettings.java (94%) delete mode 100644 components/browser_ui/accessibility/android/BUILD.gn diff --git a/android/brave_java_sources.gni b/android/brave_java_sources.gni index 0b344bfa735c..281a1a1c8c0c 100644 --- a/android/brave_java_sources.gni +++ b/android/brave_java_sources.gni @@ -43,6 +43,7 @@ brave_java_sources = [ "../../brave/android/java/org/chromium/chrome/browser/DormantUsersEngagementDialogFragment.java", "../../brave/android/java/org/chromium/chrome/browser/InternetConnection.java", "../../brave/android/java/org/chromium/chrome/browser/QRCodeShareDialogFragment.java", + "../../brave/android/java/org/chromium/chrome/browser/accessibility/settings/BraveAccessibilitySettings.java", "../../brave/android/java/org/chromium/chrome/browser/app/BraveActivity.java", "../../brave/android/java/org/chromium/chrome/browser/app/appmenu/AppMenuIconRowFooter.java", "../../brave/android/java/org/chromium/chrome/browser/app/appmenu/BraveAppMenuPropertiesDelegateImpl.java", diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/BraveAccessibilitySettings.java b/android/java/org/chromium/chrome/browser/accessibility/settings/BraveAccessibilitySettings.java similarity index 94% rename from components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/BraveAccessibilitySettings.java rename to android/java/org/chromium/chrome/browser/accessibility/settings/BraveAccessibilitySettings.java index 4ba6b0e8c13f..143b0e97b406 100644 --- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/BraveAccessibilitySettings.java +++ b/android/java/org/chromium/chrome/browser/accessibility/settings/BraveAccessibilitySettings.java @@ -3,7 +3,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at https://mozilla.org/MPL/2.0/. */ -package org.chromium.components.browser_ui.accessibility; +package org.chromium.chrome.browser.accessibility.settings; import android.os.Bundle; diff --git a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java index bea40084d97d..0a3060f6c987 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java @@ -19,6 +19,7 @@ import org.chromium.base.ContextUtils; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveLaunchIntentDispatcher; +import org.chromium.chrome.browser.accessibility.settings.BraveAccessibilitySettings; import org.chromium.chrome.browser.brave_leo.BraveLeoPrefUtils; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.homepage.settings.BraveHomepageSettings; @@ -39,7 +40,6 @@ import org.chromium.chrome.browser.vpn.utils.BraveVpnPrefUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; import org.chromium.chrome.browser.widget.quickactionsearchandbookmark.utils.BraveSearchWidgetUtils; -import org.chromium.components.browser_ui.accessibility.BraveAccessibilitySettings; import org.chromium.components.browser_ui.settings.ChromeBasePreference; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.SettingsUtils; diff --git a/build/android/config.gni b/build/android/config.gni index 5373efeba4a9..2e07e5752a51 100644 --- a/build/android/config.gni +++ b/build/android/config.gni @@ -35,7 +35,6 @@ brave_chrome_java_deps = [ "//brave/components/brave_rewards/common/mojom:mojom_java", "//brave/components/brave_shields/core/common:mojom_java", "//brave/components/brave_wallet/common:mojom_java", - "//brave/components/browser_ui/accessibility/android:java", "//brave/components/browser_ui/site_settings/android:java", "//brave/components/misc_metrics/common:mojom_java", "//brave/components/playlist/common/mojom:mojom_java", diff --git a/components/browser_ui/accessibility/android/BUILD.gn b/components/browser_ui/accessibility/android/BUILD.gn deleted file mode 100644 index 48905c0d0ae2..000000000000 --- a/components/browser_ui/accessibility/android/BUILD.gn +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright (c) 2023 The Brave Authors. All rights reserved. -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this file, -# You can obtain one at https://mozilla.org/MPL/2.0/. - -import("//build/config/android/rules.gni") - -android_library("java") { - sources = [ "java/src/org/chromium/components/browser_ui/accessibility/BraveAccessibilitySettings.java" ] - deps = [ - "//base:base_java", - "//build/android:build_java", - "//chrome/browser/flags:java", - "//components/browser_ui/accessibility/android:lib_java", - "//components/browser_ui/settings/android:java", - "//third_party/androidx:androidx_preference_preference_java", - ] -} From 223871d66c17f2a207a140b202ec42f6c9b7f8c0 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Thu, 29 Feb 2024 16:45:09 -0500 Subject: [PATCH 027/130] [Android] OpenHistoryClustersDelegate was removed Chromium change: https://source.chromium.org/chromium/chromium/src/+/c26d1a73c2ac760eec43e2e1707eb20d1277caff [Journeys] Clean up clank journeys part 2 This change removes journeys code from the omnibox Bug: 324864434 --- .../omnibox/BraveLocationBarCoordinator.java | 3 -- .../BraveAutocompleteMediator.java | 29 +++++++++++++------ .../browser/toolbar/BraveToolbarManager.java | 1 - .../BraveDropdownItemViewInfoListBuilder.java | 7 ++--- 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarCoordinator.java b/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarCoordinator.java index b36df0bda7ac..5cefeb7e7c22 100644 --- a/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarCoordinator.java +++ b/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarCoordinator.java @@ -23,7 +23,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator.PageInfoAction; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; -import org.chromium.chrome.browser.omnibox.suggestions.history_clusters.HistoryClustersProcessor.OpenHistoryClustersDelegate; import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManager; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegate; @@ -87,7 +86,6 @@ public BraveLocationBarCoordinator( @NonNull OmniboxSuggestionsDropdownScrollListener omniboxSuggestionsDropdownScrollListener, - @Nullable OpenHistoryClustersDelegate openHistoryClustersDelegate, @Nullable ObservableSupplier tabModelSelectorSupplier, boolean forcePhoneStyleOmnibox, @Nullable View baseChromeLayout) { @@ -120,7 +118,6 @@ public BraveLocationBarCoordinator( reportExceptionCallback, backPressManager, omniboxSuggestionsDropdownScrollListener, - openHistoryClustersDelegate, tabModelSelectorSupplier, forcePhoneStyleOmnibox, baseChromeLayout); diff --git a/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediator.java b/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediator.java index c98aef71e3d9..d227962c1e9a 100644 --- a/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediator.java +++ b/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediator.java @@ -19,7 +19,6 @@ import org.chromium.chrome.browser.omnibox.LocationBarDataProvider; import org.chromium.chrome.browser.omnibox.UrlBarEditingTextStateProvider; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; -import org.chromium.chrome.browser.omnibox.suggestions.history_clusters.HistoryClustersProcessor.OpenHistoryClustersDelegate; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.share.ShareDelegate; @@ -47,11 +46,13 @@ class BraveAutocompleteMediator extends AutocompleteMediator /** Will be deleted in bytecode, value from the parent class will be used instead. */ private DropdownItemViewInfoListBuilder mDropdownViewInfoListBuilder; - public BraveAutocompleteMediator(@NonNull Context context, + public BraveAutocompleteMediator( + @NonNull Context context, @NonNull AutocompleteControllerProvider controllerProvider, @NonNull AutocompleteDelegate delegate, @NonNull UrlBarEditingTextStateProvider textProvider, - @NonNull PropertyModel listPropertyModel, @NonNull Handler handler, + @NonNull PropertyModel listPropertyModel, + @NonNull Handler handler, @NonNull Supplier modalDialogManagerSupplier, @NonNull Supplier activityTabSupplier, @Nullable Supplier shareDelegateSupplier, @@ -59,12 +60,22 @@ public BraveAutocompleteMediator(@NonNull Context context, @NonNull Callback bringTabToFrontCallback, @NonNull Supplier tabWindowManagerSupplier, @NonNull BookmarkState bookmarkState, - @NonNull OmniboxActionDelegate omniboxActionDelegate, - @NonNull OpenHistoryClustersDelegate openHistoryClustersDelegate) { - super(context, controllerProvider, delegate, textProvider, listPropertyModel, handler, - modalDialogManagerSupplier, activityTabSupplier, shareDelegateSupplier, - locationBarDataProvider, bringTabToFrontCallback, tabWindowManagerSupplier, - bookmarkState, omniboxActionDelegate, openHistoryClustersDelegate); + @NonNull OmniboxActionDelegate omniboxActionDelegate) { + super( + context, + controllerProvider, + delegate, + textProvider, + listPropertyModel, + handler, + modalDialogManagerSupplier, + activityTabSupplier, + shareDelegateSupplier, + locationBarDataProvider, + bringTabToFrontCallback, + tabWindowManagerSupplier, + bookmarkState, + omniboxActionDelegate); mContext = context; mDelegate = delegate; } diff --git a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java index be6e8f045bbe..2bc98ae6c2a0 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java +++ b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java @@ -42,7 +42,6 @@ import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; import org.chromium.chrome.browser.merchant_viewer.MerchantTrustSignalsCoordinator; import org.chromium.chrome.browser.omnibox.LocationBar; -import org.chromium.chrome.browser.omnibox.suggestions.history_clusters.HistoryClustersProcessor.OpenHistoryClustersDelegate; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; diff --git a/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/BraveDropdownItemViewInfoListBuilder.java b/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/BraveDropdownItemViewInfoListBuilder.java index b891dcff005b..ff114218eb5e 100644 --- a/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/BraveDropdownItemViewInfoListBuilder.java +++ b/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/BraveDropdownItemViewInfoListBuilder.java @@ -23,7 +23,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; import org.chromium.chrome.browser.omnibox.suggestions.brave_leo.BraveLeoSuggestionProcessor; import org.chromium.chrome.browser.omnibox.suggestions.brave_search.BraveSearchBannerProcessor; -import org.chromium.chrome.browser.omnibox.suggestions.history_clusters.HistoryClustersProcessor.OpenHistoryClustersDelegate; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.settings.BraveSearchEngineAdapter; @@ -52,9 +51,9 @@ class BraveDropdownItemViewInfoListBuilder extends DropdownItemViewInfoListBuild private BraveLeoAutocompleteDelegate mLeoAutocompleteDelegate; private @Nullable OmniboxImageSupplier mImageSupplier; - BraveDropdownItemViewInfoListBuilder(@NonNull Supplier tabSupplier, - BookmarkState bookmarkState, OpenHistoryClustersDelegate openHistoryClustersDelegate) { - super(tabSupplier, bookmarkState, openHistoryClustersDelegate); + BraveDropdownItemViewInfoListBuilder( + @NonNull Supplier tabSupplier, BookmarkState bookmarkState) { + super(tabSupplier, bookmarkState); mActivityTabSupplier = tabSupplier; } From 77b1f2dd05be0229f2355657fcd1a056b7009a1d Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Fri, 1 Mar 2024 13:44:59 -0500 Subject: [PATCH 028/130] [Android] Remove deprecated getLastUsedRegularProfile from Profile Chromium change: https://source.chromium.org/chromium/chromium/src/+/913e0498eac18b4cd078eb402e04dbe985ac18e0 Remove deprecated getLastUsedRegularProfile from Profile.java Bug: 40254448 --- .../chromium/chrome/browser/BraveHelper.java | 3 +- .../chrome/browser/BraveIntentHandler.java | 3 +- .../chrome/browser/BraveRewardsHelper.java | 3 +- .../BraveRewardsOnboardingPagerAdapter.java | 4 +- .../chrome/browser/app/BraveActivity.java | 56 +++-- .../browser/brave_stats/BraveStatsUtil.java | 5 +- .../browser/crypto_wallet/util/Utils.java | 3 +- .../settings/BraveLanguageSettings.java | 6 +- .../settings/BraveThemePreferences.java | 7 +- .../browser/ntp/BraveNewTabPageLayout.java | 6 +- .../chrome/browser/ntp/BraveNtpAdapter.java | 4 +- .../ntp_background_images/util/NTPUtil.java | 14 +- .../onboarding/OnboardingPrefManager.java | 4 +- .../SearchEngineOnboardingFragment.java | 3 +- .../playlist/hls_content/HlsServiceImpl.java | 4 +- .../website/BraveShieldsContentSettings.java | 23 +- .../settings/BravePrivacySettings.java | 48 ++--- .../BravePrivacySettingsIPFSUtils.java | 6 +- .../chrome/browser/profiles/ProfileUtils.java | 2 +- .../browser/rate/RateFeedbackUtils.java | 3 +- .../browser/rewards/BraveRewardsPanel.java | 14 +- .../AdaptiveCaptchaHelper.java | 201 +++++++++--------- .../settings/BraveSearchEngineAdapter.java | 3 +- .../settings/AppearancePreferences.java | 6 +- .../settings/BackgroundImagesPreferences.java | 12 +- .../settings/BraveMainPreferencesBase.java | 4 +- .../BravePreferenceDialogFragment.java | 18 +- .../settings/BraveSearchEngineUtils.java | 3 +- .../BraveSearchEnginesPreferences.java | 3 +- .../developer/BraveQAPreferences.java | 6 +- ...tonGroupCustomHomepageThemePreference.java | 7 +- .../speedreader/BraveSpeedReaderManager.java | 4 +- .../suggestions/tile/BraveTileView.java | 2 +- .../browser/tabmodel/BraveTabCreator.java | 6 +- .../browser/vpn/utils/BraveVpnPrefUtils.java | 8 +- ...ActionSearchAndBookmarkWidgetProvider.java | 15 +- .../dialogs/BraveAdsNotificationDialog.java | 20 +- 37 files changed, 285 insertions(+), 254 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/BraveHelper.java b/android/java/org/chromium/chrome/browser/BraveHelper.java index bd4dfc24be5c..54d14d41bd65 100644 --- a/android/java/org/chromium/chrome/browser/BraveHelper.java +++ b/android/java/org/chromium/chrome/browser/BraveHelper.java @@ -8,6 +8,7 @@ import org.chromium.base.ContextUtils; import org.chromium.chrome.browser.preferences.BravePrefServiceBridge; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.components.browser_ui.site_settings.WebsitePreferenceBridge; import org.chromium.components.content_settings.ContentSettingValues; import org.chromium.components.content_settings.ContentSettingsType; @@ -29,7 +30,7 @@ public static void DisableFREDRP() { public static void maybeMigrateSettings() { // False is the default value, so we want to migrate it only when it's true. if (BravePrefServiceBridge.getInstance().getDesktopModeEnabled()) { - Profile profile = Profile.getLastUsedRegularProfile(); + Profile profile = ProfileManager.getLastUsedRegularProfile(); WebsitePreferenceBridge.setDefaultContentSetting( profile, ContentSettingsType.REQUEST_DESKTOP_SITE, ContentSettingValues.ALLOW); // Reset old flag to default value, so we don't migrate it anymore. diff --git a/android/java/org/chromium/chrome/browser/BraveIntentHandler.java b/android/java/org/chromium/chrome/browser/BraveIntentHandler.java index d9f9cbf3d1fe..1594e6daefc8 100644 --- a/android/java/org/chromium/chrome/browser/BraveIntentHandler.java +++ b/android/java/org/chromium/chrome/browser/BraveIntentHandler.java @@ -13,6 +13,7 @@ import org.chromium.base.Log; import org.chromium.base.ThreadUtils; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.content_public.browser.BrowserStartupController; @@ -69,7 +70,7 @@ protected static String getWebSearchUrl(Intent intent) { @Override public String call() { return TemplateUrlServiceFactory - .getForProfile(Profile.getLastUsedRegularProfile()) + .getForProfile(ProfileManager.getLastUsedRegularProfile()) .getUrlForSearchQuery(query); } }); diff --git a/android/java/org/chromium/chrome/browser/BraveRewardsHelper.java b/android/java/org/chromium/chrome/browser/BraveRewardsHelper.java index 66c9cfb1672d..9e79030d29e6 100644 --- a/android/java/org/chromium/chrome/browser/BraveRewardsHelper.java +++ b/android/java/org/chromium/chrome/browser/BraveRewardsHelper.java @@ -38,6 +38,7 @@ import org.chromium.chrome.browser.customtabs.CustomTabActivity; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.tab.Tab; import org.chromium.components.browser_ui.widget.RoundedIconGenerator; import org.chromium.components.favicon.IconType; @@ -235,7 +236,7 @@ public interface LargeIconReadyCallback { public BraveRewardsHelper(Tab tab) { mTab = tab; assert mTab != null; - mProfile = Profile.getLastUsedRegularProfile(); + mProfile = ProfileManager.getLastUsedRegularProfile(); if (sLargeIconBridge == null && mTab != null && mProfile != null) { sLargeIconBridge = new LargeIconBridge(mProfile); } diff --git a/android/java/org/chromium/chrome/browser/BraveRewardsOnboardingPagerAdapter.java b/android/java/org/chromium/chrome/browser/BraveRewardsOnboardingPagerAdapter.java index 9b48db41e107..9c693ad9435a 100644 --- a/android/java/org/chromium/chrome/browser/BraveRewardsOnboardingPagerAdapter.java +++ b/android/java/org/chromium/chrome/browser/BraveRewardsOnboardingPagerAdapter.java @@ -20,7 +20,7 @@ import org.chromium.base.ContextUtils; import org.chromium.base.Log; import org.chromium.chrome.R; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import java.util.ArrayList; import java.util.Arrays; @@ -145,7 +145,7 @@ public void onStopTrackingTouch(Slider slider) { adsValue)); } if (BraveAdsNativeHelper.nativeIsOptedInToNotificationAds( - Profile.getLastUsedRegularProfile())) { + ProfileManager.getLastUsedRegularProfile())) { BraveRewardsNativeWorker.getInstance() .setAdsPerHour((int) slider.getValue()); } diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index 3d2e3c70202e..e76e404e8b6f 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -143,6 +143,7 @@ import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState; import org.chromium.chrome.browser.privacy.settings.BravePrivacySettings; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.rate.BraveRateDialogFragment; import org.chromium.chrome.browser.rate.RateUtils; import org.chromium.chrome.browser.rewards.adaptive_captcha.AdaptiveCaptchaHelper; @@ -789,7 +790,7 @@ public void initializeState() { if (isClearBrowsingDataOnExit()) { List dataTypes = Arrays.asList( - BrowsingDataType.HISTORY, BrowsingDataType.COOKIES, BrowsingDataType.CACHE); + BrowsingDataType.HISTORY, BrowsingDataType.SITE_DATA, BrowsingDataType.CACHE); int[] dataTypesArray = CollectionUtil.integerCollectionToIntArray(dataTypes); @@ -900,10 +901,12 @@ protected void initializeStartupMetrics() { @Override public void onPreferenceChange() { - String captchaID = UserPrefs.get(Profile.getLastUsedRegularProfile()) - .getString(BravePref.SCHEDULED_CAPTCHA_ID); - String paymentID = UserPrefs.get(Profile.getLastUsedRegularProfile()) - .getString(BravePref.SCHEDULED_CAPTCHA_PAYMENT_ID); + String captchaID = + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getString(BravePref.SCHEDULED_CAPTCHA_ID); + String paymentID = + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getString(BravePref.SCHEDULED_CAPTCHA_PAYMENT_ID); if (BraveQAPreferences.shouldVlogRewards()) { Log.e(AdaptiveCaptchaHelper.TAG, "captchaID : " + captchaID + " Payment ID : " + paymentID); @@ -927,10 +930,12 @@ public Activity getActivity() { } public void maybeSolveAdaptiveCaptcha() { - String captchaID = UserPrefs.get(Profile.getLastUsedRegularProfile()) - .getString(BravePref.SCHEDULED_CAPTCHA_ID); - String paymentID = UserPrefs.get(Profile.getLastUsedRegularProfile()) - .getString(BravePref.SCHEDULED_CAPTCHA_PAYMENT_ID); + String captchaID = + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getString(BravePref.SCHEDULED_CAPTCHA_ID); + String paymentID = + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getString(BravePref.SCHEDULED_CAPTCHA_PAYMENT_ID); if (!TextUtils.isEmpty(captchaID) && !TextUtils.isEmpty(paymentID) && !BravePrefServiceBridge.getInstance().getSafetynetCheckFailed()) { AdaptiveCaptchaHelper.startAttestation(captchaID, paymentID); @@ -953,21 +958,22 @@ public void finishNativeInitialization() { PrefChangeRegistrar mPrefChangeRegistrar = new PrefChangeRegistrar(); mPrefChangeRegistrar.addObserver(BravePref.SCHEDULED_CAPTCHA_ID, this); - if (UserPrefs.get(Profile.getLastUsedRegularProfile()) + if (UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getInteger(BravePref.SCHEDULED_CAPTCHA_FAILED_ATTEMPTS) >= MAX_FAILED_CAPTCHA_ATTEMPTS) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.SCHEDULED_CAPTCHA_PAUSED, true); } if (BraveQAPreferences.shouldVlogRewards()) { - Log.e(AdaptiveCaptchaHelper.TAG, + Log.e( + AdaptiveCaptchaHelper.TAG, "Failed attempts : " - + UserPrefs.get(Profile.getLastUsedRegularProfile()) - .getInteger(BravePref.SCHEDULED_CAPTCHA_FAILED_ATTEMPTS)); + + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getInteger(BravePref.SCHEDULED_CAPTCHA_FAILED_ATTEMPTS)); } - if (!UserPrefs.get(Profile.getLastUsedRegularProfile()) - .getBoolean(BravePref.SCHEDULED_CAPTCHA_PAUSED)) { + if (!UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getBoolean(BravePref.SCHEDULED_CAPTCHA_PAUSED)) { maybeSolveAdaptiveCaptcha(); } @@ -1369,13 +1375,19 @@ private void checkFingerPrintingOnUpgrade(boolean isFirstInstall) { ChromeSharedPreferences.getInstance() .readBoolean(BravePrivacySettings.PREF_FINGERPRINTING_PROTECTION, true); if (value) { - BraveShieldsContentSettings.setShieldsValue(Profile.getLastUsedRegularProfile(), "", + BraveShieldsContentSettings.setShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING, - BraveShieldsContentSettings.DEFAULT, false); + BraveShieldsContentSettings.DEFAULT, + false); } else { - BraveShieldsContentSettings.setShieldsValue(Profile.getLastUsedRegularProfile(), "", + BraveShieldsContentSettings.setShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING, - BraveShieldsContentSettings.ALLOW_RESOURCE, false); + BraveShieldsContentSettings.ALLOW_RESOURCE, + false); } } } @@ -1444,7 +1456,7 @@ public MiscAndroidMetrics getMiscAndroidMetrics() { private void checkForYandexSE() { String countryCode = Locale.getDefault().getCountry(); if (sYandexRegions.contains(countryCode)) { - Profile lastUsedRegularProfile = Profile.getLastUsedRegularProfile(); + Profile lastUsedRegularProfile = ProfileManager.getLastUsedRegularProfile(); TemplateUrl yandexTemplateUrl = BraveSearchEngineUtils.getTemplateUrlByShortName( lastUsedRegularProfile, OnboardingPrefManager.YANDEX); if (yandexTemplateUrl != null) { @@ -1610,7 +1622,7 @@ public void openRewardsPanel() { public Profile getCurrentProfile() { Tab tab = getActivityTab(); if (tab == null) { - return Profile.getLastUsedRegularProfile(); + return ProfileManager.getLastUsedRegularProfile(); } return Profile.fromWebContents(tab.getWebContents()); diff --git a/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsUtil.java b/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsUtil.java index d338e4968a30..2c46cd9c66f0 100644 --- a/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsUtil.java +++ b/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsUtil.java @@ -28,6 +28,7 @@ import org.chromium.chrome.browser.app.BraveActivity; import org.chromium.chrome.browser.preferences.BravePrefServiceBridge; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.misc_metrics.mojom.MiscAndroidMetrics; import java.io.File; @@ -301,7 +302,7 @@ public static void shareStats(int layout) { public static List> getStatsPairs() { List> statsPair = new ArrayList<>(); - Profile mProfile = Profile.getLastUsedRegularProfile(); + Profile mProfile = ProfileManager.getLastUsedRegularProfile(); long trackersBlockedCount = BravePrefServiceBridge.getInstance().getTrackersBlockedCount(mProfile); long adsBlockedCount = BravePrefServiceBridge.getInstance().getAdsBlockedCount(mProfile); @@ -323,7 +324,7 @@ public static List> getStatsPairs() { } public static Pair getAdsTrackersBlocked() { - Profile mProfile = Profile.getLastUsedRegularProfile(); + Profile mProfile = ProfileManager.getLastUsedRegularProfile(); long trackersBlockedCount = BravePrefServiceBridge.getInstance().getTrackersBlockedCount(mProfile); long adsBlockedCount = BravePrefServiceBridge.getInstance().getAdsBlockedCount(mProfile); diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/util/Utils.java b/android/java/org/chromium/chrome/browser/crypto_wallet/util/Utils.java index 86d7b512da03..96a70709781f 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/util/Utils.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/util/Utils.java @@ -72,6 +72,7 @@ import org.chromium.chrome.browser.crypto_wallet.activities.BraveWalletBaseActivity; import org.chromium.chrome.browser.crypto_wallet.model.AccountSelectorItemModel; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.util.TabUtils; import org.chromium.ui.text.NoUnderlineClickableSpan; import org.chromium.ui.widget.Toast; @@ -1070,7 +1071,7 @@ public static Profile getProfile(boolean isIncognito) { Log.e(TAG, "getProfile " + e); } if (chromeActivity == null) chromeActivity = BraveActivity.getChromeTabbedActivity(); - if (chromeActivity == null) return Profile.getLastUsedRegularProfile(); // Last resort + if (chromeActivity == null) return ProfileManager.getLastUsedRegularProfile(); // Last resort return chromeActivity.getTabModelSelector().getModel(isIncognito).getProfile(); } diff --git a/android/java/org/chromium/chrome/browser/language/settings/BraveLanguageSettings.java b/android/java/org/chromium/chrome/browser/language/settings/BraveLanguageSettings.java index cb838e46d2fc..61547143d64d 100644 --- a/android/java/org/chromium/chrome/browser/language/settings/BraveLanguageSettings.java +++ b/android/java/org/chromium/chrome/browser/language/settings/BraveLanguageSettings.java @@ -12,7 +12,7 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveRelaunchUtils; import org.chromium.chrome.browser.preferences.BravePref; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.user_prefs.UserPrefs; @@ -34,7 +34,7 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { (PreferenceCategory) findPreference(APP_LANGUAGE_SECTION); if (appLanguageSection != null) { boolean isBraveTranslateEnabled = - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.OFFER_TRANSLATE_ENABLED); ChromeSwitchPreference braveTranslateFeaturePreference = new ChromeSwitchPreference(getContext()); @@ -43,7 +43,7 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { braveTranslateFeaturePreference.setChecked(isBraveTranslateEnabled); braveTranslateFeaturePreference.setOnPreferenceChangeListener( (preference, newValue) -> { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.OFFER_TRANSLATE_ENABLED, (boolean) newValue); if (getActivity() != null) { BraveRelaunchUtils.askForRelaunch(getActivity()); diff --git a/android/java/org/chromium/chrome/browser/night_mode/settings/BraveThemePreferences.java b/android/java/org/chromium/chrome/browser/night_mode/settings/BraveThemePreferences.java index 0615595bb515..305c63ecbf7c 100644 --- a/android/java/org/chromium/chrome/browser/night_mode/settings/BraveThemePreferences.java +++ b/android/java/org/chromium/chrome/browser/night_mode/settings/BraveThemePreferences.java @@ -22,6 +22,7 @@ import org.chromium.chrome.browser.ntp_background_images.NTPBackgroundImagesBridge; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.components.browser_ui.settings.SettingsUtils; public class BraveThemePreferences extends ThemeSettingsFragment { @@ -35,7 +36,7 @@ public void onCreatePreferences(@Nullable Bundle savedInstanceState, String root SettingsUtils.addPreferencesFromResource(this, R.xml.brave_theme_preferences); getActivity().setTitle(getResources().getString(R.string.theme_settings)); - Profile mProfile = Profile.getLastUsedRegularProfile(); + Profile mProfile = ProfileManager.getLastUsedRegularProfile(); NTPBackgroundImagesBridge mNTPBackgroundImagesBridge = NTPBackgroundImagesBridge.getInstance(mProfile); if (!NTPBackgroundImagesBridge.enableSponsoredImages() || (mNTPBackgroundImagesBridge != null @@ -59,7 +60,7 @@ public void onCreatePreferences(@Nullable Bundle savedInstanceState, String root } mWebContentsDarkModeEnabled = WebContentsDarkModeController.isGlobalUserSettingsEnabled( - Profile.getLastUsedRegularProfile()); + ProfileManager.getLastUsedRegularProfile()); radioButtonGroupThemePreference.initialize( sharedPreferencesManager.readInt(UI_THEME_SETTING, defaultThemePref), mWebContentsDarkModeEnabled); @@ -72,7 +73,7 @@ public void onCreatePreferences(@Nullable Bundle savedInstanceState, String root mWebContentsDarkModeEnabled = radioButtonGroupThemePreference.isDarkenWebsitesEnabled(); WebContentsDarkModeController.setGlobalUserSettings( - Profile.getLastUsedRegularProfile(), mWebContentsDarkModeEnabled); + ProfileManager.getLastUsedRegularProfile(), mWebContentsDarkModeEnabled); } } int theme = (int) newValue; diff --git a/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java b/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java index 32f90d22d314..54e2c72eff57 100644 --- a/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java +++ b/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java @@ -192,7 +192,7 @@ public BraveNewTabPageLayout(Context context, AttributeSet attrs) { super(context, attrs); mContext = context; - mProfile = Profile.getLastUsedRegularProfile(); + mProfile = ProfileManager.getLastUsedRegularProfile(); mNTPBackgroundImagesBridge = NTPBackgroundImagesBridge.getInstance(mProfile); mNTPBackgroundImagesBridge.setNewTabPageListener(mNewTabPageListener); mDatabaseHelper = DatabaseHelper.getInstance(); @@ -1232,7 +1232,7 @@ private void showNTPImage(NTPImage ntpImage) { && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { setBackgroundImage(ntpImage); - } else if (UserPrefs.get(Profile.getLastUsedRegularProfile()) + } else if (UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE) && mSponsoredTab != null && NTPUtil.shouldEnableNTPFeature()) { setBackgroundImage(ntpImage); @@ -1488,7 +1488,7 @@ private void initBraveNewsController() { protected boolean isScrollableMvtEnabled() { return ChromeFeatureList.isEnabled(ChromeFeatureList.SHOW_SCROLLABLE_MVT_ON_NTP_ANDROID) && !DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext) - && UserPrefs.get(Profile.getLastUsedRegularProfile()) + && UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE); } diff --git a/android/java/org/chromium/chrome/browser/ntp/BraveNtpAdapter.java b/android/java/org/chromium/chrome/browser/ntp/BraveNtpAdapter.java index 6ec553981e38..cdc2aa7203b7 100644 --- a/android/java/org/chromium/chrome/browser/ntp/BraveNtpAdapter.java +++ b/android/java/org/chromium/chrome/browser/ntp/BraveNtpAdapter.java @@ -50,7 +50,7 @@ import org.chromium.chrome.browser.ntp_background_images.util.NTPUtil; import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.settings.BackgroundImagesPreferences; import org.chromium.chrome.browser.util.BraveConstants; import org.chromium.chrome.browser.util.BraveTouchUtils; @@ -209,7 +209,7 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi "QRCodeShareDialogFragment"); }); - } else if (UserPrefs.get(Profile.getLastUsedRegularProfile()) + } else if (UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE) && mSponsoredTab != null && NTPUtil.shouldEnableNTPFeature()) { if (mNtpImage instanceof BackgroundImage) { diff --git a/android/java/org/chromium/chrome/browser/ntp_background_images/util/NTPUtil.java b/android/java/org/chromium/chrome/browser/ntp_background_images/util/NTPUtil.java index 4f40f6c19bd4..18e53ebf2d66 100644 --- a/android/java/org/chromium/chrome/browser/ntp_background_images/util/NTPUtil.java +++ b/android/java/org/chromium/chrome/browser/ntp_background_images/util/NTPUtil.java @@ -40,6 +40,7 @@ import org.chromium.chrome.browser.ntp_background_images.model.Wallpaper; import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.settings.BackgroundImagesPreferences; import org.chromium.chrome.browser.util.ConfigurationUtils; import org.chromium.chrome.browser.util.ImageUtils; @@ -464,9 +465,16 @@ public static NTPImage getNTPImage(NTPBackgroundImagesBridge mNTPBackgroundImage } public static boolean isReferralEnabled() { - Profile mProfile = Profile.getLastUsedRegularProfile(); - NTPBackgroundImagesBridge mNTPBackgroundImagesBridge = NTPBackgroundImagesBridge.getInstance(mProfile); - boolean isReferralEnabled = UserPrefs.get(Profile.getLastUsedRegularProfile()).getInteger(BravePref.NEW_TAB_PAGE_SUPER_REFERRAL_THEMES_OPTION) == 1 ? true : false; + Profile mProfile = ProfileManager.getLastUsedRegularProfile(); + NTPBackgroundImagesBridge mNTPBackgroundImagesBridge = + NTPBackgroundImagesBridge.getInstance(mProfile); + boolean isReferralEnabled = + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getInteger( + BravePref.NEW_TAB_PAGE_SUPER_REFERRAL_THEMES_OPTION) + == 1 + ? true + : false; return mNTPBackgroundImagesBridge.isSuperReferral() && isReferralEnabled; } diff --git a/android/java/org/chromium/chrome/browser/onboarding/OnboardingPrefManager.java b/android/java/org/chromium/chrome/browser/onboarding/OnboardingPrefManager.java index 3eeb743f2441..23e9dd5eaa4d 100644 --- a/android/java/org/chromium/chrome/browser/onboarding/OnboardingPrefManager.java +++ b/android/java/org/chromium/chrome/browser/onboarding/OnboardingPrefManager.java @@ -18,7 +18,7 @@ import org.chromium.chrome.browser.app.BraveActivity.BraveActivityNotFoundException; import org.chromium.chrome.browser.notifications.BraveOnboardingNotification; import org.chromium.chrome.browser.notifications.retention.RetentionNotificationUtil; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.misc_metrics.mojom.MiscAndroidMetrics; import java.util.Calendar; @@ -216,7 +216,7 @@ public void updateUrlFocusCount() { } public boolean isAdsAvailable() { - return BraveAdsNativeHelper.nativeIsSupportedRegion(Profile.getLastUsedRegularProfile()); + return BraveAdsNativeHelper.nativeIsSupportedRegion(ProfileManager.getLastUsedRegularProfile()); } public void showOnboarding(Context context) { diff --git a/android/java/org/chromium/chrome/browser/onboarding/SearchEngineOnboardingFragment.java b/android/java/org/chromium/chrome/browser/onboarding/SearchEngineOnboardingFragment.java index 2e78db700c5a..4d0a5159dae9 100644 --- a/android/java/org/chromium/chrome/browser/onboarding/SearchEngineOnboardingFragment.java +++ b/android/java/org/chromium/chrome/browser/onboarding/SearchEngineOnboardingFragment.java @@ -26,6 +26,7 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.chrome.browser.settings.BraveSearchEngineUtils; import org.chromium.components.search_engines.TemplateUrl; @@ -52,7 +53,7 @@ public SearchEngineOnboardingFragment() { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mProfile = Profile.getLastUsedRegularProfile(); + mProfile = ProfileManager.getLastUsedRegularProfile(); } @Override diff --git a/android/java/org/chromium/chrome/browser/playlist/hls_content/HlsServiceImpl.java b/android/java/org/chromium/chrome/browser/playlist/hls_content/HlsServiceImpl.java index 69ec657d1712..e72664d46b32 100644 --- a/android/java/org/chromium/chrome/browser/playlist/hls_content/HlsServiceImpl.java +++ b/android/java/org/chromium/chrome/browser/playlist/hls_content/HlsServiceImpl.java @@ -29,7 +29,7 @@ import org.chromium.base.task.TaskTraits; import org.chromium.chrome.browser.playlist.PlaylistServiceFactoryAndroid; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.mojo.bindings.ConnectionErrorHandler; import org.chromium.mojo.system.MojoException; import org.chromium.playlist.mojom.PlaylistService; @@ -226,7 +226,7 @@ private void initPlaylistService() { mPlaylistService = PlaylistServiceFactoryAndroid.getInstance() .getPlaylistService( - Profile.getLastUsedRegularProfile(), HlsServiceImpl.this); + ProfileManager.getLastUsedRegularProfile(), HlsServiceImpl.this); } @Override diff --git a/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java b/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java index 8d4015b92149..3d6778d522de 100644 --- a/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java +++ b/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java @@ -10,6 +10,7 @@ import org.jni_zero.NativeMethods; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import java.util.ArrayList; import java.util.List; @@ -148,58 +149,58 @@ public static String getShieldsValue(Profile profile, String host, String resour } public static void setFingerprintingPref(String value) { - setShieldsValue(Profile.getLastUsedRegularProfile(), "", + setShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING, value, false); } public static void setHttpsUpgradePref(String value) { - setShieldsValue(Profile.getLastUsedRegularProfile(), "", + setShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_HTTPS_UPGRADE, value, false); } public static void setCookiesPref(String value) { - setShieldsValue(Profile.getLastUsedRegularProfile(), "", + setShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_COOKIES, value, false); } public static void setTrackersPref(String value) { - setShieldsValue(Profile.getLastUsedRegularProfile(), "", + setShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_TRACKERS, value, false); } public static void setJavascriptPref(boolean value) { - setShields(Profile.getLastUsedRegularProfile(), "", + setShields(ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_JAVASCRIPTS, value, false); } public static void setForgetFirstPartyStoragePref(boolean value) { - setShields(Profile.getLastUsedRegularProfile(), "", + setShields(ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FORGET_FIRST_PARTY_STORAGE, value, false); } public static boolean getJavascriptPref() { - return getShields(Profile.getLastUsedRegularProfile(), "", + return getShields(ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_JAVASCRIPTS); } public static String getTrackersPref() { - return getShieldsValue(Profile.getLastUsedRegularProfile(), "", + return getShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_TRACKERS); } public static String getFingerprintingPref() { - return getShieldsValue(Profile.getLastUsedRegularProfile(), "", + return getShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING); } public static String getHttpsUpgradePref() { - return getShieldsValue(Profile.getLastUsedRegularProfile(), "", + return getShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_HTTPS_UPGRADE); } public static boolean getForgetFirstPartyStoragePref() { - return getShields(Profile.getLastUsedRegularProfile(), "", + return getShields(ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FORGET_FIRST_PARTY_STORAGE); } diff --git a/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java b/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java index de26f03d0bc9..3f904b731988 100644 --- a/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java +++ b/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java @@ -27,7 +27,7 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.preferences.website.BraveShieldsContentSettings; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.safe_browsing.settings.NoGooglePlayServicesDialog; import org.chromium.chrome.browser.settings.BraveDialogPreference; import org.chromium.chrome.browser.settings.BravePreferenceDialogFragment; @@ -170,7 +170,7 @@ public class BravePrivacySettings extends PrivacySettings implements ConnectionE private static final int ALLOW = 2; private final PrefService mPrefServiceBridge = - UserPrefs.get(Profile.getLastUsedRegularProfile()); + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()); private final PrivacyPreferencesManagerImpl mPrivacyPrefManager = PrivacyPreferencesManagerImpl.getInstance(); private ChromeManagedPreferenceDelegate mManagedPreferenceDelegate; @@ -435,7 +435,7 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit(); if (PREF_HTTPS_FIRST_MODE.equals(key)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue); } else if (PREF_HTTPS_UPGRADE.equals(key)) { switch ((int) newValue) { @@ -463,10 +463,10 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { break; } } else if (PREF_DE_AMP.equals(key)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.DE_AMP_PREF_ENABLED, (boolean) newValue); } else if (PREF_DEBOUNCE.equals(key)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.DEBOUNCE_ENABLED, (boolean) newValue); } else if (PREF_IPFS_GATEWAY.equals(key)) { BravePrivacySettingsIPFSUtils.setIPFSGatewayPref((boolean) newValue); @@ -516,11 +516,11 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { ? BraveShieldsContentSettings.DEFAULT : BraveShieldsContentSettings.ALLOW_RESOURCE); } else if (PREF_REQUEST_OTR.equals(key)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setInteger(BravePref.REQUEST_OTR_ACTION_OPTION, (int) newValue); updateRequestOtrPref(); } else if (PREF_FINGERPRINT_LANGUAGE.equals(key)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.REDUCE_LANGUAGE_ENABLED, (boolean) newValue); } else if (PREF_BLOCK_CROSS_SITE_COOKIES.equals(key)) { switch ((int) newValue) { @@ -567,22 +567,22 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { boolean autocompleteEnabled = (boolean) newValue; mSearchSuggestions.setEnabled(autocompleteEnabled); mAutocompleteTopSites.setEnabled(autocompleteEnabled); - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.AUTOCOMPLETE_ENABLED, autocompleteEnabled); } else if (PREF_AUTOCOMPLETE_TOP_SITES.equals(key)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.TOP_SITE_SUGGESTIONS_ENABLED, (boolean) newValue); } else if (PREF_SOCIAL_BLOCKING_GOOGLE.equals(key)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.GOOGLE_LOGIN_CONTROL_TYPE, (boolean) newValue); } else if (PREF_SOCIAL_BLOCKING_FACEBOOK.equals(key)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.FB_EMBED_CONTROL_TYPE, (boolean) newValue); } else if (PREF_SOCIAL_BLOCKING_TWITTER.equals(key)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.TWITTER_EMBED_CONTROL_TYPE, (boolean) newValue); } else if (PREF_SOCIAL_BLOCKING_LINKEDIN.equals(key)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.LINKED_IN_EMBED_CONTROL_TYPE, (boolean) newValue); } else if (PREF_CLEAR_ON_EXIT.equals(key)) { sharedPreferencesEditor.putBoolean( @@ -645,7 +645,7 @@ private void updateBravePreferences() { ChromeFeatureList.isEnabled(BraveFeatureList.HTTPS_BY_DEFAULT); mHttpsFirstModePref.setVisible(!httpsByDefaultIsEnabled); mHttpsFirstModePref.setChecked( - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(Pref.HTTPS_ONLY_MODE_ENABLED)); // IPFS Gateway @@ -739,18 +739,18 @@ private void updateBravePreferences() { webrtcPolicyToString(BravePrefServiceBridge.getInstance().getWebrtcPolicy())); mAutocompleteTopSites.setChecked( - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.TOP_SITE_SUGGESTIONS_ENABLED)); mClearBrowsingDataOnExit.setChecked( sharedPreferences.getBoolean(BravePreferenceKeys.BRAVE_CLEAR_ON_EXIT, false)); - boolean autocompleteEnabled = UserPrefs.get(Profile.getLastUsedRegularProfile()) + boolean autocompleteEnabled = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.AUTOCOMPLETE_ENABLED); mShowAutocompleteInAddressBar.setChecked(autocompleteEnabled); mSearchSuggestions.setEnabled(autocompleteEnabled); mAutocompleteTopSites.setEnabled(autocompleteEnabled); - mFingerprntLanguagePref.setChecked(UserPrefs.get(Profile.getLastUsedRegularProfile()) + mFingerprntLanguagePref.setChecked(UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.REDUCE_LANGUAGE_ENABLED)); if (mFilterListAndroidHandler != null) { mFilterListAndroidHandler.isFilterListEnabled(FilterListConstants.COOKIE_LIST_UUID, @@ -760,34 +760,34 @@ private void updateBravePreferences() { } // Debounce if (mDebouncePref != null) { - mDebouncePref.setChecked(UserPrefs.get(Profile.getLastUsedRegularProfile()) + mDebouncePref.setChecked(UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.DEBOUNCE_ENABLED)); } // Social blocking if (mSocialBlockingGoogle != null) { mSocialBlockingGoogle.setChecked( - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.GOOGLE_LOGIN_CONTROL_TYPE)); } if (mSocialBlockingFacebook != null) { mSocialBlockingFacebook.setChecked( - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.FB_EMBED_CONTROL_TYPE)); } if (mSocialBlockingTwitter != null) { mSocialBlockingTwitter.setChecked( - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.TWITTER_EMBED_CONTROL_TYPE)); } if (mSocialBlockingLinkedin != null) { mSocialBlockingLinkedin.setChecked( - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.LINKED_IN_EMBED_CONTROL_TYPE)); } if (mDeAmpPref != null) { - mDeAmpPref.setChecked(UserPrefs.get(Profile.getLastUsedRegularProfile()) + mDeAmpPref.setChecked(UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.DE_AMP_PREF_ENABLED)); } @@ -799,7 +799,7 @@ private void updateBravePreferences() { } private void updateRequestOtrPref() { - int requestOtrPrefValue = UserPrefs.get(Profile.getLastUsedRegularProfile()) + int requestOtrPrefValue = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getInteger(BravePref.REQUEST_OTR_ACTION_OPTION); if (requestOtrPrefValue == BraveShieldsContentSettings.ALWAYS) { mRequestOtrPref.setCheckedIndex(0); diff --git a/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsIPFSUtils.java b/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsIPFSUtils.java index d23e17d2a758..2ee874e6477c 100644 --- a/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsIPFSUtils.java +++ b/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsIPFSUtils.java @@ -7,13 +7,13 @@ import org.chromium.chrome.browser.BraveConfig; import org.chromium.chrome.browser.preferences.BravePref; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.components.user_prefs.UserPrefs; public class BravePrivacySettingsIPFSUtils { public static void setIPFSGatewayPref(boolean preference) { if (BraveConfig.IPFS_ENABLED) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setInteger(BravePref.IPFS_RESOLVE_METHOD, preference ? IPFSResolveMethodTypes.IPFS_ASK : IPFSResolveMethodTypes.IPFS_DISABLED); @@ -22,7 +22,7 @@ public static void setIPFSGatewayPref(boolean preference) { public static boolean getIPFSGatewayPref() { if (BraveConfig.IPFS_ENABLED) { - return UserPrefs.get(Profile.getLastUsedRegularProfile()) + return UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getInteger(BravePref.IPFS_RESOLVE_METHOD) != IPFSResolveMethodTypes.IPFS_DISABLED; } else { diff --git a/android/java/org/chromium/chrome/browser/profiles/ProfileUtils.java b/android/java/org/chromium/chrome/browser/profiles/ProfileUtils.java index 2f90565256c6..07ac8b40ccfb 100644 --- a/android/java/org/chromium/chrome/browser/profiles/ProfileUtils.java +++ b/android/java/org/chromium/chrome/browser/profiles/ProfileUtils.java @@ -18,7 +18,7 @@ public static Profile getProfile() { } catch (BraveActivity.BraveActivityNotFoundException e) { Log.e(TAG, "getProfile " + e); } - if (braveActivity == null) return Profile.getLastUsedRegularProfile(); + if (braveActivity == null) return ProfileManager.getLastUsedRegularProfile(); return braveActivity.getCurrentProfile(); } } diff --git a/android/java/org/chromium/chrome/browser/rate/RateFeedbackUtils.java b/android/java/org/chromium/chrome/browser/rate/RateFeedbackUtils.java index de09c51f6c5a..4f672c48b848 100644 --- a/android/java/org/chromium/chrome/browser/rate/RateFeedbackUtils.java +++ b/android/java/org/chromium/chrome/browser/rate/RateFeedbackUtils.java @@ -20,6 +20,7 @@ import org.chromium.chrome.browser.about_settings.AboutSettingsBridge; import org.chromium.chrome.browser.ntp_background_images.NTPBackgroundImagesBridge; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.net.ChromiumNetworkAdapter; import org.chromium.net.NetworkTrafficAnnotationTag; @@ -72,7 +73,7 @@ private static void sendRateFeedback(String userSelection, String userFeedback) context, AboutSettingsBridge.getApplicationVersion()); StringBuilder sb = new StringBuilder(); - Profile mProfile = Profile.getLastUsedRegularProfile(); + Profile mProfile = ProfileManager.getLastUsedRegularProfile(); NTPBackgroundImagesBridge mNTPBackgroundImagesBridge = NTPBackgroundImagesBridge.getInstance(mProfile); diff --git a/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java b/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java index ffa5f35f733d..648b020d1699 100644 --- a/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java +++ b/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java @@ -1,9 +1,7 @@ -/** - * Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at https://mozilla.org/MPL/2.0/. - */ + /* Copyright (c) 2021 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ package org.chromium.chrome.browser.rewards; @@ -74,7 +72,7 @@ import org.chromium.chrome.browser.notifications.BraveNotificationWarningDialog; import org.chromium.chrome.browser.notifications.BravePermissionUtils; import org.chromium.chrome.browser.preferences.BravePref; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.rewards.onboarding.RewardsOnboarding; import org.chromium.chrome.browser.rewards.tipping.PopupWindowTippingTabletUI; import org.chromium.chrome.browser.rewards.tipping.RewardsTippingBannerActivity; @@ -1484,7 +1482,7 @@ public void onClick(View v) { BraveTouchUtils.ensureMinTouchTarget(learnMoreUnverifiedText); if (BraveAdsNativeHelper.nativeIsOptedInToNotificationAds( - Profile.getLastUsedRegularProfile())) { + ProfileManager.getLastUsedRegularProfile())) { if (mRewardsMainLayout != null) { mRewardsMainLayout.setVisibility(View.GONE); } diff --git a/android/java/org/chromium/chrome/browser/rewards/adaptive_captcha/AdaptiveCaptchaHelper.java b/android/java/org/chromium/chrome/browser/rewards/adaptive_captcha/AdaptiveCaptchaHelper.java index 3c517898ce44..ad7662c54e1b 100644 --- a/android/java/org/chromium/chrome/browser/rewards/adaptive_captcha/AdaptiveCaptchaHelper.java +++ b/android/java/org/chromium/chrome/browser/rewards/adaptive_captcha/AdaptiveCaptchaHelper.java @@ -20,7 +20,7 @@ import org.chromium.base.task.TaskTraits; import org.chromium.chrome.browser.BraveRewardsNativeWorker; import org.chromium.chrome.browser.preferences.BravePref; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.settings.developer.BraveQAPreferences; import org.chromium.components.user_prefs.UserPrefs; import org.chromium.net.ChromiumNetworkAdapter; @@ -108,124 +108,125 @@ private static void getPlayIntegrityToken(String nonce, String captchaId, String private static void attestPaymentId( String captchaId, String paymentId, String integrityToken, String uniqueValue) { - PostTask.postTask(TaskTraits.BEST_EFFORT_MAY_BLOCK, () -> { - HttpURLConnection urlConnection = null; - String attestPaymentIdUrl = - BraveRewardsNativeWorker.getInstance().getAttestationURLWithPaymentId( - paymentId); - if (BraveQAPreferences.shouldVlogRewards()) { - Log.e(TAG, attestPaymentIdUrl); - } - NetworkTrafficAnnotationTag annotation = NetworkTrafficAnnotationTag.createComplete( - "Brave attestation api android", - "semantics {" - + " sender: 'Brave Android app'" - + " description: " - + " 'This api attests play integrity token for the given payment ID'" - + " trigger: 'When payment id as captcha scheduled with integrity token'" - + " data:" - + " 'integrity token, unique value, package name'" - + " destination: Brave grant endpoint" - + "}" - + "policy {" - + " cookies_allowed: NO" - + " policy_exception_justification: 'Not implemented.'" - + "}"); - String logMessage = ""; - try { - URL url = new URL(attestPaymentIdUrl); - urlConnection = getUrlConnection(PUT_METHOD, url, annotation); + PostTask.postTask( + TaskTraits.BEST_EFFORT_MAY_BLOCK, + () -> { + HttpURLConnection urlConnection = null; + String attestPaymentIdUrl = + BraveRewardsNativeWorker.getInstance() + .getAttestationURLWithPaymentId(paymentId); + if (BraveQAPreferences.shouldVlogRewards()) { + Log.e(TAG, attestPaymentIdUrl); + } + NetworkTrafficAnnotationTag annotation = + NetworkTrafficAnnotationTag.createComplete( + "Brave attestation api android", + "semantics { sender: 'Brave Android app' description: " + + " 'This api attests play integrity token for the given" + + " payment ID' trigger: 'When payment id as captcha" + + " scheduled with integrity token' data: 'integrity" + + " token, unique value, package name' destination: Brave" + + " grant endpoint}policy { cookies_allowed: NO " + + " policy_exception_justification: 'Not implemented.'}"); + String logMessage = ""; + try { + URL url = new URL(attestPaymentIdUrl); + urlConnection = getUrlConnection(PUT_METHOD, url, annotation); - writeRequestOutput( - getAttestPaymentIdBody(integrityToken, uniqueValue), urlConnection); + writeRequestOutput( + getAttestPaymentIdBody(integrityToken, uniqueValue), urlConnection); - int responseCode = urlConnection.getResponseCode(); - if (responseCode == HttpURLConnection.HTTP_OK) { - solveCaptcha(captchaId, paymentId); - logMessage = "Attest payment Id call is successful"; - } else { - logMessage = "Attest payment Id failed with " + responseCode + " : " - + urlConnection.getResponseMessage(); - recordFailureAttempt(); - } - } catch (Exception e) { - Log.e(TAG, e.getMessage()); - } finally { - if (urlConnection != null) urlConnection.disconnect(); - if (BraveQAPreferences.shouldVlogRewards()) { - Log.e(TAG, logMessage); - } - } - }); + int responseCode = urlConnection.getResponseCode(); + if (responseCode == HttpURLConnection.HTTP_OK) { + solveCaptcha(captchaId, paymentId); + logMessage = "Attest payment Id call is successful"; + } else { + logMessage = + "Attest payment Id failed with " + + responseCode + + " : " + + urlConnection.getResponseMessage(); + recordFailureAttempt(); + } + } catch (Exception e) { + Log.e(TAG, e.getMessage()); + } finally { + if (urlConnection != null) urlConnection.disconnect(); + if (BraveQAPreferences.shouldVlogRewards()) { + Log.e(TAG, logMessage); + } + } + }); } private static void solveCaptcha(String captchaId, String paymentId) { - PostTask.postTask(TaskTraits.BEST_EFFORT_MAY_BLOCK, () -> { - HttpURLConnection urlConnection = null; - String solveCaptchaUrl = BraveRewardsNativeWorker.getInstance().getCaptchaSolutionURL( - paymentId, captchaId); - if (BraveQAPreferences.shouldVlogRewards()) { - Log.e(TAG, solveCaptchaUrl); - } - NetworkTrafficAnnotationTag annotation = NetworkTrafficAnnotationTag.createComplete( - "Brave attestation api android", - "semantics {" - + " sender: 'Brave Android app'" - + " description: " - + " 'This api solves captcha for the given payment ID'" - + " trigger: 'When attestation is successful with the give integrity token for provided payment id'" - + " data:" - + " 'payment id'" - + " destination: Brave grant endpoint" - + "}" - + "policy {" - + " cookies_allowed: NO" - + " policy_exception_justification: 'Not implemented.'" - + "}"); + PostTask.postTask( + TaskTraits.BEST_EFFORT_MAY_BLOCK, + () -> { + HttpURLConnection urlConnection = null; + String solveCaptchaUrl = + BraveRewardsNativeWorker.getInstance() + .getCaptchaSolutionURL(paymentId, captchaId); + if (BraveQAPreferences.shouldVlogRewards()) { + Log.e(TAG, solveCaptchaUrl); + } + NetworkTrafficAnnotationTag annotation = + NetworkTrafficAnnotationTag.createComplete( + "Brave attestation api android", + "semantics { sender: 'Brave Android app' description: " + + " 'This api solves captcha for the given payment ID' " + + " trigger: 'When attestation is successful with the give" + + " integrity token for provided payment id' data: " + + " 'payment id' destination: Brave grant endpoint}policy" + + " { cookies_allowed: NO policy_exception_justification:" + + " 'Not implemented.'}"); - String logMessage = ""; - try { - URL url = new URL(String.format(solveCaptchaUrl, paymentId, captchaId)); - urlConnection = getUrlConnection(POST_METHOD, url, annotation); - urlConnection.connect(); + String logMessage = ""; + try { + URL url = new URL(String.format(solveCaptchaUrl, paymentId, captchaId)); + urlConnection = getUrlConnection(POST_METHOD, url, annotation); + urlConnection.connect(); - writeRequestOutput(getSolveCaptchaBody(paymentId), urlConnection); + writeRequestOutput(getSolveCaptchaBody(paymentId), urlConnection); - int responseCode = urlConnection.getResponseCode(); - if (responseCode == HttpURLConnection.HTTP_OK) { - clearCaptchaPrefs(); - logMessage = "Captcha has been solved."; - } else { - recordFailureAttempt(); - logMessage = "Captcha solution failed with " + responseCode + " : " - + urlConnection.getResponseMessage(); - } - } catch (Exception e) { - Log.e(TAG, e.getMessage()); - } finally { - if (urlConnection != null) urlConnection.disconnect(); - if (BraveQAPreferences.shouldVlogRewards()) { - Log.e(TAG, logMessage); - } - } - }); + int responseCode = urlConnection.getResponseCode(); + if (responseCode == HttpURLConnection.HTTP_OK) { + clearCaptchaPrefs(); + logMessage = "Captcha has been solved."; + } else { + recordFailureAttempt(); + logMessage = + "Captcha solution failed with " + + responseCode + + " : " + + urlConnection.getResponseMessage(); + } + } catch (Exception e) { + Log.e(TAG, e.getMessage()); + } finally { + if (urlConnection != null) urlConnection.disconnect(); + if (BraveQAPreferences.shouldVlogRewards()) { + Log.e(TAG, logMessage); + } + } + }); } private static void clearCaptchaPrefs() { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setInteger(BravePref.SCHEDULED_CAPTCHA_FAILED_ATTEMPTS, 0); - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setString(BravePref.SCHEDULED_CAPTCHA_ID, ""); - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setString(BravePref.SCHEDULED_CAPTCHA_PAYMENT_ID, ""); - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.SCHEDULED_CAPTCHA_PAUSED, false); } private static void recordFailureAttempt() { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setInteger(BravePref.SCHEDULED_CAPTCHA_FAILED_ATTEMPTS, - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getInteger(BravePref.SCHEDULED_CAPTCHA_FAILED_ATTEMPTS) + 1); } diff --git a/android/java/org/chromium/chrome/browser/search_engines/settings/BraveSearchEngineAdapter.java b/android/java/org/chromium/chrome/browser/search_engines/settings/BraveSearchEngineAdapter.java index cce9f99230d0..266206946ffb 100644 --- a/android/java/org/chromium/chrome/browser/search_engines/settings/BraveSearchEngineAdapter.java +++ b/android/java/org/chromium/chrome/browser/search_engines/settings/BraveSearchEngineAdapter.java @@ -14,6 +14,7 @@ import org.chromium.base.ContextUtils; import org.chromium.base.Log; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.search_engines.R; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.components.search_engines.TemplateUrl; @@ -83,7 +84,7 @@ public static String getDSEShortName( // overwrite. if (BraveSearchEnginePrefHelper.getInstance().getFetchSEFromNative()) { // Set it for normal tab only - setDSEPrefs(dseTemplateUrl, Profile.getLastUsedRegularProfile()); + setDSEPrefs(dseTemplateUrl, ProfileManager.getLastUsedRegularProfile()); BraveSearchEnginePrefHelper.getInstance().setFetchSEFromNative(false); } } diff --git a/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java b/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java index e330226ae697..5ab53f77319e 100644 --- a/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java @@ -24,7 +24,7 @@ import org.chromium.chrome.browser.night_mode.NightModeUtils; import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.tasks.tab_management.BraveTabUiFeatureUtilities; import org.chromium.chrome.browser.toolbar.bottom.BottomToolbarConfiguration; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; @@ -147,7 +147,7 @@ public void onActivityCreated(Bundle savedInstanceState) { enableSpeedreader.setOnPreferenceChangeListener(this); if (enableSpeedreader instanceof ChromeSwitchPreference) { ((ChromeSwitchPreference) enableSpeedreader) - .setChecked(UserPrefs.get(Profile.getLastUsedRegularProfile()) + .setChecked(UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.SPEEDREADER_PREF_ENABLED)); } } @@ -201,7 +201,7 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { ChromeSharedPreferences.getInstance() .writeBoolean(BravePreferenceKeys.BRAVE_TAB_GROUPS_ENABLED, (boolean) newValue); } else if (PREF_BRAVE_ENABLE_SPEEDREADER.equals(key)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.SPEEDREADER_PREF_ENABLED, (boolean) newValue); shouldRelaunch = true; } diff --git a/android/java/org/chromium/chrome/browser/settings/BackgroundImagesPreferences.java b/android/java/org/chromium/chrome/browser/settings/BackgroundImagesPreferences.java index 09c544ab5b1f..15c51ec13a01 100644 --- a/android/java/org/chromium/chrome/browser/settings/BackgroundImagesPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BackgroundImagesPreferences.java @@ -17,7 +17,7 @@ import org.chromium.chrome.browser.BraveRelaunchUtils; import org.chromium.chrome.browser.ntp_background_images.NTPBackgroundImagesBridge; import org.chromium.chrome.browser.preferences.BravePref; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.SettingsUtils; import org.chromium.components.user_prefs.UserPrefs; @@ -56,7 +56,7 @@ public void onActivityCreated(Bundle savedInstanceState) { if (mShowBackgroundImagesPref != null) { mShowBackgroundImagesPref.setEnabled(true); mShowBackgroundImagesPref.setChecked( - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE)); mShowBackgroundImagesPref.setOnPreferenceChangeListener(this); } @@ -64,10 +64,10 @@ public void onActivityCreated(Bundle savedInstanceState) { (ChromeSwitchPreference) findPreference(PREF_SHOW_SPONSORED_IMAGES); if (mShowSponsoredImagesPref != null) { mShowSponsoredImagesPref.setEnabled( - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE)); mShowSponsoredImagesPref.setChecked( - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean( BravePref.NEW_TAB_PAGE_SHOW_SPONSORED_IMAGES_BACKGROUND_IMAGE)); mShowSponsoredImagesPref.setOnPreferenceChangeListener(this); @@ -107,9 +107,9 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { public static void setOnPreferenceValue(String preferenceName, boolean newValue) { if (PREF_SHOW_BACKGROUND_IMAGES.equals(preferenceName)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()).setBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE, newValue); + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()).setBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE, newValue); } else if (PREF_SHOW_SPONSORED_IMAGES.equals(preferenceName)) { - UserPrefs.get(Profile.getLastUsedRegularProfile()).setBoolean(BravePref.NEW_TAB_PAGE_SHOW_SPONSORED_IMAGES_BACKGROUND_IMAGE, (boolean)newValue); + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()).setBoolean(BravePref.NEW_TAB_PAGE_SHOW_SPONSORED_IMAGES_BACKGROUND_IMAGE, (boolean)newValue); } else { SharedPreferences sharedPreferences = ContextUtils.getAppSharedPreferences(); SharedPreferences.Editor sharedPreferencesEditor = sharedPreferences.edit(); diff --git a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java index 0a3060f6c987..43868afdaa25 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java @@ -32,7 +32,7 @@ import org.chromium.chrome.browser.partnercustomizations.CloseBraveManager; import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.privacy.settings.BravePrivacySettings; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.rate.BraveRateDialogFragment; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.chrome.browser.toolbar.bottom.BottomToolbarConfiguration; @@ -401,7 +401,7 @@ private void updatePreferenceIcons() { } private void updateSearchEnginePreference() { - if (!TemplateUrlServiceFactory.getForProfile(Profile.getLastUsedRegularProfile()) + if (!TemplateUrlServiceFactory.getForProfile(ProfileManager.getLastUsedRegularProfile()) .isLoaded()) { ChromeBasePreference searchEnginePref = (ChromeBasePreference) findPreference(PREF_BRAVE_SEARCH_ENGINES); diff --git a/android/java/org/chromium/chrome/browser/settings/BravePreferenceDialogFragment.java b/android/java/org/chromium/chrome/browser/settings/BravePreferenceDialogFragment.java index cc0cebb7275a..1bd033a20d71 100644 --- a/android/java/org/chromium/chrome/browser/settings/BravePreferenceDialogFragment.java +++ b/android/java/org/chromium/chrome/browser/settings/BravePreferenceDialogFragment.java @@ -22,7 +22,7 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.preferences.website.BraveShieldsContentSettings; import org.chromium.chrome.browser.privacy.settings.BravePrivacySettings; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; public class BravePreferenceDialogFragment extends PreferenceDialogFragmentCompat { public static final String TAG = "BravePreferenceDialogFragment"; @@ -61,12 +61,12 @@ public void onDialogClosed(boolean positiveResult) { if (currentPreference.equals(BravePrivacySettings.PREF_FINGERPRINTING_PROTECTION)) { onPreferenceChangeListener.onPreferenceChange(dialogPreference, BraveShieldsContentSettings.getShieldsValue( - Profile.getLastUsedRegularProfile(), "", + ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING)); } else if (currentPreference.equals(BravePrivacySettings.PREF_BLOCK_TRACKERS_ADS)) { onPreferenceChangeListener.onPreferenceChange(dialogPreference, BraveShieldsContentSettings.getShieldsValue( - Profile.getLastUsedRegularProfile(), "", + ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_TRACKERS)); } else { onPreferenceChangeListener.onPreferenceChange( @@ -90,17 +90,17 @@ public void onCheckedChanged(RadioGroup group, int checkedId) { BravePrivacySettings.PREF_FINGERPRINTING_PROTECTION)) { if ((int) newValue == 0) { BraveShieldsContentSettings.setShieldsValue( - Profile.getLastUsedRegularProfile(), "", + ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING, BraveShieldsContentSettings.BLOCK_RESOURCE, false); } else if ((int) newValue == 1) { BraveShieldsContentSettings.setShieldsValue( - Profile.getLastUsedRegularProfile(), "", + ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING, BraveShieldsContentSettings.DEFAULT, false); } else { BraveShieldsContentSettings.setShieldsValue( - Profile.getLastUsedRegularProfile(), "", + ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING, BraveShieldsContentSettings.ALLOW_RESOURCE, false); } @@ -109,19 +109,19 @@ public void onCheckedChanged(RadioGroup group, int checkedId) { switch ((int) newValue) { case 0: BraveShieldsContentSettings.setShieldsValue( - Profile.getLastUsedRegularProfile(), "", + ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_TRACKERS, BraveShieldsContentSettings.BLOCK_RESOURCE, false); break; case 1: BraveShieldsContentSettings.setShieldsValue( - Profile.getLastUsedRegularProfile(), "", + ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_TRACKERS, BraveShieldsContentSettings.DEFAULT, false); break; default: BraveShieldsContentSettings.setShieldsValue( - Profile.getLastUsedRegularProfile(), "", + ProfileManager.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_TRACKERS, BraveShieldsContentSettings.ALLOW_RESOURCE, false); break; diff --git a/android/java/org/chromium/chrome/browser/settings/BraveSearchEngineUtils.java b/android/java/org/chromium/chrome/browser/settings/BraveSearchEngineUtils.java index 8bcda568dd81..6589d593f1af 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveSearchEngineUtils.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveSearchEngineUtils.java @@ -9,6 +9,7 @@ import org.chromium.base.ContextUtils; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.chrome.browser.search_engines.settings.BraveSearchEngineAdapter; import org.chromium.chrome.browser.tabmodel.TabModelSelector; @@ -27,7 +28,7 @@ public static void initializeBraveSearchEngineStates(TabModelSelector tabModelSe // so do it after TemplateUrlService is loaded to get it if it isn't loaded yet. // Init on regular profile only, leave the rest to listener, since // user shouldn't be able to go directly into a private tab on first run. - final Profile profile = Profile.getLastUsedRegularProfile(); + final Profile profile = ProfileManager.getLastUsedRegularProfile(); initializeBraveSearchEngineStates(profile); } diff --git a/android/java/org/chromium/chrome/browser/settings/BraveSearchEnginesPreferences.java b/android/java/org/chromium/chrome/browser/settings/BraveSearchEnginesPreferences.java index fc92b3102981..bc51f015f78a 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveSearchEnginesPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveSearchEnginesPreferences.java @@ -12,6 +12,7 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.components.browser_ui.settings.SettingsUtils; public class BraveSearchEnginesPreferences extends BravePreferenceFragment { @@ -32,7 +33,7 @@ public void onResume() { } private void updateSearchEnginePreference() { - Profile lastUsedRegularProfile = Profile.getLastUsedRegularProfile(); + Profile lastUsedRegularProfile = ProfileManager.getLastUsedRegularProfile(); Preference searchEnginePreference = findPreference(PREF_STANDARD_SEARCH_ENGINE); searchEnginePreference.setEnabled(true); searchEnginePreference.setSummary( diff --git a/android/java/org/chromium/chrome/browser/settings/developer/BraveQAPreferences.java b/android/java/org/chromium/chrome/browser/settings/developer/BraveQAPreferences.java index 79075b55fc70..0efb54572296 100644 --- a/android/java/org/chromium/chrome/browser/settings/developer/BraveQAPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/developer/BraveQAPreferences.java @@ -37,7 +37,7 @@ import org.chromium.chrome.browser.onboarding.OnboardingPrefManager; import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.preferences.BravePrefServiceBridge; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.rewards.BraveRewardsPanel; import org.chromium.chrome.browser.settings.BravePreferenceFragment; import org.chromium.chrome.browser.util.BraveDbUtil; @@ -110,7 +110,7 @@ public void onCreate(Bundle savedInstanceState) { if (mIsStagingServer != null) { mIsStagingServer.setOnPreferenceChangeListener(this); } - mIsStagingServer.setChecked(UserPrefs.get(Profile.getLastUsedRegularProfile()) + mIsStagingServer.setChecked(UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.USE_REWARDS_STAGING_SERVER)); mIsSyncStagingServer = @@ -389,7 +389,7 @@ public void onResetTheWholeState(boolean success) { sharedPreferencesEditor.apply(); BravePrefServiceBridge.getInstance().setSafetynetCheckFailed(false); - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setBoolean(BravePref.USE_REWARDS_STAGING_SERVER, mUseRewardsStagingServer); BraveRewardsHelper.setRewardsEnvChange(true); diff --git a/android/java/org/chromium/chrome/browser/settings/themes/BraveRadioButtonGroupCustomHomepageThemePreference.java b/android/java/org/chromium/chrome/browser/settings/themes/BraveRadioButtonGroupCustomHomepageThemePreference.java index a879372316cb..cc6e18b1565d 100644 --- a/android/java/org/chromium/chrome/browser/settings/themes/BraveRadioButtonGroupCustomHomepageThemePreference.java +++ b/android/java/org/chromium/chrome/browser/settings/themes/BraveRadioButtonGroupCustomHomepageThemePreference.java @@ -18,6 +18,7 @@ import org.chromium.chrome.browser.ntp_background_images.NTPBackgroundImagesBridge; import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.components.browser_ui.widget.RadioButtonWithDescription; import org.chromium.components.user_prefs.UserPrefs; @@ -29,7 +30,7 @@ public class BraveRadioButtonGroupCustomHomepageThemePreference extends RadioBut public BraveRadioButtonGroupCustomHomepageThemePreference(Context context, AttributeSet attrs) { super(context, attrs); - Profile mProfile = Profile.getLastUsedRegularProfile(); + Profile mProfile = ProfileManager.getLastUsedRegularProfile(); mNTPBackgroundImagesBridge = NTPBackgroundImagesBridge.getInstance(mProfile); } @@ -43,7 +44,7 @@ public void onBindViewHolder(PreferenceViewHolder holder) { RadioButtonWithDescription refView = (RadioButtonWithDescription)holder.findViewById(R.id.dark); if (mNTPBackgroundImagesBridge != null && mNTPBackgroundImagesBridge.isSuperReferral()) { refView.setPrimaryText(mNTPBackgroundImagesBridge.getSuperReferralThemeName()); - if(UserPrefs.get(Profile.getLastUsedRegularProfile()).getInteger(BravePref.NEW_TAB_PAGE_SUPER_REFERRAL_THEMES_OPTION) == 1 ? true : false) { + if(UserPrefs.get(ProfileManager.getLastUsedRegularProfile()).getInteger(BravePref.NEW_TAB_PAGE_SUPER_REFERRAL_THEMES_OPTION) == 1 ? true : false) { refView.setChecked(true); braveDefaultView.setChecked(false); } else { @@ -58,7 +59,7 @@ public void onBindViewHolder(PreferenceViewHolder holder) { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { super.onCheckedChanged(group, checkedId); - UserPrefs.get(Profile.getLastUsedRegularProfile()).setInteger(BravePref.NEW_TAB_PAGE_SUPER_REFERRAL_THEMES_OPTION, checkedId == R.id.light ? 0 : 1 ); + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()).setInteger(BravePref.NEW_TAB_PAGE_SUPER_REFERRAL_THEMES_OPTION, checkedId == R.id.light ? 0 : 1 ); BraveRelaunchUtils.askForRelaunch(getContext()); } } diff --git a/android/java/org/chromium/chrome/browser/speedreader/BraveSpeedReaderManager.java b/android/java/org/chromium/chrome/browser/speedreader/BraveSpeedReaderManager.java index 5d22d4c29480..449a2ea4c63b 100644 --- a/android/java/org/chromium/chrome/browser/speedreader/BraveSpeedReaderManager.java +++ b/android/java/org/chromium/chrome/browser/speedreader/BraveSpeedReaderManager.java @@ -15,7 +15,7 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.preferences.BravePref; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.tab.EmptyTabObserver; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabSelectionType; @@ -174,7 +174,7 @@ public static boolean isEnabled() { boolean isFeatureEnabled = ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_SPEEDREADER); if (!isFeatureEnabled) return false; - boolean isPrefEnabled = UserPrefs.get(Profile.getLastUsedRegularProfile()) + boolean isPrefEnabled = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.SPEEDREADER_PREF_ENABLED); return isPrefEnabled; } diff --git a/android/java/org/chromium/chrome/browser/suggestions/tile/BraveTileView.java b/android/java/org/chromium/chrome/browser/suggestions/tile/BraveTileView.java index d02efc3931ce..546b746ef7d9 100644 --- a/android/java/org/chromium/chrome/browser/suggestions/tile/BraveTileView.java +++ b/android/java/org/chromium/chrome/browser/suggestions/tile/BraveTileView.java @@ -30,7 +30,7 @@ public void setTitle(String title, int titleLines) { super.setTitle(title, titleLines); if (ProfileManager.isInitialized()) { TextView mTitleView = findViewById(R.id.tile_view_title); - if (UserPrefs.get(Profile.getLastUsedRegularProfile()) + if (UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE)) { mTitleView.setTextColor( getContext().getColor(R.color.brave_state_time_count_color)); diff --git a/android/java/org/chromium/chrome/browser/tabmodel/BraveTabCreator.java b/android/java/org/chromium/chrome/browser/tabmodel/BraveTabCreator.java index 7da07748436a..44ba735e7cf5 100644 --- a/android/java/org/chromium/chrome/browser/tabmodel/BraveTabCreator.java +++ b/android/java/org/chromium/chrome/browser/tabmodel/BraveTabCreator.java @@ -20,7 +20,7 @@ import org.chromium.chrome.browser.ntp_background_images.NTPBackgroundImagesBridge; import org.chromium.chrome.browser.ntp_background_images.util.SponsoredImageUtil; import org.chromium.chrome.browser.preferences.BravePref; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.profiles.ProfileProvider; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabDelegateFactory; @@ -65,7 +65,7 @@ public Tab launchUrl(String url, @TabLaunchType int type) { if (chromeTabbedActivity != null && Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) { TabModel tabModel = chromeTabbedActivity.getCurrentTabModel(); if (tabModel.getCount() >= SponsoredImageUtil.MAX_TABS - && UserPrefs.get(Profile.getLastUsedRegularProfile()) + && UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE)) { Tab tab = BraveActivity.class.cast(chromeTabbedActivity) .selectExistingTab(UrlConstants.NTP_URL); @@ -90,7 +90,7 @@ public Tab createNewTab(LoadUrlParams loadUrlParams, @TabLaunchType int type, Ta } private void registerPageView() { - NTPBackgroundImagesBridge.getInstance(Profile.getLastUsedRegularProfile()) + NTPBackgroundImagesBridge.getInstance(ProfileManager.getLastUsedRegularProfile()) .registerPageView(); } } diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnPrefUtils.java b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnPrefUtils.java index 75f0b5711e9c..3f9f9386f8ab 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnPrefUtils.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnPrefUtils.java @@ -11,7 +11,7 @@ import org.chromium.base.ContextUtils; import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.vpn.models.BraveVpnPrefModel; import org.chromium.components.user_prefs.UserPrefs; @@ -136,9 +136,9 @@ public static String getHostnameDisplay() { public static void setPurchaseToken(String value) { ChromeSharedPreferences.getInstance().writeString(PREF_BRAVE_VPN_PURCHASE_TOKEN, value); - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setString(BravePref.BRAVE_VPN_PURCHASE_TOKEN_ANDROID, value); - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setString(BravePref.BRAVE_VPN_PACKAGE_ANDROID, ContextUtils.getApplicationContext().getPackageName()); } @@ -149,7 +149,7 @@ public static String getPurchaseToken() { public static void setProductId(String value) { ChromeSharedPreferences.getInstance().writeString(PREF_BRAVE_VPN_PRODUCT_ID, value); - UserPrefs.get(Profile.getLastUsedRegularProfile()) + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setString(BravePref.BRAVE_VPN_PRODUCT_ID_ANDROID, value); } diff --git a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java index e372888ac071..11f3256a0932 100644 --- a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java +++ b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java @@ -1,9 +1,9 @@ /* - Copyright (c) 2022 The Brave Authors. All rights reserved. - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this file, - You can obtain one at https://mozilla.org/MPL/2.0/. - */ + Copyright (c) 2022 The Brave Authors. All rights reserved. + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this file, + You can obtain one at https://mozilla.org/MPL/2.0/. +*/ package org.chromium.chrome.browser.widget.quickactionsearchandbookmark; @@ -47,6 +47,7 @@ import org.chromium.chrome.browser.init.EmptyBrowserParts; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.searchwidget.SearchActivity; import org.chromium.chrome.browser.settings.BraveSearchEngineUtils; import org.chromium.chrome.browser.suggestions.tile.Tile; @@ -289,7 +290,7 @@ private static void updateAppWidgets(int[] appWidgetIds) { } private static void setDefaultSearchEngineString(RemoteViews views) { - final Profile profile = Profile.getLastUsedRegularProfile(); + final Profile profile = ProfileManager.getLastUsedRegularProfile(); TemplateUrl templateUrl = BraveSearchEngineUtils.getTemplateUrlByShortName( profile, BraveSearchEngineUtils.getDSEShortName(profile, false)); if (templateUrl != null) { @@ -341,7 +342,7 @@ private static void setTopTiles( } private static void fetchGurlIcon(final int imageViewId, GURL gurl) { - LargeIconBridge largeIconBridge = new LargeIconBridge(Profile.getLastUsedRegularProfile()); + LargeIconBridge largeIconBridge = new LargeIconBridge(ProfileManager.getLastUsedRegularProfile()); LargeIconCallback callback = new LargeIconCallback() { @Override public void onLargeIconAvailable(Bitmap icon, int fallbackColor, diff --git a/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsNotificationDialog.java b/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsNotificationDialog.java index c7d888c1e68b..cfcf88a13354 100644 --- a/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsNotificationDialog.java +++ b/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsNotificationDialog.java @@ -1,9 +1,7 @@ -/** - * Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at https://mozilla.org/MPL/2.0/. - */ + /* Copyright (c) 2020 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ package org.chromium.chrome.browser.dialogs; @@ -32,7 +30,7 @@ import org.chromium.chrome.browser.app.BraveActivity; import org.chromium.chrome.browser.night_mode.GlobalNightModeStateProviderHolder; import org.chromium.chrome.browser.notifications.BraveOnboardingNotification; -import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.tab.TabLaunchType; public class BraveAdsNotificationDialog { @@ -81,7 +79,7 @@ public boolean onTouch(View v, MotionEvent event) { mAdsDialog.dismiss(); mAdsDialog = null; BraveAdsNativeHelper.nativeOnNotificationAdClosed( - Profile.getLastUsedRegularProfile(), mNotificationId, true); + ProfileManager.getLastUsedRegularProfile(), mNotificationId, true); mNotificationId = null; } else if (Math.abs(deltaXDp) <= MAX_DISTANCE_FOR_TAP) { adsDialogTapped(mOrigin); @@ -141,7 +139,7 @@ public static void showNotificationAd(Context context, final String notification if (mNotificationId != null) { BraveAdsNativeHelper.nativeOnNotificationAdShown( - Profile.getLastUsedRegularProfile(), mNotificationId); + ProfileManager.getLastUsedRegularProfile(), mNotificationId); } mAdsDialog.show(); @@ -183,7 +181,7 @@ private static void adsDialogTapped(final String origin) { mAdsDialog.dismiss(); mAdsDialog = null; BraveAdsNativeHelper.nativeOnNotificationAdClicked( - Profile.getLastUsedRegularProfile(), mNotificationId); + ProfileManager.getLastUsedRegularProfile(), mNotificationId); } mNotificationId = null; } @@ -210,7 +208,7 @@ private static void closeNotificationAd(final String notificationId) { mAdsDialog.dismiss(); mAdsDialog = null; BraveAdsNativeHelper.nativeOnNotificationAdClosed( - Profile.getLastUsedRegularProfile(), mNotificationId, false); + ProfileManager.getLastUsedRegularProfile(), mNotificationId, false); } } catch (IllegalArgumentException e) { mAdsDialog = null; From ac02edbf6bd346b5cb7d4bd5275cab8fbe47f22e Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Fri, 1 Mar 2024 13:47:29 -0500 Subject: [PATCH 029/130] [Android] Adjust Bottom Controls Toolbar height Chromium change: https://source.chromium.org/chromium/chromium/src/+/868ff7f680a9e90147d4bca69b086a268f128cf8 [E2E] Adjust Bottom Controls Toolbar height Updates the BottomControls to use an appropriate Bar height when drawing ToEdge. Swiping on the Top Toolbar to switch tabs looks terrible, but I don't think hardly any users do that. Though we have bugs on that. Maybe we can add tests when we add that fix. BUG=41483234 Change-Id: I4cbba784a2f5e3ea00cd619656d2768cb621f7df --- .../toolbar/bottom/BraveBottomControlsCoordinator.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java index 72106ac99800..3404a3b73ac3 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java @@ -30,6 +30,7 @@ import org.chromium.chrome.browser.theme.ThemeColorProvider; import org.chromium.chrome.browser.toolbar.LocationBarModel; import org.chromium.chrome.browser.ui.appmenu.AppMenuButtonHelper; +import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.resources.ResourceManager; @@ -52,10 +53,14 @@ public class BraveBottomControlsCoordinator extends BottomControlsCoordinator { public BraveBottomControlsCoordinator( OneshotSupplier layoutStateProviderSupplier, - OnLongClickListener tabSwitcherLongclickListener, ActivityTabProvider tabProvider, - Runnable openHomepageAction, Callback setUrlBarFocusAction, + OnLongClickListener tabSwitcherLongclickListener, + ActivityTabProvider tabProvider, + Runnable openHomepageAction, + Callback setUrlBarFocusAction, ObservableSupplier menuButtonHelperSupplier, ThemeColorProvider themeColorProvider, + ObservableSupplier bookmarkModelSupplier, + LocationBarModel locationBarModel, /* Below are parameters from BottomControlsCoordinator */ Activity activity, WindowAndroid windowAndroid, From 14486b137a1cd42636b0dc6217003813822fffdf Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 1 Mar 2024 18:40:22 +0000 Subject: [PATCH 030/130] `kTextEmbeddingPageContentAnnotations` deleted upstream This flag was being disabled at brave, however the flag had already been gutted and it was not in use by the point it got deleted. Chromium change: https://chromium.googlesource.com/chromium/src/+/3b4905e493fbbd7e4f54328eacb6d2046122622f commit 3b4905e493fbbd7e4f54328eacb6d2046122622f Author: Sophie Chang Date: Wed Feb 28 05:48:20 2024 +0000 Delete more entities code Bug: b:312212465 --- app/feature_defaults_unittest.cc | 1 - .../optimization_guide/core/optimization_guide_features.cc | 1 - 2 files changed, 2 deletions(-) diff --git a/app/feature_defaults_unittest.cc b/app/feature_defaults_unittest.cc index e5f2c78c3edf..82d5aeced840 100644 --- a/app/feature_defaults_unittest.cc +++ b/app/feature_defaults_unittest.cc @@ -245,7 +245,6 @@ TEST(FeatureDefaultsTest, DisabledFeatures) { &optimization_guide::features::kRemoteOptimizationGuideFetching, &optimization_guide::features:: kRemoteOptimizationGuideFetchingAnonymousDataConsent, - &optimization_guide::features::kTextEmbeddingPageContentAnnotations, &page_image_service::kImageService, &page_image_service::kImageServiceSuggestPoweredImages, #if BUILDFLAG(IS_ANDROID) diff --git a/chromium_src/components/optimization_guide/core/optimization_guide_features.cc b/chromium_src/components/optimization_guide/core/optimization_guide_features.cc index 5ce1de0c003e..892684491d3a 100644 --- a/chromium_src/components/optimization_guide/core/optimization_guide_features.cc +++ b/chromium_src/components/optimization_guide/core/optimization_guide_features.cc @@ -17,7 +17,6 @@ OVERRIDE_FEATURE_DEFAULT_STATES({{ {kRemoteOptimizationGuideFetching, base::FEATURE_DISABLED_BY_DEFAULT}, {kRemoteOptimizationGuideFetchingAnonymousDataConsent, base::FEATURE_DISABLED_BY_DEFAULT}, - {kTextEmbeddingPageContentAnnotations, base::FEATURE_DISABLED_BY_DEFAULT}, }}); } // namespace features From 728395f623a835e298822a98da61e2f353bd4e80 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 1 Mar 2024 18:41:54 +0000 Subject: [PATCH 031/130] `GenerateBitmap` added quiet zone arg This is of no consequence to brave, as our uses do not make anything with the quiet zone area. Chromium change: https://chromium.googlesource.com/chromium/src/+/9106cb50e3f0c2d6fc20845c424727c1f9579130 commit 9106cb50e3f0c2d6fc20845c424727c1f9579130 Author: Lukasz Anforowicz Date: Tue Feb 27 22:44:12 2024 +0000 QR code: Paint quiet zone underneath `//components/qr_code_generator`. This CL moves painting of the "quiet zone" from `//chrome/browser/ui/views/qrcode_generator/qrcode_generator_bubble.cc` into `//components/qr_code_generator/bitmap_generator.cc`. This helps to ensure that all clients of `qr_code_generator` make an explicit decision about who is responsible for generating the quiet zone. The CL tweaks the code underneath `//components/qr_code_generator` instead of reusing/copying the code from `qrcode_generator_bubble.cc`. This results in a somewhat simpler code, and avoids creating additional images (and additional memory copies). The end-to-end behavior of `qrcode_generator_bubble.cc` shouldn't change - it should include the exact same quiet zone before and after this CL (except for the colors - see the next paragraph). The old code would use `GetColorProvider()->GetColor(kColorQrCodeBackground)` as the color of the "quiet zone". The new code always uses white. The new behavior is desirable because the quiet zone should have the same color as the light-colored QR pixels (and currently `bitmap_generator.cc` always paints black pixels on white background). In the future we may want to make the exact colors configurable (e.g. theme-based). Other than the color change described above, the CL should preserve the old behavior (using `kWillBeAddedByClient` everywhere except the pixel tests and `qrcode_generator_bubble.cc`). In particular, after this CL most QR code clients continue to not include the quiet zone within the image of the QR code (although surrounding UI elements may accidentally provide such quiet zone). Manual tests: * Manually navigated to https://example.com and used Chrome menu => Save and share => Create QR Code and verified that the generated code works with Google Lens on an Android device * Manually tested whether the new pixel test goldens decode successfully with Google Lens on an Android device (see https://crbug.com/325664342#comment6 and #comment8 and #comment9): - `DinoWithRoundQrPixelsAndLocators`, `PassKeyWithSquareQrPixelsAndLocators`, and `BigUrl` tests worked fine after this CL (an improvement, because their goldens didn't decode before this CL) - `HugeUrl` test didn't decode before and after this CL Bug: 325664342 --- browser/ui/webui/settings/brave_sync_handler.cc | 3 ++- ios/browser/api/qr_code/qr_code_generator.mm | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/browser/ui/webui/settings/brave_sync_handler.cc b/browser/ui/webui/settings/brave_sync_handler.cc index f758e87938d4..ac1c84d4d036 100644 --- a/browser/ui/webui/settings/brave_sync_handler.cc +++ b/browser/ui/webui/settings/brave_sync_handler.cc @@ -187,7 +187,8 @@ void BraveSyncHandler::HandleGetQRCode(const base::Value::List& args) { base::as_byte_span(qr_code_string), qr_code_generator::ModuleStyle::kCircles, qr_code_generator::LocatorStyle::kRounded, - qr_code_generator::CenterImage::kDino); + qr_code_generator::CenterImage::kDino, + qr_code_generator::QuietZone::kWillBeAddedByClient); if (!qr_image.has_value()) { VLOG(1) << "QR code generator failure: " diff --git a/ios/browser/api/qr_code/qr_code_generator.mm b/ios/browser/api/qr_code/qr_code_generator.mm index 418d6018d900..d430873de2c7 100644 --- a/ios/browser/api/qr_code/qr_code_generator.mm +++ b/ios/browser/api/qr_code/qr_code_generator.mm @@ -84,7 +84,8 @@ - (BraveQRCodeGeneratorResult*)generateQRCode: native_options->render_module_style, native_options->render_locator_style, native_options->render_dino ? qr_code_generator::CenterImage::kDino - : qr_code_generator::CenterImage::kNoCenterImage); + : qr_code_generator::CenterImage::kNoCenterImage, + qr_code_generator::QuietZone::kWillBeAddedByClient); return [[BraveQRCodeGeneratorResult alloc] initWithOptions:qr_image]; } @end From acf1383bcf6c3c41bf50fe58e99be0b46a196124 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 1 Mar 2024 18:44:54 +0000 Subject: [PATCH 032/130] `web_data_service_factory.h` changed paths. This is a simple change in the inclusion path for this header. Chromium change: https://chromium.googlesource.com/chromium/src/+/a5987538ee7210a2d313efd156102ee0ae820dff commit a5987538ee7210a2d313efd156102ee0ae820dff Author: Florian Leimgruber Date: Tue Feb 27 20:31:52 2024 +0000 Move WebDataServiceFactory into subdirectory web_data_service_factory.(cc|h) is responsible for creating the WebDataServiceWrapper, defined in components/webdata_services/. The factory is contained in chrome/browser, rather than a webdata_services subdirectory, like the components/ counterpart. This CL moves the files into a subdirectory and gives ownership to components/webdata_services/OWNERS. A DIR_METADATA file matching components/webdata_services/DIR_METADATA is created as well. Renaming was done using git mv chrome/browser/web_data_service_factory.* chrome/browser/webdata_services/ ./tools/git/mass-rename.py git cl format The include_rules from chrome/browser/DEPS can likely be simplified now, but this is not attempted by this CL. Bug: b/322147254 --- .../browser/search_engines/template_url_service_factory.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium_src/chrome/browser/search_engines/template_url_service_factory.cc b/chromium_src/chrome/browser/search_engines/template_url_service_factory.cc index 39ae7cb66293..176b36027a27 100644 --- a/chromium_src/chrome/browser/search_engines/template_url_service_factory.cc +++ b/chromium_src/chrome/browser/search_engines/template_url_service_factory.cc @@ -6,7 +6,7 @@ #include "chrome/browser/search_engines/template_url_service_factory.h" #include "chrome/browser/history/history_service_factory.h" #include "chrome/browser/profiles/incognito_helpers.h" -#include "chrome/browser/web_data_service_factory.h" +#include "chrome/browser/webdata_services/web_data_service_factory.h" #include "src/chrome/browser/search_engines/template_url_service_factory.cc" From 7290de6155e723322fcc0e46d18ba23e0a9b680d Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 1 Mar 2024 18:46:26 +0000 Subject: [PATCH 033/130] `BrowsingDataType::NUM_TYPES` deleted With the deletion of this enum entry, a couple of overrides for `BRAVE_AI_CHAT` were broken. This change chooses alternative tokens to preserve the original operations. Chromium change: https://chromium.googlesource.com/chromium/src/+/26663c6f6e10e6b937f793d3f15136965cfeab86 commit 26663c6f6e10e6b937f793d3f15136965cfeab86 Author: Victor Hugo Vianna Silva Date: Wed Feb 28 14:10:44 2024 +0000 Modernize some browsing_data enums No behavior change. * Remove BrowsingDataType::BOOKMARKS, it was unused. * For BrowsingDataType and ClearBrowsingDataTab, instead of having a NUM_ENTRIES sentinel (last value + 1), use a MAX_VALUE one (last value). This spares some NOTREACHED() in switch statements. * Rename BrowsingDataType::COOKIES to SITE_DATA, which was requested in [1]. In truth, the code seems to refer to this concept somewhat inconsistently [2][3], so I didn't bother updating any more sites. [1] https://chromium-review.googlesource.com/c/chromium/src/+/5328206/comment/eaa5ea52_60fdd066/ [2] https://source.chromium.org/chromium/chromium/src/+/main:components/sync_preferences/common_syncable_prefs_database.cc;l=57;drc=51c82e52f085a1ceed092f144aa1dd3d3d45dd7f [3] https://source.chromium.org/chromium/chromium/src/+/main:chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java;l=261;drc=e4d49966e41eefba6e176601f5dfdc95303d62ea Bug: None --- .../webui/settings/settings_clear_browsing_data_handler.cc | 6 +++--- .../components/browsing_data/core/browsing_data_utils.cc | 6 +++--- .../components/browsing_data/core/browsing_data_utils.h | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/chromium_src/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc b/chromium_src/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc index c08c7935f56b..7808dbaf89c2 100644 --- a/chromium_src/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc +++ b/chromium_src/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc @@ -28,17 +28,17 @@ void BraveRemoveJumplist(Profile* profile) { #endif #if BUILDFLAG(ENABLE_AI_CHAT) -#define NUM_TYPES \ +#define HOSTED_APPS_DATA \ BRAVE_AI_CHAT: \ remove_mask |= chrome_browsing_data_remover::DATA_TYPE_BRAVE_LEO_HISTORY; \ break; \ - case BrowsingDataType::NUM_TYPES + case BrowsingDataType::HOSTED_APPS_DATA #endif // BUILDFLAG(ENABLE_AI_CHAT) #include "src/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc" #if BUILDFLAG(ENABLE_AI_CHAT) -#undef NUM_TYPES +#undef HOSTED_APPS_DATA #endif // BUILDFLAG(ENABLE_AI_CHAT) #if BUILDFLAG(IS_WIN) diff --git a/chromium_src/components/browsing_data/core/browsing_data_utils.cc b/chromium_src/components/browsing_data/core/browsing_data_utils.cc index 733dba18c8e1..62d69f9c4ec9 100644 --- a/chromium_src/components/browsing_data/core/browsing_data_utils.cc +++ b/chromium_src/components/browsing_data/core/browsing_data_utils.cc @@ -15,15 +15,15 @@ GetDeletionPreferenceFromDataType_ChromiumImpl #define GetDataTypeFromDeletionPreference \ GetDataTypeFromDeletionPreference_ChromiumImpl -#define NUM_TYPES \ - NUM_TYPES: \ +#define TABS \ + TABS: \ case BrowsingDataType::BRAVE_AI_CHAT #endif // BUILDFLAG(ENABLE_AI_CHAT) #include "src/components/browsing_data/core/browsing_data_utils.cc" #if BUILDFLAG(ENABLE_AI_CHAT) -#undef NUM_TYPES +#undef TABS #endif // BUILDFLAG(ENABLE_AI_CHAT) #undef GetDataTypeFromDeletionPreference #undef GetDeletionPreferenceFromDataType diff --git a/chromium_src/components/browsing_data/core/browsing_data_utils.h b/chromium_src/components/browsing_data/core/browsing_data_utils.h index 475e139f11c5..53204f96cdc7 100644 --- a/chromium_src/components/browsing_data/core/browsing_data_utils.h +++ b/chromium_src/components/browsing_data/core/browsing_data_utils.h @@ -9,13 +9,13 @@ #include "brave/components/ai_chat/core/common/buildflags/buildflags.h" #if BUILDFLAG(ENABLE_AI_CHAT) -#define NUM_TYPES NUM_TYPES, BRAVE_AI_CHAT +#define HOSTED_APPS_DATA HOSTED_APPS_DATA, BRAVE_AI_CHAT #endif // BUILDFLAG(ENABLE_AI_CHAT) #include "src/components/browsing_data/core/browsing_data_utils.h" // IWYU pragma: export #if BUILDFLAG(ENABLE_AI_CHAT) -#undef NUM_TYPES +#undef HOSTED_APPS_DATA #endif // BUILDFLAG(ENABLE_AI_CHAT) #endif // BRAVE_CHROMIUM_SRC_COMPONENTS_BROWSING_DATA_CORE_BROWSING_DATA_UTILS_H_ From 1c9de4d993cd92e28c4bd76d1275a7458de3915b Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 1 Mar 2024 18:48:23 +0000 Subject: [PATCH 034/130] `sql::Recovery` deleted upstream This class has been replaced with the use of `sql::BuiltInRecovery::RecoverIfPossible`, which is simpler and more straightforward. Addtionally `kAttributionStorageUseBuiltInRecoveryIfSupported` was also dropped as a result of this change, and it has also been deleted from brave. This feature is part of attribution reporting, which is already off. Chromium change: https://chromium.googlesource.com/chromium/src/+/b3be6371d9bde45b2e1d760836134a52ed05155a commit b3be6371d9bde45b2e1d760836134a52ed05155a Author: Evan Stade Date: Tue Feb 27 21:11:09 2024 +0000 SQL: remove legacy recovery code. Built-in recovery has been launched to stable for all databases that use recovery (in M122). -12KB binary size on Android. Bug: 40061775 --- .../attribution_features.cc | 17 ----------------- .../brave_federated/data_stores/data_store.cc | 11 +++-------- 2 files changed, 3 insertions(+), 25 deletions(-) delete mode 100644 chromium_src/content/browser/attribution_reporting/attribution_features.cc diff --git a/chromium_src/content/browser/attribution_reporting/attribution_features.cc b/chromium_src/content/browser/attribution_reporting/attribution_features.cc deleted file mode 100644 index 0743f2b16b25..000000000000 --- a/chromium_src/content/browser/attribution_reporting/attribution_features.cc +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright (c) 2023 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at https://mozilla.org/MPL/2.0/. */ - -#include "src/content/browser/attribution_reporting/attribution_features.cc" - -#include "base/feature_override.h" - -namespace content { - -OVERRIDE_FEATURE_DEFAULT_STATES({{ - {kAttributionStorageUseBuiltInRecoveryIfSupported, - base::FEATURE_DISABLED_BY_DEFAULT}, -}}); - -} // namespace content diff --git a/components/brave_federated/data_stores/data_store.cc b/components/brave_federated/data_stores/data_store.cc index a6d9416164a5..02081ff40aed 100644 --- a/components/brave_federated/data_stores/data_store.cc +++ b/components/brave_federated/data_stores/data_store.cc @@ -23,14 +23,9 @@ void DatabaseErrorCallback(sql::Database* db, const base::FilePath& db_file_path, int extended_error, sql::Statement* stmt) { - if (sql::Recovery::ShouldRecover(extended_error)) { - // Prevent reentrant calls. - db->reset_error_callback(); - - // After this call, the |db| handle is poisoned so that future calls will - // return errors until the handle is re-opened. - sql::Recovery::RecoverDatabase(db, db_file_path); - + if (sql::BuiltInRecovery::RecoverIfPossible( + db, extended_error, + sql::BuiltInRecovery::Strategy::kRecoverWithMetaVersionOrRaze)) { // The DLOG(FATAL) below is intended to draw immediate attention to errors // in newly-written code. Database corruption is generally a result of OS // or hardware issues, not coding errors at the client level, so displaying From 65edba34b7af9593161eedcc789d385336f96304 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Fri, 1 Mar 2024 13:52:32 -0500 Subject: [PATCH 035/130] [Android] Changes for GetIconIdAndroid in request_type Chromium change: https://source.chromium.org/chromium/chromium/src/+/735ff7d6dfc670721b18c3eab22f9436f3d75653 StorageAccess: Remove prompts flag The API is fully launched. Removing the flag. Bug: 1478113, 325983966 --- .../components/permissions/request_type.cc | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/chromium_src/components/permissions/request_type.cc b/chromium_src/components/permissions/request_type.cc index c9c9156c40e7..732e67ea0d65 100644 --- a/chromium_src/components/permissions/request_type.cc +++ b/chromium_src/components/permissions/request_type.cc @@ -17,8 +17,7 @@ #if BUILDFLAG(IS_ANDROID) namespace { -constexpr auto kAndroidInfobarPermissionCookie = - IDR_ANDROID_INFOBAR_PERMISSION_COOKIE; +constexpr auto kAndroidStorageAccess = IDR_ANDROID_STORAGE_ACCESS; } // namespace #else namespace vector_icons { @@ -33,8 +32,8 @@ constexpr auto& kMicIconValue = vector_icons::kMicIcon; // // TODO(jocelyn): Might need to update icon when we have ethereum.enable UI // support in Android. -#define IDR_ANDROID_INFOBAR_PERMISSION_COOKIE \ - kAndroidInfobarPermissionCookie; \ +#define IDR_ANDROID_STORAGE_ACCESS \ + kAndroidStorageAccess; \ case RequestType::kWidevine: \ case RequestType::kBraveEthereum: \ case RequestType::kBraveSolana: \ @@ -74,12 +73,12 @@ constexpr auto& kMicIconValue = vector_icons::kMicIcon; #include "src/components/permissions/request_type.cc" +#undef IsRequestablePermissionType +#undef RequestTypeToContentSettingsType +#undef ContentSettingsTypeToRequestType #undef BRAVE_PERMISSION_KEY_FOR_REQUEST_TYPE -#undef IDR_ANDROID_INFOBAR_PERMISSION_COOKIE #undef kMicIcon -#undef ContentSettingsTypeToRequestType -#undef RequestTypeToContentSettingsType -#undef IsRequestablePermissionType +#undef IDR_ANDROID_STORAGE_ACCESS namespace permissions { From 8f593fed5d181ce0322d7963716295d82fd9f70b Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Fri, 1 Mar 2024 16:33:59 -0500 Subject: [PATCH 036/130] [Android] Fixes for bytecode tests --- .../chromium/chrome/browser/BytecodeTest.java | 51 +++++++++++-------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index 5aeff219c9ea..7c756eef8ead 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -84,7 +84,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteDelegate; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; -import org.chromium.chrome.browser.omnibox.suggestions.history_clusters.HistoryClustersProcessor.OpenHistoryClustersDelegate; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegateImpl; import org.chromium.chrome.browser.suggestions.tile.TileRenderer; @@ -754,7 +753,6 @@ public void testConstructorsExistAndMatch() throws Exception { View.class, AppMenuDelegate.class, OneshotSupplier.class, - OneshotSupplier.class, ObservableSupplier.class, WebFeedSnackbarController.FeedLauncher.class, ModalDialogManager.class, @@ -782,6 +780,7 @@ public void testConstructorsExistAndMatch() throws Exception { AppCompatActivity.class, BrowserControlsSizer.class, FullscreenManager.class, + ObservableSupplier.class, ToolbarControlContainer.class, CompositorViewHolder.class, Callback.class, @@ -822,23 +821,35 @@ public void testConstructorsExistAndMatch() throws Exception { Supplier.class, boolean.class, BackPressManager.class, - OpenHistoryClustersDelegate.class, BooleanSupplier.class, ObservableSupplier.class, View.class)); - Assert.assertTrue(constructorsMatch( - "org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator", - "org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator", - WindowAndroid.class, PropertyModel.class, BrowserControlsSizer.class, - FullscreenManager.class, TabObscuringHandler.class, int.class, - ObservableSupplier.class)); - Assert.assertTrue(constructorsMatch( - "org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl", - "org/chromium/chrome/browser/app/appmenu/BraveAppMenuPropertiesDelegateImpl", - Context.class, ActivityTabProvider.class, MultiWindowModeStateDispatcher.class, - TabModelSelector.class, ToolbarManager.class, View.class, OneshotSupplier.class, - OneshotSupplier.class, ObservableSupplier.class, OneshotSupplier.class, - Supplier.class)); + Assert.assertTrue( + constructorsMatch( + "org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator", + "org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator", + WindowAndroid.class, + PropertyModel.class, + BrowserControlsSizer.class, + FullscreenManager.class, + TabObscuringHandler.class, + int.class, + ObservableSupplier.class, + ObservableSupplier.class)); + Assert.assertTrue( + constructorsMatch( + "org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl", + "org/chromium/chrome/browser/app/appmenu/BraveAppMenuPropertiesDelegateImpl", + Context.class, + ActivityTabProvider.class, + MultiWindowModeStateDispatcher.class, + TabModelSelector.class, + ToolbarManager.class, + View.class, + OneshotSupplier.class, + ObservableSupplier.class, + OneshotSupplier.class, + Supplier.class)); Assert.assertTrue( constructorsMatch("org/chromium/chrome/browser/settings/SettingsLauncherImpl", "org/chromium/chrome/browser/settings/BraveSettingsLauncherImpl")); @@ -930,7 +941,6 @@ public void testConstructorsExistAndMatch() throws Exception { OfflineDownloader.class, boolean.class, Callback.class, - boolean.class, ObservableSupplier.class, ObservableSupplier.class, BrowserStateBrowserControlsVisibilityDelegate.class, @@ -966,8 +976,7 @@ public void testConstructorsExistAndMatch() throws Exception { Callback.class, Supplier.class, BookmarkState.class, - OmniboxActionDelegate.class, - OpenHistoryClustersDelegate.class)); + OmniboxActionDelegate.class)); Assert.assertTrue( constructorsMatch( "org/chromium/chrome/browser/feed/FeedSurfaceMediator", @@ -1009,8 +1018,7 @@ public void testConstructorsExistAndMatch() throws Exception { "org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder", "org/chromium/chrome/browser/omnibox/suggestions/BraveDropdownItemViewInfoListBuilder", Supplier.class, - BookmarkState.class, - OpenHistoryClustersDelegate.class)); + BookmarkState.class)); Assert.assertTrue( constructorsMatch( "org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListManager", @@ -1049,7 +1057,6 @@ public void testConstructorsExistAndMatch() throws Exception { Callback.class, BackPressManager.class, OmniboxSuggestionsDropdownScrollListener.class, - OpenHistoryClustersDelegate.class, ObservableSupplier.class, boolean.class, View.class)); From f0f4af8129c40e6decd25605ff892ac34c8c9be4 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 1 Mar 2024 18:50:58 -0300 Subject: [PATCH 037/130] [ios] Use `LegacyBookmarkModel` This class has been introduced to allow additional refactoring to take place around `bookmarks::BookmarkModel`. At the moment, it suffices to rename the uses of it. Chromium change: https://chromium.googlesource.com/chromium/src/+/2769b44a39747a05ea4198c8ee3d13e5200a2430 commit 2769b44a39747a05ea4198c8ee3d13e5200a2430 Author: Mikel Astiz Date: Wed Feb 28 11:53:41 2024 +0000 [ios] Introduce initial version of LegacyBookmarkModel No behavioral changes, pure refactoring. The class will evolve to be a minimalistic fork of bookmarks::BookmarkModel for the purpose of unifying the two instances that exist today on iOS. In this very first patch, it is defined as a subclass of BookmarkModel to keep the code changes minimal/simple. Hence, the majority of the changes in this patch are mechanical replacements of BookmarkModel with LegacyBookmarkModel, the latter representing the API returned by the two main factories. A few of the dependencies migrated in this patch to LegacyBookmarkModel will be reverted to deal with bookmarks::BookmarkModel in upcoming patches, but it is deemed simplest to bulk migrate them first without having to discuss each case individually. Design doc (sorry, Googlers only): https://docs.google.com/document/d/11Dm4-FWEpT_fgxfAeq16O8qxOtaOZbU2o3MZeHDByUM/edit?usp=sharing Bug: 326185948 --- ios/app/brave_core_main.mm | 2 +- .../api/bookmarks/brave_bookmarks_api+private.h | 6 ++---- ios/browser/api/bookmarks/brave_bookmarks_api.mm | 11 ++++++----- .../api/bookmarks/exporter/bookmark_html_writer.cc | 1 + .../api/bookmarks/importer/bookmarks_importer.mm | 3 ++- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/ios/app/brave_core_main.mm b/ios/app/brave_core_main.mm index 2a750873e574..bdaf026d6b33 100644 --- a/ios/app/brave_core_main.mm +++ b/ios/app/brave_core_main.mm @@ -370,7 +370,7 @@ static bool CustomLogHandler(int severity, - (BraveBookmarksAPI*)bookmarksAPI { if (!_bookmarksAPI) { - bookmarks::BookmarkModel* bookmark_model_ = + LegacyBookmarkModel* bookmark_model_ = ios::LocalOrSyncableBookmarkModelFactory::GetForBrowserState( _mainBrowserState); BookmarkUndoService* bookmark_undo_service_ = diff --git a/ios/browser/api/bookmarks/brave_bookmarks_api+private.h b/ios/browser/api/bookmarks/brave_bookmarks_api+private.h index 2c5dad65f7d9..e8fa6beda5a9 100644 --- a/ios/browser/api/bookmarks/brave_bookmarks_api+private.h +++ b/ios/browser/api/bookmarks/brave_bookmarks_api+private.h @@ -12,13 +12,11 @@ NS_ASSUME_NONNULL_BEGIN -namespace bookmarks { -class BookmarkModel; -} +class LegacyBookmarkModel; class BookmarkUndoService; @interface BraveBookmarksAPI (Private) -- (instancetype)initWithBookmarkModel:(bookmarks::BookmarkModel*)bookmarkModel +- (instancetype)initWithBookmarkModel:(LegacyBookmarkModel*)bookmarkModel bookmarkUndoService:(BookmarkUndoService*)bookmarkUndoService; @end diff --git a/ios/browser/api/bookmarks/brave_bookmarks_api.mm b/ios/browser/api/bookmarks/brave_bookmarks_api.mm index 37cdc6283d94..343d9aad8589 100644 --- a/ios/browser/api/bookmarks/brave_bookmarks_api.mm +++ b/ios/browser/api/bookmarks/brave_bookmarks_api.mm @@ -23,6 +23,7 @@ #include "components/undo/bookmark_undo_service.h" #include "components/undo/undo_manager.h" #include "components/user_prefs/user_prefs.h" +#include "ios/chrome/browser/bookmarks/model/legacy_bookmark_model.h" #include "ios/chrome/browser/shared/model/application_context/application_context.h" #include "ios/chrome/browser/shared/model/browser_state/chrome_browser_state.h" #include "ios/chrome/browser/shared/model/browser_state/chrome_browser_state_manager.h" @@ -50,7 +51,7 @@ - (instancetype)initWithNode:(IOSBookmarkNode*)node @interface IOSBookmarkNode () { const bookmarks::BookmarkNode* node_; - bookmarks::BookmarkModel* model_; // UNOWNED + LegacyBookmarkModel* model_; // UNOWNED bool owned_; } @end @@ -58,7 +59,7 @@ @interface IOSBookmarkNode () { @implementation IOSBookmarkNode - (instancetype)initWithNode:(const bookmarks::BookmarkNode*)node - model:(bookmarks::BookmarkModel*)model { + model:(LegacyBookmarkModel*)model { if ((self = [super init])) { node_ = node; model_ = model; @@ -465,14 +466,14 @@ - (void)setNativeParent:(bookmarks::BookmarkNode*)parent { @end @interface BraveBookmarksAPI () { - bookmarks::BookmarkModel* bookmark_model_; // NOT OWNED + LegacyBookmarkModel* bookmark_model_; // NOT OWNED BookmarkUndoService* bookmark_undo_service_; // NOT OWNED } @end @implementation BraveBookmarksAPI -- (instancetype)initWithBookmarkModel:(bookmarks::BookmarkModel*)bookmarkModel +- (instancetype)initWithBookmarkModel:(LegacyBookmarkModel*)bookmarkModel bookmarkUndoService: (BookmarkUndoService*)bookmarkUndoService { if ((self = [super init])) { @@ -661,7 +662,7 @@ - (void)undo { bookmark_undo_service_->undo_manager()->Undo(); } -- (bookmarks::BookmarkModel*)getModel { +- (LegacyBookmarkModel*)getModel { return bookmark_model_; } @end diff --git a/ios/browser/api/bookmarks/exporter/bookmark_html_writer.cc b/ios/browser/api/bookmarks/exporter/bookmark_html_writer.cc index 1e440c88293c..9125eda33a2e 100644 --- a/ios/browser/api/bookmarks/exporter/bookmark_html_writer.cc +++ b/ios/browser/api/bookmarks/exporter/bookmark_html_writer.cc @@ -35,6 +35,7 @@ #include "components/favicon_base/favicon_types.h" #include "components/keyed_service/core/service_access_type.h" #include "components/strings/grit/components_strings.h" +#include "ios/chrome/browser/bookmarks/model/legacy_bookmark_model.h" #include "ios/chrome/browser/bookmarks/model/local_or_syncable_bookmark_model_factory.h" #include "ios/chrome/browser/favicon/model/favicon_service_factory.h" #include "ios/chrome/browser/shared/model/browser_state/chrome_browser_state.h" diff --git a/ios/browser/api/bookmarks/importer/bookmarks_importer.mm b/ios/browser/api/bookmarks/importer/bookmarks_importer.mm index 929767c001ab..bb2cbe0e1d3a 100644 --- a/ios/browser/api/bookmarks/importer/bookmarks_importer.mm +++ b/ios/browser/api/bookmarks/importer/bookmarks_importer.mm @@ -23,6 +23,7 @@ #include "components/prefs/pref_service.h" #include "components/strings/grit/components_strings.h" #include "components/user_prefs/user_prefs.h" +#include "ios/chrome/browser/bookmarks/model/legacy_bookmark_model.h" #include "ios/chrome/browser/bookmarks/model/local_or_syncable_bookmark_model_factory.h" #include "ios/chrome/browser/shared/model/application_context/application_context.h" #include "ios/chrome/browser/shared/model/browser_state/chrome_browser_state.h" @@ -81,7 +82,7 @@ void ShowBookmarkBar(ChromeBrowserState* browser_state) { GetApplicationContext()->GetChromeBrowserStateManager(); ChromeBrowserState* browser_state = browser_state_manager->GetLastUsedBrowserState(); - BookmarkModel* model = + LegacyBookmarkModel* model = ios::LocalOrSyncableBookmarkModelFactory::GetForBrowserState( browser_state); DCHECK(model->loaded()); From fa2aa5daac8fcc6efcbc65d4b0530774e6800cd9 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Fri, 1 Mar 2024 17:30:12 -0500 Subject: [PATCH 038/130] [Android] New clear browsing data advanced setting Chromium change: https://source.chromium.org/chromium/chromium/src/+/8d38d538dd38745fe80509f24dc72177c5bbe2a7 [Quick Delete] Add more entrypoints to CBD advanced As part of Quick Delete phase 2, this change replaces the remaining entrypoints to Clear Browsing Data tabbed layout to the advanced layout. The basic layout is replaced with the Quick Delete dialog. Bug: b/326395189 --- .../browser/privacy/settings/BravePrivacySettingsTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/javatests/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsTest.java b/android/javatests/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsTest.java index ea06580ca7c8..df0310984012 100644 --- a/android/javatests/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsTest.java +++ b/android/javatests/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsTest.java @@ -44,7 +44,7 @@ public class BravePrivacySettingsTest { private static final String PREF_INCOGNITO_LOCK = "incognito_lock"; private static final String PREF_PHONE_AS_A_SECURITY_KEY = "phone_as_a_security_key"; - private static final int BRAVE_PRIVACY_SETTINGS_NUMBER_OF_ITEMS = 29; + private static final int BRAVE_PRIVACY_SETTINGS_NUMBER_OF_ITEMS = 30; private int mItemsLeft; From 72417ad2d15822a4e8456110cd2dba7c217fc865 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Sun, 3 Mar 2024 16:54:55 +0000 Subject: [PATCH 039/130] `screen_ai` moved to a new path This only affects the inclusion path for this target. Chromium change: https://chromium.googlesource.com/chromium/src/+/7a63c577866a0bf1a867e38e7257ba558b59cff7 commit 7a63c577866a0bf1a867e38e7257ba558b59cff7 Author: Abigail Klein Date: Wed Feb 28 20:45:09 2024 +0000 Move screen_ai directory from components to services. We are using the screen ai service to annotate the accessibility tree that is provided to content public APIs. There is precedent for doing this already from the content layer: AXImageAnnotator (in content/renderer/accessibility/annotations) depends on services/image_annotation to annotate images in the accessibility tree with alt text. We're doing something similar with the screen_ai service, to annotate the accessibility tree with a "main" role. Since screen ai will now be depended on by content, it is now considered a foundational service and should be located in //services rather than //components/services. This CL does the following: 1. Move screen_ai from //components/services to //services. 2. Rename every instance of //components/services to //services. 3. Move //components/test/data/screen_ai to //services/test/data/screen_ai. 4. Move the include rules and deps from //components/BUILD to //services/BUILD. 5. Move strings defined in components_strings to services_strings. 6. Add service test strings file path to ServiceTestSuite. 7. Update service_strings outputs to abide by ios naming convention. Bug: 327248308 --- app/BUILD.gn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/BUILD.gn b/app/BUILD.gn index 0d5f3fff38a7..c1a42d982ccc 100644 --- a/app/BUILD.gn +++ b/app/BUILD.gn @@ -41,8 +41,8 @@ source_set("command_ids") { "//brave/components/resources:strings", "//chrome/app:command_ids", "//chrome/app:generated_resources", - "//components/services/screen_ai/buildflags", "//components/strings:components_strings", + "//services/screen_ai/buildflags", "//third_party/re2", "//ui/strings:ui_strings", ] From 27fba6a255a0280e44b717d7ce514dba4a806bd0 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Sun, 3 Mar 2024 17:37:09 +0000 Subject: [PATCH 040/130] Fix ffmpeg linking errors involving SIMD floating points Chromium change: https://chromium.googlesource.com/chromium/third_party/ffmpeg/+/bd3e71b21ec3786ec6fc00ef260af0150f31b71b commit bd3e71b21ec3786ec6fc00ef260af0150f31b71b Author: Lynne Date: Thu Jan 18 17:30:29 2024 +0100 x86/tx_float: enable SIMD for sizes over 131072 The tables for the new sizes were added last year due to being required for SDR. However, the assembly was never updated to use them. --- .../ffmpeg/libavutil-tx_template.c.patch | 37 ------------------- 1 file changed, 37 deletions(-) delete mode 100644 patches/third_party/ffmpeg/libavutil-tx_template.c.patch diff --git a/patches/third_party/ffmpeg/libavutil-tx_template.c.patch b/patches/third_party/ffmpeg/libavutil-tx_template.c.patch deleted file mode 100644 index 4366e23c1e84..000000000000 --- a/patches/third_party/ffmpeg/libavutil-tx_template.c.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/libavutil/tx_template.c b/libavutil/tx_template.c -index a2c27465cbcabe242325f4126b74b4aa53f1aae8..c6cf1c2ddb3ca9a84ed344748ba560a5647edac8 100644 ---- a/libavutil/tx_template.c -+++ b/libavutil/tx_template.c -@@ -43,10 +43,6 @@ - SR_TABLE(32768) \ - SR_TABLE(65536) \ - SR_TABLE(131072) \ -- SR_TABLE(262144) \ -- SR_TABLE(524288) \ -- SR_TABLE(1048576) \ -- SR_TABLE(2097152) \ - - #define SR_TABLE(len) \ - TABLE_DEF(len, len/4 + 1); -@@ -722,10 +718,6 @@ DECL_SR_CODELET(16384,8192,4096) - DECL_SR_CODELET(32768,16384,8192) - DECL_SR_CODELET(65536,32768,16384) - DECL_SR_CODELET(131072,65536,32768) --DECL_SR_CODELET(262144,131072,65536) --DECL_SR_CODELET(524288,262144,131072) --DECL_SR_CODELET(1048576,524288,262144) --DECL_SR_CODELET(2097152,1048576,524288) - - static av_cold int TX_NAME(ff_tx_fft_init)(AVTXContext *s, - const FFTXCodelet *cd, -@@ -2158,10 +2150,6 @@ const FFTXCodelet * const TX_NAME(ff_tx_codelet_list)[] = { - &TX_NAME(ff_tx_fft32768_ns_def), - &TX_NAME(ff_tx_fft65536_ns_def), - &TX_NAME(ff_tx_fft131072_ns_def), -- &TX_NAME(ff_tx_fft262144_ns_def), -- &TX_NAME(ff_tx_fft524288_ns_def), -- &TX_NAME(ff_tx_fft1048576_ns_def), -- &TX_NAME(ff_tx_fft2097152_ns_def), - - /* Prime factor codelets */ - &TX_NAME(ff_tx_fft3_ns_def), From 7fac54cfabdc20d22f90eac8f039fb8ce19d7d0e Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Sun, 3 Mar 2024 17:09:17 +0000 Subject: [PATCH 041/130] Reanchor `AvatarToolbarButtonDelegate` overrides The method used to inject our substitutions has been deleted in a recent change, which required a new token to be used. Chromium change: https://chromium.googlesource.com/chromium/src/+/3f32f3ae96d4e2df277344266206a8a1a480c884 commit 3f32f3ae96d4e2df277344266206a8a1a480c884 Author: Ryan Sultanem Date: Wed Feb 28 16:22:14 2024 +0000 [AvatarButton] Migrate showing name state to the StateManager Adapted tests to be able to wait for the showing of text on the button with duration. Added more tests that check for the ShowingName and ShowingEnterprise texts that are time based. Bug: b/324018028 --- .../browser/ui/views/profiles/avatar_toolbar_button.cc | 1 + .../ui/views/profiles/avatar_toolbar_button_delegate.h | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/chromium_src/chrome/browser/ui/views/profiles/avatar_toolbar_button.cc b/chromium_src/chrome/browser/ui/views/profiles/avatar_toolbar_button.cc index aef4647b32d9..3e422efe98db 100644 --- a/chromium_src/chrome/browser/ui/views/profiles/avatar_toolbar_button.cc +++ b/chromium_src/chrome/browser/ui/views/profiles/avatar_toolbar_button.cc @@ -3,6 +3,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include "chrome/browser/ui/views/profiles/avatar_toolbar_button.h" #include "brave/browser/ui/views/profiles/brave_avatar_toolbar_button_delegate.h" #define AvatarToolbarButtonDelegate BraveAvatarToolbarButtonDelegate diff --git a/chromium_src/chrome/browser/ui/views/profiles/avatar_toolbar_button_delegate.h b/chromium_src/chrome/browser/ui/views/profiles/avatar_toolbar_button_delegate.h index 1e51a19e3863..b3981e4437c6 100644 --- a/chromium_src/chrome/browser/ui/views/profiles/avatar_toolbar_button_delegate.h +++ b/chromium_src/chrome/browser/ui/views/profiles/avatar_toolbar_button_delegate.h @@ -13,13 +13,13 @@ #define GetAvatarTooltipText virtual GetAvatarTooltipText // Adding friend class to `BraveAvatarToolbarButton` to still allow its instance // to call `GetWindowCount`. -#define OnUserIdentityChanged \ - OnUserIdentityChangedUnused() {} \ +#define GetWindowCount \ + GetWindowCountUnused() const; \ friend class BraveAvatarToolbarButton; \ - void OnUserIdentityChanged + int GetWindowCount #include "src/chrome/browser/ui/views/profiles/avatar_toolbar_button_delegate.h" // IWYU pragma: export #undef GetAvatarIcon #undef GetAvatarTooltipText -#undef OnUserIdentityChanged +#undef GetWindowCount #endif // BRAVE_CHROMIUM_SRC_CHROME_BROWSER_UI_VIEWS_PROFILES_AVATAR_TOOLBAR_BUTTON_DELEGATE_H_ From b19e38d135dd1e03b00801126963ad5c310b6b63 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Mon, 4 Mar 2024 18:12:48 -0500 Subject: [PATCH 042/130] [Android] New method for ThemeColorObserver Chromium change: https://source.chromium.org/chromium/chromium/src/+/2c24369515ffb61dfca8e5ae252240e41b5571e4 [SurfacePolish] Fix bug about toolbar flips to white when navigating from NTP to webpage When navigating from the NTP to a webpage, the toolbar color initially changes to the default toolbar color during the loading phase. It will change to the browser tab's color or stay unchanged after the loading phase. The loading process occurs directly on the NTP. However, with the Start Surface Polish enabled, the NTP's toolbar has a different color than the default toolbar, and this results in a flip of white when navigating from NTP to webpage, as shown in the image: https://drive.google.com/file/d/1ywogmzelW1OQwGdPCvrd0EndFkAbvCoM/ view?usp=sharing&resourcekey=0-XV6pRmumU3L4vy36HRSJ4w. This CL aims to fix this problem. When navigating from the NTP to a webpage, the ToolbarPhone#mVisualState will immediately turn from VisualState.NEW_TAB_NORMAL or VisualState.NEW_TAB_SEARCH_ENGINE_NO_LOGO to VisualState.NORMAL called by function ToolbarPhone#onTabOrModelChanged. This is the starting point of the loading phase. The ending point of the loading phase is the time we know if we have a website theme color. The time we start to know whether the website has its theme color is the time point ToolbarPhone#onPrimaryColorChanged() gets called. Since this function won't be called when the website does not have a specific theme color, I added a function ToolbarPhone#onPrimaryColorGotUpdateNotified() instead. The newly added function will be called at the same time if ToolbarPhone#onPrimaryColorChanged() gets called. And the ending point is marked inside this function. After this CL, the navigation process will look like this: https://drive.google.com/file/d/1FchVCPWj3DnLaMoZ1Z5Ra_7Z6SIavRSV/ view?usp=sharing&resourcekey=0-tT-y6F12OihXzxjeTnRaIw Bug: 323888159 --- .../chrome/browser/toolbar/bottom/BookmarksButton.java | 3 +++ .../browser/toolbar/bottom/BottomToolbarNewTabButton.java | 3 +++ .../toolbar/bottom/BrowsingModeBottomToolbarMediator.java | 3 +++ .../chrome/browser/toolbar/bottom/SearchAccelerator.java | 3 +++ .../toolbar/bottom/TabSwitcherBottomToolbarMediator.java | 3 +++ 5 files changed, 15 insertions(+) diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/BookmarksButton.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/BookmarksButton.java index 0cc651fafd2a..b41a1ec11e3e 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/BookmarksButton.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/BookmarksButton.java @@ -72,4 +72,7 @@ public void updateBookmarkButton(boolean isBookmarked, boolean editingAllowed) { } public void updateButtonEnabledState(Tab tab) {} + + @Override + public void onThemeColorUpdated(boolean colorChanged) {} } diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarNewTabButton.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarNewTabButton.java index 6ffd94a263fe..80e671c9343f 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarNewTabButton.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarNewTabButton.java @@ -107,4 +107,7 @@ private void updateBackground() { mIncognitoStateProvider.isIncognitoSelected()), PorterDuff.Mode.SRC_IN); } + + @Override + public void onThemeColorUpdated(boolean colorChanged) {} } diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/BrowsingModeBottomToolbarMediator.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/BrowsingModeBottomToolbarMediator.java index 706dccc1fce8..941bd74dfd21 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/BrowsingModeBottomToolbarMediator.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/BrowsingModeBottomToolbarMediator.java @@ -69,4 +69,7 @@ public void onThemeColorChanged(int primaryColor, boolean shouldAnimate) { private @ColorInt int applyCustomAlphaToColor(@ColorInt int baseColor, float alpha) { return (baseColor & 0x00FFFFFF) | ((int) (alpha * 255) << 24); } + + @Override + public void onThemeColorUpdated(boolean colorChanged) {} } diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/SearchAccelerator.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/SearchAccelerator.java index 15955ade8320..3194a89371ef 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/SearchAccelerator.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/SearchAccelerator.java @@ -102,4 +102,7 @@ private void updateBackground() { mIncognitoStateProvider.isIncognitoSelected()), PorterDuff.Mode.SRC_IN); } + + @Override + public void onThemeColorUpdated(boolean colorChanged) {} } diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/TabSwitcherBottomToolbarMediator.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/TabSwitcherBottomToolbarMediator.java index 503f4bc233b7..db1dfd5450f9 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/TabSwitcherBottomToolbarMediator.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/TabSwitcherBottomToolbarMediator.java @@ -57,4 +57,7 @@ void destroy() { public void onThemeColorChanged(int primaryColor, boolean shouldAnimate) { mModel.set(TabSwitcherBottomToolbarModel.PRIMARY_COLOR, primaryColor); } + + @Override + public void onThemeColorUpdated(boolean colorChanged) {} } From d7ebd572b3f1d378981bb02e5c5876aa60300247 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Mon, 4 Mar 2024 18:48:17 -0500 Subject: [PATCH 043/130] Fixes incorrect header include. --- .../ui/webui/brave_vpn/brave_vpn_localized_string_provider.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser/ui/webui/brave_vpn/brave_vpn_localized_string_provider.cc b/browser/ui/webui/brave_vpn/brave_vpn_localized_string_provider.cc index be7577188689..93fd8ef7310f 100644 --- a/browser/ui/webui/brave_vpn/brave_vpn_localized_string_provider.cc +++ b/browser/ui/webui/brave_vpn/brave_vpn_localized_string_provider.cc @@ -8,7 +8,7 @@ #include "base/no_destructor.h" #include "brave/components/l10n/common/localization_util.h" #include "components/grit/brave_components_strings.h" -#include "content/public/browser/url_data_source.h" +#include "content/public/browser/web_ui_data_source.h" #include "ui/base/webui/web_ui_util.h" namespace brave_vpn { From ffcecbbd186a0ea14e7d079399c75c00ee8c626d Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Tue, 5 Mar 2024 15:02:31 -0500 Subject: [PATCH 044/130] [Sync] New COLLABORATION_GROUP ModelType Chromium change: https://source.chromium.org/chromium/chromium/src/+/6c87be591459281222cb361f166c3dd1d7327cd1 [Sync] Add scaffolding for a new COLLABORATION_GROUP ModelType COLLABORATION_GROUP is a read-only (for the client) datatype, that will be used to invalidate cached People Groups data. For now it is bundled together with SHARED_TAB_GROUP_DATA, e.g. uses the same feature toggles and controlled by the same UserSelectableType. This, especially the later, could be changed in the future in case other features will ever start to rely on COLLABORATION_GROUP. Bug: 301389859 --- chromium_src/components/sync/base/model_type_unittest.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium_src/components/sync/base/model_type_unittest.cc b/chromium_src/components/sync/base/model_type_unittest.cc index a3ba8198dae6..13b45e22142c 100644 --- a/chromium_src/components/sync/base/model_type_unittest.cc +++ b/chromium_src/components/sync/base/model_type_unittest.cc @@ -21,7 +21,7 @@ TEST_F(ModelTypeTest, LowPriorityUserTypes) { // This test is supposed to fail when sync types are increased/decreased TEST_F(ModelTypeTest, ModelTypeCounts) { - EXPECT_EQ(static_cast(ModelTypeForHistograms::kMaxValue), 63); + EXPECT_EQ(static_cast(ModelTypeForHistograms::kMaxValue), 64); } } // namespace From 9716bd84ee0c97e240442b6f10fcdf5179f77e87 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Tue, 5 Mar 2024 15:06:16 -0500 Subject: [PATCH 045/130] Fixes VerticalTabStrip crash. --- .../ui/views/frame/vertical_tab_strip_region_view.cc | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/browser/ui/views/frame/vertical_tab_strip_region_view.cc b/browser/ui/views/frame/vertical_tab_strip_region_view.cc index e4f610363ad7..c2ff8a73d70d 100644 --- a/browser/ui/views/frame/vertical_tab_strip_region_view.cc +++ b/browser/ui/views/frame/vertical_tab_strip_region_view.cc @@ -107,17 +107,6 @@ class ToggleButton : public ToolbarButton { return l10n_util::GetStringUTF16(IDS_VERTICAL_TABS_EXPAND); } -#if DCHECK_IS_ON() - void OnBoundsChanged(const gfx::Rect& previous_bounds) override { - if (region_view_->is_animating()) { - return; - } - - CHECK_EQ(width(), GetIconWidth()); - CHECK_EQ(height(), GetIconWidth()); - } -#endif - constexpr static int GetIconWidth() { return tabs::kVerticalTabHeight; } private: From e33f67fa5e1da441627e7b256670b209c3711057 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Tue, 5 Mar 2024 19:47:27 -0500 Subject: [PATCH 046/130] IWYU fix. --- browser/brave_search/brave_search_browsertest.cc | 1 + browser/brave_shields/ad_block_service_browsertest.cc | 1 + browser/debounce/debounce_browsertest.cc | 2 ++ browser/extensions/api/identity/test/identity_apitest.cc | 2 ++ browser/extensions/api/ipfs_apitest.cc | 2 ++ browser/extensions/brave_extension_functional_test.cc | 1 + browser/extensions/brave_extension_provider_browsertest.cc | 1 + browser/extensions/brave_wallet_apitest.cc | 2 ++ .../brave_dark_mode_fingerprint_protection_browsertest.cc | 1 + browser/farbling/brave_enumeratedevices_farbling_browsertest.cc | 1 + .../brave_navigator_devicememory_farbling_browsertest.cc | 1 + .../brave_navigator_hardwareconcurrency_farbling_browsertest.cc | 1 + .../farbling/brave_navigator_languages_farbling_browsertest.cc | 1 + .../farbling/brave_navigator_plugins_farbling_browsertest.cc | 1 + .../farbling/brave_navigator_useragent_farbling_browsertest.cc | 1 + browser/farbling/brave_offscreencanvas_farbling_browsertest.cc | 1 + browser/farbling/brave_webaudio_farbling_browsertest.cc | 1 + browser/farbling/brave_webgl_farbling_browsertest.cc | 1 + browser/greaselion/greaselion_browsertest.cc | 1 + browser/ipfs/test/brave_ipfs_client_updater_browsertest.cc | 1 + browser/ui/text_recognition_browsertest.cc | 1 + .../brave_private_new_tab_page_browsertest.cc | 1 + 22 files changed, 26 insertions(+) diff --git a/browser/brave_search/brave_search_browsertest.cc b/browser/brave_search/brave_search_browsertest.cc index 7f368dc61fb1..c89c51d7db12 100644 --- a/browser/brave_search/brave_search_browsertest.cc +++ b/browser/brave_search/brave_search_browsertest.cc @@ -18,6 +18,7 @@ #include "brave/components/constants/brave_paths.h" #include "brave/components/constants/pref_names.h" #include "chrome/browser/extensions/extension_browsertest.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/search_engines/template_url_service_factory.h" #include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" diff --git a/browser/brave_shields/ad_block_service_browsertest.cc b/browser/brave_shields/ad_block_service_browsertest.cc index 280fee131a89..cb32fc8b8c13 100644 --- a/browser/brave_shields/ad_block_service_browsertest.cc +++ b/browser/brave_shields/ad_block_service_browsertest.cc @@ -58,6 +58,7 @@ #if BUILDFLAG(IS_ANDROID) #include "chrome/test/base/android/android_browser_test.h" #else +#include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" #endif diff --git a/browser/debounce/debounce_browsertest.cc b/browser/debounce/debounce_browsertest.cc index 9c70dd0a41f5..79f60fe1862f 100644 --- a/browser/debounce/debounce_browsertest.cc +++ b/browser/debounce/debounce_browsertest.cc @@ -20,6 +20,8 @@ #include "brave/components/debounce/core/common/pref_names.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" #include "chrome/browser/interstitials/security_interstitial_page_test_utils.h" +#include "chrome/browser/profiles/profile.h" +#include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" #include "content/public/browser/notification_service.h" diff --git a/browser/extensions/api/identity/test/identity_apitest.cc b/browser/extensions/api/identity/test/identity_apitest.cc index 252af7d76f59..5b7bc34ab3dc 100644 --- a/browser/extensions/api/identity/test/identity_apitest.cc +++ b/browser/extensions/api/identity/test/identity_apitest.cc @@ -7,6 +7,8 @@ #include "brave/browser/extensions/api/identity/brave_web_auth_flow.h" #include "brave/components/constants/brave_paths.h" #include "chrome/browser/extensions/extension_apitest.h" +#include "chrome/browser/profiles/profile.h" +#include "chrome/browser/ui/browser.h" #include "content/public/test/browser_test.h" #include "extensions/browser/background_script_executor.h" #include "extensions/test/result_catcher.h" diff --git a/browser/extensions/api/ipfs_apitest.cc b/browser/extensions/api/ipfs_apitest.cc index 419b3ef05188..c8a042ff158d 100644 --- a/browser/extensions/api/ipfs_apitest.cc +++ b/browser/extensions/api/ipfs_apitest.cc @@ -14,6 +14,8 @@ #include "brave/components/ipfs/ipfs_service.h" #include "brave/components/ipfs/pref_names.h" #include "chrome/browser/extensions/extension_apitest.h" +#include "chrome/browser/profiles/profile.h" +#include "chrome/browser/ui/browser.h" #include "components/prefs/pref_service.h" #include "content/public/test/browser_test.h" #include "extensions/common/constants.h" diff --git a/browser/extensions/brave_extension_functional_test.cc b/browser/extensions/brave_extension_functional_test.cc index 39302c6a6190..35fe3493c6d0 100644 --- a/browser/extensions/brave_extension_functional_test.cc +++ b/browser/extensions/brave_extension_functional_test.cc @@ -9,6 +9,7 @@ #include "brave/components/constants/brave_paths.h" #include "chrome/browser/extensions/chrome_extension_test_notification_observer.h" #include "chrome/browser/extensions/crx_installer.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/test/base/ui_test_utils.h" #include "extensions/browser/extension_registry.h" #include "extensions/browser/test_extension_registry_observer.h" diff --git a/browser/extensions/brave_extension_provider_browsertest.cc b/browser/extensions/brave_extension_provider_browsertest.cc index d776447948bb..210413f53f50 100644 --- a/browser/extensions/brave_extension_provider_browsertest.cc +++ b/browser/extensions/brave_extension_provider_browsertest.cc @@ -12,6 +12,7 @@ #include "brave/components/constants/url_constants.h" #include "chrome/browser/extensions/crx_installer.h" #include "chrome/browser/extensions/extension_browsertest.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/test/base/ui_test_utils.h" #include "content/public/test/browser_test.h" diff --git a/browser/extensions/brave_wallet_apitest.cc b/browser/extensions/brave_wallet_apitest.cc index 36ea27088db3..c75bc526ef67 100644 --- a/browser/extensions/brave_wallet_apitest.cc +++ b/browser/extensions/brave_wallet_apitest.cc @@ -14,6 +14,8 @@ #include "brave/components/constants/pref_names.h" #include "chrome/browser/extensions/extension_apitest.h" #include "chrome/browser/extensions/extension_service.h" +#include "chrome/browser/profiles/profile.h" +#include "chrome/browser/ui/browser.h" #include "chrome/test/base/ui_test_utils.h" #include "components/prefs/pref_service.h" #include "content/public/test/browser_test.h" diff --git a/browser/farbling/brave_dark_mode_fingerprint_protection_browsertest.cc b/browser/farbling/brave_dark_mode_fingerprint_protection_browsertest.cc index bb05ada394b4..e347301b91be 100644 --- a/browser/farbling/brave_dark_mode_fingerprint_protection_browsertest.cc +++ b/browser/farbling/brave_dark_mode_fingerprint_protection_browsertest.cc @@ -16,6 +16,7 @@ #include "brave/components/constants/brave_paths.h" #include "brave/components/constants/pref_names.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" diff --git a/browser/farbling/brave_enumeratedevices_farbling_browsertest.cc b/browser/farbling/brave_enumeratedevices_farbling_browsertest.cc index 3987e603832a..b7b176807713 100644 --- a/browser/farbling/brave_enumeratedevices_farbling_browsertest.cc +++ b/browser/farbling/brave_enumeratedevices_farbling_browsertest.cc @@ -15,6 +15,7 @@ #include "brave/components/constants/pref_names.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" #include "chrome/browser/extensions/extension_browsertest.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" diff --git a/browser/farbling/brave_navigator_devicememory_farbling_browsertest.cc b/browser/farbling/brave_navigator_devicememory_farbling_browsertest.cc index 90755925f139..d447878e1e6e 100644 --- a/browser/farbling/brave_navigator_devicememory_farbling_browsertest.cc +++ b/browser/farbling/brave_navigator_devicememory_farbling_browsertest.cc @@ -15,6 +15,7 @@ #include "brave/components/constants/pref_names.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" #include "chrome/browser/extensions/extension_browsertest.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" diff --git a/browser/farbling/brave_navigator_hardwareconcurrency_farbling_browsertest.cc b/browser/farbling/brave_navigator_hardwareconcurrency_farbling_browsertest.cc index 86438a08d234..19225a50e7f4 100644 --- a/browser/farbling/brave_navigator_hardwareconcurrency_farbling_browsertest.cc +++ b/browser/farbling/brave_navigator_hardwareconcurrency_farbling_browsertest.cc @@ -16,6 +16,7 @@ #include "brave/components/constants/pref_names.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" #include "chrome/browser/extensions/extension_browsertest.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" diff --git a/browser/farbling/brave_navigator_languages_farbling_browsertest.cc b/browser/farbling/brave_navigator_languages_farbling_browsertest.cc index 59a15e7ecee0..aa560a53aa73 100644 --- a/browser/farbling/brave_navigator_languages_farbling_browsertest.cc +++ b/browser/farbling/brave_navigator_languages_farbling_browsertest.cc @@ -18,6 +18,7 @@ #include "brave/components/constants/pref_names.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" #include "chrome/browser/extensions/extension_browsertest.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" diff --git a/browser/farbling/brave_navigator_plugins_farbling_browsertest.cc b/browser/farbling/brave_navigator_plugins_farbling_browsertest.cc index d61d7c0dc5d3..1547d58e42d5 100644 --- a/browser/farbling/brave_navigator_plugins_farbling_browsertest.cc +++ b/browser/farbling/brave_navigator_plugins_farbling_browsertest.cc @@ -15,6 +15,7 @@ #include "brave/components/constants/pref_names.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" #include "chrome/browser/extensions/extension_browsertest.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" diff --git a/browser/farbling/brave_navigator_useragent_farbling_browsertest.cc b/browser/farbling/brave_navigator_useragent_farbling_browsertest.cc index 1d2eb95d5f73..62e9e069dd1e 100644 --- a/browser/farbling/brave_navigator_useragent_farbling_browsertest.cc +++ b/browser/farbling/brave_navigator_useragent_farbling_browsertest.cc @@ -18,6 +18,7 @@ #include "brave/components/constants/pref_names.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" #include "chrome/browser/extensions/extension_browsertest.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" diff --git a/browser/farbling/brave_offscreencanvas_farbling_browsertest.cc b/browser/farbling/brave_offscreencanvas_farbling_browsertest.cc index 66dfff895849..088d241e579d 100644 --- a/browser/farbling/brave_offscreencanvas_farbling_browsertest.cc +++ b/browser/farbling/brave_offscreencanvas_farbling_browsertest.cc @@ -14,6 +14,7 @@ #include "brave/components/constants/pref_names.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" #include "chrome/browser/extensions/extension_browsertest.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" diff --git a/browser/farbling/brave_webaudio_farbling_browsertest.cc b/browser/farbling/brave_webaudio_farbling_browsertest.cc index d0a0a62897f8..687408b8d41e 100644 --- a/browser/farbling/brave_webaudio_farbling_browsertest.cc +++ b/browser/farbling/brave_webaudio_farbling_browsertest.cc @@ -15,6 +15,7 @@ #include "brave/components/constants/pref_names.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" #include "chrome/browser/extensions/extension_browsertest.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" diff --git a/browser/farbling/brave_webgl_farbling_browsertest.cc b/browser/farbling/brave_webgl_farbling_browsertest.cc index 804eb2408177..e56ba9cd1eea 100644 --- a/browser/farbling/brave_webgl_farbling_browsertest.cc +++ b/browser/farbling/brave_webgl_farbling_browsertest.cc @@ -16,6 +16,7 @@ #include "brave/components/constants/pref_names.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" #include "chrome/browser/extensions/extension_browsertest.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" diff --git a/browser/greaselion/greaselion_browsertest.cc b/browser/greaselion/greaselion_browsertest.cc index 97b9815d07eb..ba7ca78d2f64 100644 --- a/browser/greaselion/greaselion_browsertest.cc +++ b/browser/greaselion/greaselion_browsertest.cc @@ -25,6 +25,7 @@ #include "brave/components/greaselion/browser/greaselion_download_service.h" #include "brave/components/greaselion/browser/greaselion_service.h" #include "chrome/browser/extensions/extension_browsertest.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/test/base/ui_test_utils.h" #include "components/prefs/pref_service.h" #include "content/public/test/browser_test.h" diff --git a/browser/ipfs/test/brave_ipfs_client_updater_browsertest.cc b/browser/ipfs/test/brave_ipfs_client_updater_browsertest.cc index 23b511a4c3ce..490ce86d1139 100644 --- a/browser/ipfs/test/brave_ipfs_client_updater_browsertest.cc +++ b/browser/ipfs/test/brave_ipfs_client_updater_browsertest.cc @@ -13,6 +13,7 @@ #include "brave/components/ipfs/ipfs_service.h" #include "build/build_config.h" #include "chrome/browser/extensions/extension_browsertest.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/test/base/ui_test_utils.h" #include "content/public/test/browser_test.h" diff --git a/browser/ui/text_recognition_browsertest.cc b/browser/ui/text_recognition_browsertest.cc index 4e9bf55f9940..c0ad3f14c13d 100644 --- a/browser/ui/text_recognition_browsertest.cc +++ b/browser/ui/text_recognition_browsertest.cc @@ -27,6 +27,7 @@ #include "content/public/test/browser_test.h" #include "content/public/test/browser_test_utils.h" #include "net/dns/mock_host_resolver.h" +#include "third_party/blink/public/mojom/context_menu/context_menu.mojom.h" #include "ui/views/controls/label.h" #include "ui/views/controls/scroll_view.h" diff --git a/browser/ui/webui/private_new_tab_page/brave_private_new_tab_page_browsertest.cc b/browser/ui/webui/private_new_tab_page/brave_private_new_tab_page_browsertest.cc index c70f65ff9457..7268f8bd44ad 100644 --- a/browser/ui/webui/private_new_tab_page/brave_private_new_tab_page_browsertest.cc +++ b/browser/ui/webui/private_new_tab_page/brave_private_new_tab_page_browsertest.cc @@ -9,6 +9,7 @@ #include "brave/browser/extensions/brave_extension_functional_test.h" #include "brave/browser/ui/browser_commands.h" #include "brave/components/search_engines/brave_prepopulated_engines.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/common/webui_url_constants.h" From db878d232a46be73d634b213184ae5c04d25c1b9 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Wed, 6 Mar 2024 10:38:35 -0500 Subject: [PATCH 047/130] std::to_address is banned. Use base::to_address instead. Chromium change: https://source.chromium.org/chromium/chromium/src/+/e522ae8f8c7754d6446b71a750d36d196a1133f3 commit e522ae8f8c7754d6446b71a750d36d196a1133f3 Author: Nick Diego Yamane Date: Tue Feb 27 04:23:22 2024 +0000 c++: ban std::to_address Bug: 325123742 --- browser/ui/brave_browser_command_controller.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/browser/ui/brave_browser_command_controller.cc b/browser/ui/brave_browser_command_controller.cc index 55cdf8f689df..f0a0cca61ed9 100644 --- a/browser/ui/brave_browser_command_controller.cc +++ b/browser/ui/brave_browser_command_controller.cc @@ -14,6 +14,7 @@ #include "base/debug/stack_trace.h" #include "base/feature_list.h" #include "base/notreached.h" +#include "base/types/to_address.h" #include "brave/app/brave_command_ids.h" #include "brave/browser/profiles/profile_util.h" #include "brave/browser/ui/brave_pages.h" @@ -615,7 +616,7 @@ bool BraveBrowserCommandController::ExecuteBraveCommandWithDisposition( break; case IDC_COMMANDER: #if BUILDFLAG(ENABLE_COMMANDER) - brave::ToggleCommander(std::to_address(browser_)); + brave::ToggleCommander(base::to_address(browser_)); #endif break; case IDC_WINDOW_GROUP_UNGROUPED_TABS: From a7625e7888a7a0074996956f44c963b366a48ccb Mon Sep 17 00:00:00 2001 From: mkarolin Date: Wed, 6 Mar 2024 11:25:43 -0500 Subject: [PATCH 048/130] base/chrome_test_launcher.* moved to their own build target Chromium change: https://source.chromium.org/chromium/chromium/src/+/7b0c07f07046da15f7741d7855c99b6442630d90 Author: Alan Cutter Date: Thu Feb 22 00:13:00 2024 +0000 Attach crosapi::TestController in Ash browser_tests This CL ensures Ash browser_tests have the crosapi TestController attached in preparation for being able to use TestController in both Ash browser_tests and lacros_browser_tests: https://chromium-review.googlesource.com/c/chromium/src/+/5048292 Doc: go/crosapi-for-ash-browser Bug: b/324511698 --- test/BUILD.gn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/BUILD.gn b/test/BUILD.gn index c7a609b2d149..007d390bc61e 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -638,12 +638,14 @@ static_library("browser_test_support") { deps = [ "//chrome/browser", "//chrome/browser/ui", + "//chrome/test:chrome_test_launcher", ] } static_library("browser_tests_runner") { testonly = true deps = [ + "//chrome/test:chrome_test_launcher", "//chrome/test:test_support", "//ui/compositor", ] From 57759b9b29bdaa9c2d56a4ee64f36bd75e22ab5a Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Sun, 3 Mar 2024 16:56:40 +0000 Subject: [PATCH 049/130] `kAttributionFencedFrameReportingBeacon` deleted upstream This feature has been deleted, however this flag is part of the attribution reporting feature, which is disabled already. Chromium change: https://chromium.googlesource.com/chromium/src/+/a57fd52cea81dc93300e735718802d759d35bb1e commit a57fd52cea81dc93300e735718802d759d35bb1e Author: Nan Lin Date: Thu Feb 29 21:44:19 2024 +0000 Remove feature kAttributionFencedFrameReportingBeacon The feature was default enabled in M116. --- app/feature_defaults_unittest.cc | 1 - chromium_src/content/public/common/content_features.cc | 1 - 2 files changed, 2 deletions(-) diff --git a/app/feature_defaults_unittest.cc b/app/feature_defaults_unittest.cc index 82d5aeced840..4b7688863e1d 100644 --- a/app/feature_defaults_unittest.cc +++ b/app/feature_defaults_unittest.cc @@ -132,7 +132,6 @@ TEST(FeatureDefaultsTest, DisabledFeatures) { #if BUILDFLAG(IS_WIN) &features::kAppBoundEncryptionMetrics, #endif - &features::kAttributionFencedFrameReportingBeacon, &features::kAttributionReportingCrossAppWebOverride, &features::kBookmarkTriggerForPrerender2, &features::kChromeLabs, diff --git a/chromium_src/content/public/common/content_features.cc b/chromium_src/content/public/common/content_features.cc index db983fda438f..df0f55942176 100644 --- a/chromium_src/content/public/common/content_features.cc +++ b/chromium_src/content/public/common/content_features.cc @@ -18,7 +18,6 @@ BASE_FEATURE(kIdleDetection, base::FEATURE_DISABLED_BY_DEFAULT); OVERRIDE_FEATURE_DEFAULT_STATES({{ - {kAttributionFencedFrameReportingBeacon, base::FEATURE_DISABLED_BY_DEFAULT}, {kCookieDeprecationFacilitatedTesting, base::FEATURE_DISABLED_BY_DEFAULT}, {kDigitalGoodsApi, base::FEATURE_DISABLED_BY_DEFAULT}, {kDIPS, base::FEATURE_DISABLED_BY_DEFAULT}, From 6890d35dc499f428df3e8ddeef63da0916590127 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Sun, 3 Mar 2024 17:05:11 +0000 Subject: [PATCH 050/130] `kRenameJourneys` deleted upstream This feature flag was being disabled by default, but the entire feature has been deleted upstream with the flag. Chromium change: https://chromium.googlesource.com/chromium/src/+/b2311756b2e855688551a76a1b2dcddf040972e8 commit b2311756b2e855688551a76a1b2dcddf040972e8 Author: Marlon Facey Date: Thu Feb 29 20:03:53 2024 +0000 [journeys rebrand] Remove rename journeys feature/refs Bug: 40069898 --- app/feature_defaults_unittest.cc | 1 - chromium_src/components/history_clusters/core/features.cc | 1 - 2 files changed, 2 deletions(-) diff --git a/app/feature_defaults_unittest.cc b/app/feature_defaults_unittest.cc index 4b7688863e1d..34ae75273f33 100644 --- a/app/feature_defaults_unittest.cc +++ b/app/feature_defaults_unittest.cc @@ -187,7 +187,6 @@ TEST(FeatureDefaultsTest, DisabledFeatures) { &heap_profiling::kHeapProfilerReporting, &history::kOrganicRepeatableQueries, &history::kSyncSegmentsData, - &history_clusters::kRenameJourneys, &history_clusters::kSidePanelJourneys, &history_clusters::features::kOnDeviceClustering, &history_clusters::features::kOnDeviceClusteringKeywordFiltering, diff --git a/chromium_src/components/history_clusters/core/features.cc b/chromium_src/components/history_clusters/core/features.cc index e84505e01c12..484c09f0c416 100644 --- a/chromium_src/components/history_clusters/core/features.cc +++ b/chromium_src/components/history_clusters/core/features.cc @@ -22,7 +22,6 @@ OVERRIDE_FEATURE_DEFAULT_STATES({{ {kOmniboxHistoryClusterProvider, base::FEATURE_DISABLED_BY_DEFAULT}, {kPersistedClusters, base::FEATURE_DISABLED_BY_DEFAULT}, {kPersistContextAnnotationsInHistoryDb, base::FEATURE_DISABLED_BY_DEFAULT}, - {kRenameJourneys, base::FEATURE_DISABLED_BY_DEFAULT}, {kSidePanelJourneys, base::FEATURE_DISABLED_BY_DEFAULT}, }}); } // namespace history_clusters::internal From 81b2aee0a156791bb981d42ad472bafdb563f0b1 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Sun, 3 Mar 2024 17:13:32 +0000 Subject: [PATCH 051/130] `AvatarToolbarButtonDelegate` dtor divirtualised This class' destructor is not virtual anymore, which requires our own destructor to its derived type to be devirtualised as well. The brave derivation is being marked as final, so the compiler can properly ascertain that no destructor is being skipped. Chromium change: https://chromium.googlesource.com/chromium/src/+/39a9c37c5d50b4c3c5d0ff70bc2498444f335de6 commit 39a9c37c5d50b4c3c5d0ff70bc2498444f335de6 Author: Ryan Sultanem Date: Thu Feb 29 16:20:23 2024 +0000 [AvatarButton] Migrate the Management state and enable normal state Merged Work and School into one state with a difference in the text shown. Bug: b/324018028 --- .../ui/views/profiles/brave_avatar_toolbar_button_delegate.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/browser/ui/views/profiles/brave_avatar_toolbar_button_delegate.h b/browser/ui/views/profiles/brave_avatar_toolbar_button_delegate.h index 955f6dce5415..a48765c5389c 100644 --- a/browser/ui/views/profiles/brave_avatar_toolbar_button_delegate.h +++ b/browser/ui/views/profiles/brave_avatar_toolbar_button_delegate.h @@ -8,7 +8,8 @@ #include "chrome/browser/ui/views/profiles/avatar_toolbar_button_delegate.h" -class BraveAvatarToolbarButtonDelegate : public AvatarToolbarButtonDelegate { +class BraveAvatarToolbarButtonDelegate final + : public AvatarToolbarButtonDelegate { public: using AvatarToolbarButtonDelegate::AvatarToolbarButtonDelegate; BraveAvatarToolbarButtonDelegate(AvatarToolbarButton* button, @@ -17,7 +18,6 @@ class BraveAvatarToolbarButtonDelegate : public AvatarToolbarButtonDelegate { delete; BraveAvatarToolbarButtonDelegate& operator=( const BraveAvatarToolbarButtonDelegate&) = delete; - ~BraveAvatarToolbarButtonDelegate() override = default; gfx::Image GetGaiaAccountImage() const; From 00ac34871c7326abe39982bf1ede19a8b9b5d24a Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Tue, 5 Mar 2024 17:21:18 +0000 Subject: [PATCH 052/130] `signin_metrics::ProfileSignout` histogram removed This histogram got deleted upstream, which changed the signature of several function that are overriden in brave. Chromium change: https://chromium.googlesource.com/chromium/src/+/75e7ca7555de0a09a84498b9780decd7608500cd commit 75e7ca7555de0a09a84498b9780decd7608500cd Author: Liza Bipin Date: Mon Mar 4 13:34:32 2024 +0000 [CodeHealth] Remove expired histogram Signin.SignoutDeleteProfile Histogram expired in M85. Additionally removes SignoutDelete which is no longer in use. Bug: 40940198 --- .../internal/identity_manager/primary_account_manager.cc | 3 +-- .../internal/identity_manager/primary_account_manager.h | 7 +++---- .../identity_manager/primary_account_mutator_impl.cc | 3 +-- .../identity_manager/primary_account_mutator_impl.h | 6 +++--- .../identity_manager/brave_primary_account_mutator_impl.cc | 3 +-- .../identity_manager/brave_primary_account_mutator_impl.h | 3 +-- 6 files changed, 10 insertions(+), 15 deletions(-) diff --git a/chromium_src/components/signin/internal/identity_manager/primary_account_manager.cc b/chromium_src/components/signin/internal/identity_manager/primary_account_manager.cc index ae3edf8967be..a142f4016e70 100644 --- a/chromium_src/components/signin/internal/identity_manager/primary_account_manager.cc +++ b/chromium_src/components/signin/internal/identity_manager/primary_account_manager.cc @@ -10,5 +10,4 @@ #undef RevokeSyncConsent void PrimaryAccountManager::RevokeSyncConsent( - signin_metrics::ProfileSignout source_metric, - signin_metrics::SignoutDelete delete_metric) {} + signin_metrics::ProfileSignout source_metric) {} diff --git a/chromium_src/components/signin/internal/identity_manager/primary_account_manager.h b/chromium_src/components/signin/internal/identity_manager/primary_account_manager.h index 1cae776dfa2b..c9bab72660e5 100644 --- a/chromium_src/components/signin/internal/identity_manager/primary_account_manager.h +++ b/chromium_src/components/signin/internal/identity_manager/primary_account_manager.h @@ -6,10 +6,9 @@ #ifndef BRAVE_CHROMIUM_SRC_COMPONENTS_SIGNIN_INTERNAL_IDENTITY_MANAGER_PRIMARY_ACCOUNT_MANAGER_H_ #define BRAVE_CHROMIUM_SRC_COMPONENTS_SIGNIN_INTERNAL_IDENTITY_MANAGER_PRIMARY_ACCOUNT_MANAGER_H_ -#define RevokeSyncConsent \ - RevokeSyncConsent_ChromiumImpl( \ - signin_metrics::ProfileSignout signout_source_metric, \ - signin_metrics::SignoutDelete signout_delete_metric); \ +#define RevokeSyncConsent \ + RevokeSyncConsent_ChromiumImpl( \ + signin_metrics::ProfileSignout signout_source_metric); \ void RevokeSyncConsent #include "src/components/signin/internal/identity_manager/primary_account_manager.h" // IWYU pragma: export diff --git a/chromium_src/components/signin/internal/identity_manager/primary_account_mutator_impl.cc b/chromium_src/components/signin/internal/identity_manager/primary_account_mutator_impl.cc index 3f25a666eb94..5810e183759e 100644 --- a/chromium_src/components/signin/internal/identity_manager/primary_account_mutator_impl.cc +++ b/chromium_src/components/signin/internal/identity_manager/primary_account_mutator_impl.cc @@ -13,7 +13,6 @@ namespace signin { void PrimaryAccountMutatorImpl::RevokeSyncConsent( - signin_metrics::ProfileSignout source_metric, - signin_metrics::SignoutDelete delete_metric) {} + signin_metrics::ProfileSignout source_metric) {} } // namespace signin diff --git a/chromium_src/components/signin/internal/identity_manager/primary_account_mutator_impl.h b/chromium_src/components/signin/internal/identity_manager/primary_account_mutator_impl.h index 304b31ca5270..46f8a05c874f 100644 --- a/chromium_src/components/signin/internal/identity_manager/primary_account_mutator_impl.h +++ b/chromium_src/components/signin/internal/identity_manager/primary_account_mutator_impl.h @@ -9,9 +9,9 @@ #include "components/signin/internal/identity_manager/primary_account_manager.h" #include "components/signin/public/identity_manager/primary_account_mutator.h" -#define RevokeSyncConsent \ - RevokeSyncConsent_ChromiumImpl(signin_metrics::ProfileSignout source_metric, \ - signin_metrics::SignoutDelete delete_metric); \ +#define RevokeSyncConsent \ + RevokeSyncConsent_ChromiumImpl( \ + signin_metrics::ProfileSignout source_metric); \ void RevokeSyncConsent #include "src/components/signin/internal/identity_manager/primary_account_mutator_impl.h" // IWYU pragma: export diff --git a/components/signin/internal/identity_manager/brave_primary_account_mutator_impl.cc b/components/signin/internal/identity_manager/brave_primary_account_mutator_impl.cc index 09f03f1490b0..8ee870988bbc 100644 --- a/components/signin/internal/identity_manager/brave_primary_account_mutator_impl.cc +++ b/components/signin/internal/identity_manager/brave_primary_account_mutator_impl.cc @@ -28,8 +28,7 @@ BravePrimaryAccountMutatorImpl::~BravePrimaryAccountMutatorImpl() = default; #if !BUILDFLAG(IS_CHROMEOS) bool BravePrimaryAccountMutatorImpl::ClearPrimaryAccount( - signin_metrics::ProfileSignout source_metric, - signin_metrics::SignoutDelete delete_metric) { + signin_metrics::ProfileSignout source_metric) { return true; } #endif diff --git a/components/signin/internal/identity_manager/brave_primary_account_mutator_impl.h b/components/signin/internal/identity_manager/brave_primary_account_mutator_impl.h index e2ad97d933fc..a6aa7ac76740 100644 --- a/components/signin/internal/identity_manager/brave_primary_account_mutator_impl.h +++ b/components/signin/internal/identity_manager/brave_primary_account_mutator_impl.h @@ -20,8 +20,7 @@ class BravePrimaryAccountMutatorImpl : public PrimaryAccountMutatorImpl { #if !BUILDFLAG(IS_CHROMEOS_ASH) bool ClearPrimaryAccount( - signin_metrics::ProfileSignout source_metric, - signin_metrics::SignoutDelete delete_metric) override; + signin_metrics::ProfileSignout source_metric) override; #endif }; From 7795df07fd62e6c9dbd07708bd8650897162e7b0 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Tue, 5 Mar 2024 17:35:34 +0000 Subject: [PATCH 053/130] `queryHandwritingRecognizer` returns a typed promise This affects the implmentation we have for this fucntion, which has been corrected accordingly. Additionally, build errors relating to incomplete promise type have to be corrected in page graph headers, by providing the definition of the typed promise at that point. Chromium change: https://chromium.googlesource.com/chromium/src/+/85ca0cc9bdcd7bcd4ea65f95cd796b4e3b5a45df commit 85ca0cc9bdcd7bcd4ea65f95cd796b4e3b5a45df Author: Nate Chapin Date: Mon Mar 4 21:44:37 2024 +0000 Use typed promise/resolvers when resolving a promise with a v8::Value --- .../modules/handwriting/handwriting_recognition_service.cc | 5 +++-- .../blink/renderer/core/brave_page_graph/blink_converters.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/chromium_src/third_party/blink/renderer/modules/handwriting/handwriting_recognition_service.cc b/chromium_src/third_party/blink/renderer/modules/handwriting/handwriting_recognition_service.cc index 54ca92fe7ada..bd846b2aec4d 100644 --- a/chromium_src/third_party/blink/renderer/modules/handwriting/handwriting_recognition_service.cc +++ b/chromium_src/third_party/blink/renderer/modules/handwriting/handwriting_recognition_service.cc @@ -40,14 +40,15 @@ ScriptPromise HandwritingRecognitionService::createHandwritingRecognizer( } // static -ScriptPromise HandwritingRecognitionService::queryHandwritingRecognizer( +ScriptPromiseTyped> +HandwritingRecognitionService::queryHandwritingRecognizer( ScriptState*, Navigator&, const HandwritingModelConstraint*, ExceptionState& exception_state) { exception_state.ThrowDOMException(DOMExceptionCode::kNotSupportedError, kHandwritingDisabledError); - return ScriptPromise(); + return ScriptPromiseTyped>(); } void HandwritingRecognitionService::Trace(Visitor* visitor) const { diff --git a/third_party/blink/renderer/core/brave_page_graph/blink_converters.h b/third_party/blink/renderer/core/brave_page_graph/blink_converters.h index 9e4263945232..60ba44091bf2 100644 --- a/third_party/blink/renderer/core/brave_page_graph/blink_converters.h +++ b/third_party/blink/renderer/core/brave_page_graph/blink_converters.h @@ -18,6 +18,7 @@ #include "third_party/blink/renderer/bindings/core/v8/script_promise.h" #include "third_party/blink/renderer/bindings/core/v8/script_value.h" #include "third_party/blink/renderer/bindings/core/v8/to_v8_traits.h" +#include "third_party/blink/renderer/bindings/modules/v8/v8_handwriting_recognizer_query_result.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_related_application.h" // IWYU pragma: keep #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/dom/events/event_listener.h" From 8b35d225f0326d37836bd9a4c9ba009b248e57ae Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Tue, 5 Mar 2024 17:38:24 +0000 Subject: [PATCH 054/130] Use macro for google test flags GTest is getting updated and the way how flags are set has also been changed to be through a macro. This change corrects the remaining offending code to make use of this macro. Chromium change: https://chromium.googlesource.com/chromium/src/+/7f4b01bd3e8e61957bd6a85ee913b924061f5978 commit 7f4b01bd3e8e61957bd6a85ee913b924061f5978 Author: Daniel Cheng Date: Sat Feb 24 10:16:02 2024 +0000 Roll src/third_party/googletest/src/ af29db7ec..76bb2afb8 (375 commits) This roll includes several fixes needed to unblock the automated roll. In particular, the biggest change is disabling Abseil support in GoogleTest: GoogleTest has switched to using Abseil flags when GTEST_HAS_ABSL is set, which is incompatible with Chrome. For Chrome, the main impact of disabling Abseil support is losing the pretty printer for absl::variant; however, Chrome plans to switch to std::variant once the codegen issues are fixed. Unfortunately, this also requires suppressing GN check for GoogleTest to prevent errors from false positives, since GN does not understand conditional includes and does not realize that the Abseil flags headers are not actually included. Created with: roll-dep src/third_party/googletest/src Bug: 1409870 --- .../brave_rewards/core/publisher/media/youtube_unittest.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/brave_rewards/core/publisher/media/youtube_unittest.cc b/components/brave_rewards/core/publisher/media/youtube_unittest.cc index 698d30059927..76eff217aa9c 100644 --- a/components/brave_rewards/core/publisher/media/youtube_unittest.cc +++ b/components/brave_rewards/core/publisher/media/youtube_unittest.cc @@ -433,7 +433,7 @@ TEST(MediaYouTubeTest, GetVideoUrl) { // https://source.chromium.org/chromium/chromium/src/+/master:base/test/gtest_util.h;l=23 // Death tests misbehave on Android. #if !BUILDFLAG(IS_ANDROID) - ::testing::FLAGS_gtest_death_test_style = "threadsafe"; + GTEST_FLAG_SET(death_test_style, "threadsafe"); EXPECT_DEATH({ YouTube::GetVideoUrl(media_id); }, "Check failed: !media_id.empty*"); #endif // !BUILDFLAG(IS_ANDROID) @@ -469,7 +469,7 @@ TEST(MediaYouTubeTest, GetChannelUrl) { // https://source.chromium.org/chromium/chromium/src/+/master:base/test/gtest_util.h;l=23 // Death tests misbehave on Android. #if !BUILDFLAG(IS_ANDROID) - ::testing::FLAGS_gtest_death_test_style = "threadsafe"; + GTEST_FLAG_SET(death_test_style, "threadsafe"); EXPECT_DEATH({ YouTube::GetChannelUrl(channel_id); }, "Check failed: !publisher_key.empty*"); #endif // !BUILDFLAG(IS_ANDROID) From a7eb31bebd1473e660ae1f9a45b8abfe42a37fd2 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Thu, 7 Mar 2024 02:23:46 +0000 Subject: [PATCH 055/130] Privacy guide feaures deleted upstream These specific flags were being disabled by default, however the code they were guarding is now deleted. Chromium change: https://chromium.googlesource.com/chromium/src/+/f8eb4d46d0bc268eba98dbfe23b1abf26ccb07d7 commit f8eb4d46d0bc268eba98dbfe23b1abf26ccb07d7 Author: Rainhard Findling Date: Tue Mar 5 08:20:43 2024 +0000 Reland #2 "Privacy Guide: remove search suggestions and preload cards" This is attempt #2 to reland this cleanup. Earlier attempts: commit 1faae6bd62538e3f685c7143d003a05dd5fbfffa and commit 01170d74d06655cd7244026dc0689542702c9bc2. This is created as a revert-of-a-revert as Gerrit currently doesn't allow to create a reland with merge conflicts (crbug.com/41395970). The position of the cookie step that is shown in the PG flow in the 3PCD-disabled codepath has been updated in the integration test (see delta of patchset 1>2) which should (hopefully) make it pass also on waterfall bots. The reason why this wasn't caught in the last 2 CLs seems to stem from how 3PCD is tested in privacy_guide_integration_test.ts: privacy_guide_integration_test.ts does not force the 3PCD state to test both possible codepaths, but instead relies on the fieldtrial_testing_configs to run both possible 3PCD code paths [1]. Contrary to our earlier understanding it seems that on local builds and on CQ bots, the fieldtrial_testing_configs does not actually run both possible 3PCD code paths, but only the 3PCD-enabled code path. As the cookie step is shown in PG only in the 3PCD-disabled code path, as a result of that code path seemingly not being tested in local builds and in CQ bots, the incorrect position of the cookie step in the integration test was not caught in the last 2 CLs. [1] https://chromium-review.googlesource.com/c/chromium/src/+/5014485/comment/6a847c98_64081fc3/ Original change's description: > Privacy Guide: clean up search suggestions and preload cards > > The product decision has been made that the "improve search > suggestions" and "preload" cards in privacy guide won't launch. This > CL removes those cards from privacy guide. > > Bug: 40184479 > Change-Id: I747c2c693ca624d769290c2351d02d4c0913bdab > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5279392 > Reviewed-by: Theodore Olsauskas-Warren > Commit-Queue: John Lee > Reviewed-by: Side YILMAZ > Reviewed-by: John Lee > Cr-Commit-Position: refs/heads/main@{#1264176} Bug: 40184479 --- app/feature_defaults_unittest.cc | 2 -- chromium_src/chrome/common/chrome_features.cc | 2 -- 2 files changed, 4 deletions(-) diff --git a/app/feature_defaults_unittest.cc b/app/feature_defaults_unittest.cc index 34ae75273f33..847b4109816a 100644 --- a/app/feature_defaults_unittest.cc +++ b/app/feature_defaults_unittest.cc @@ -159,8 +159,6 @@ TEST(FeatureDefaultsTest, DisabledFeatures) { &features::kNotificationTriggers, &features::kOmniboxTriggerForNoStatePrefetch, &features::kOmniboxTriggerForPrerender2, - &features::kPrivacyGuide3, - &features::kPrivacyGuidePreload, #if BUILDFLAG(IS_ANDROID) &features::kPrivacyGuidePreloadAndroid, #endif diff --git a/chromium_src/chrome/common/chrome_features.cc b/chromium_src/chrome/common/chrome_features.cc index f4af99c63b50..6db6d5b6157d 100644 --- a/chromium_src/chrome/common/chrome_features.cc +++ b/chromium_src/chrome/common/chrome_features.cc @@ -17,11 +17,9 @@ OVERRIDE_FEATURE_DEFAULT_STATES({{ {kControlledFrame, base::FEATURE_DISABLED_BY_DEFAULT}, {kKAnonymityService, base::FEATURE_DISABLED_BY_DEFAULT}, {kKAnonymityServiceOHTTPRequests, base::FEATURE_DISABLED_BY_DEFAULT}, - {kPrivacyGuide3, base::FEATURE_DISABLED_BY_DEFAULT}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) {kDesktopPWAsLinkCapturing, base::FEATURE_DISABLED_BY_DEFAULT}, #endif - {kPrivacyGuidePreload, base::FEATURE_DISABLED_BY_DEFAULT}, #if BUILDFLAG(IS_ANDROID) {kPrivacyGuidePreloadAndroid, base::FEATURE_DISABLED_BY_DEFAULT}, #endif From 590e04596de10f0cba7c8f411c9107a3875fc013 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Thu, 7 Mar 2024 12:53:47 -0500 Subject: [PATCH 056/130] [Android] Use assert_no_deps to ensure java and native trees do not connect Chromium change: https://source.chromium.org/chromium/chromium/src/+/99b60d792644f4589bdc400aa62244791ad8254e Reland "Android: Use assert_no_deps to ensure java and native trees do not connect" This reverts commit b46fadd958b824bb6e3cedbf3c2415d6bec3b5f6. Reason for reland: Added missing deps Original change's description: > Revert "Android: Use assert_no_deps to ensure java and native trees do not connect" > > This reverts commit c6ebc3f815d64748a9eabd3a4fb05afb91f6b8d9. > > Reason for revert: only suspect for build breakage, see https://crbug.com/327241558 > > Original change's description: > > Android: Use assert_no_deps to ensure java and native trees do not connect > > > > Our java and native build graphs are meant to be independent, but > > sometimes deps are added between them. The deps do not do anything, but > > slow down builds by reducing parallelism. These checks should prevent > > such deps from being introduced. > > > > To achieve this parallelism, adds an "asset_deps" field to android_apk > > and android_bundle_module targets that enable adding deps directly to > > the "package_apk" step. This was needed for > > libchrome_unwind_table_assets and loadable_modules. > > > > Bug: 325619950 > > Change-Id: I36c8cd3757650249e3d544310208825882dcad4d > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5301510 > > Reviewed-by: Peter Wen > > Auto-Submit: Andrew Grieve > > Commit-Queue: Andrew Grieve > > Cr-Commit-Position: refs/heads/main@{#1265824} > > Bug: 325619950 > Change-Id: I5e57dceb230cfd18a59be04c9df33e3a1e3ecc43 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5328880 > Owners-Override: John Abd-El-Malek > Bot-Commit: Rubber Stamper > Reviewed-by: John Abd-El-Malek > Commit-Queue: John Abd-El-Malek > Cr-Commit-Position: refs/heads/main@{#1266034} Bug: 325619950 --- browser/ui/android/omnibox/BUILD.gn | 1 - test/BUILD.gn | 1 - 2 files changed, 2 deletions(-) diff --git a/browser/ui/android/omnibox/BUILD.gn b/browser/ui/android/omnibox/BUILD.gn index 12c146d4b199..d7436875a656 100644 --- a/browser/ui/android/omnibox/BUILD.gn +++ b/browser/ui/android/omnibox/BUILD.gn @@ -30,7 +30,6 @@ android_library("java") { "//base:base_shared_preferences_java", "//brave/android/java/org/chromium/chrome/browser/search_engines:java", "//brave/build/android:android_brave_strings_grd", - "//brave/components/p3a_utils", "//chrome/browser/commerce/merchant_viewer/android:java", "//chrome/browser/flags:java", "//chrome/browser/preferences:java", diff --git a/test/BUILD.gn b/test/BUILD.gn index 007d390bc61e..513683c9795c 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -1248,7 +1248,6 @@ if (is_android) { "//base:base_shared_preferences_java", "//brave/components/brave_wallet/common:mojom_java", "//cc:cc_java", - "//chrome/android:chrome_apk_pak_assets", "//chrome/browser/android/browserservices/intents:java", "//chrome/browser/android/lifecycle:java", "//chrome/browser/back_press/android:java", From 283c1dac8c11b1309096dac7d112207002e396f2 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Thu, 7 Mar 2024 16:38:40 -0500 Subject: [PATCH 057/130] [Android] Clean up refactor code in LayoutManager Chromium change: https://source.chromium.org/chromium/chromium/src/+/3e641749e308f2278e68973da6f18523fc118a28 [StartRefactor] Clean up refactor code in LayoutManager. Remove overviewLayout in LayoutManagerChrome and its tests. Bug: 40221888 --- .../chrome/browser/app/BraveActivity.java | 4 +-- .../BraveAppMenuPropertiesDelegateImpl.java | 27 +++++++++----- .../BraveTabbedAppMenuPropertiesDelegate.java | 35 +++++++++++++------ 3 files changed, 44 insertions(+), 22 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index e76e404e8b6f..1a9123709ba0 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -688,8 +688,8 @@ public boolean onOptionsItemSelected(int itemId, @Nullable Bundle menuItemData) BraveReflectionUtil.getField( ChromeTabbedActivity.class, "mLayoutManager", this); if (layoutManager != null - && layoutManager.getOverviewLayout() != null - && !layoutManager.getOverviewLayout().isActive() + && layoutManager.getTabSwitcherLayoutForTesting() != null + && !layoutManager.getTabSwitcherLayoutForTesting().isActive() && mMiscAndroidMetrics != null) { mMiscAndroidMetrics.recordAppMenuNewTab(); } diff --git a/android/java/org/chromium/chrome/browser/app/appmenu/BraveAppMenuPropertiesDelegateImpl.java b/android/java/org/chromium/chrome/browser/app/appmenu/BraveAppMenuPropertiesDelegateImpl.java index 7741c8019cfb..724a0c4387b3 100644 --- a/android/java/org/chromium/chrome/browser/app/appmenu/BraveAppMenuPropertiesDelegateImpl.java +++ b/android/java/org/chromium/chrome/browser/app/appmenu/BraveAppMenuPropertiesDelegateImpl.java @@ -28,24 +28,33 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuHandler; import org.chromium.chrome.browser.ui.appmenu.AppMenuHandler.AppMenuItemType; import org.chromium.chrome.browser.ui.appmenu.AppMenuItemProperties; -import org.chromium.chrome.features.start_surface.StartSurface; import org.chromium.ui.modelutil.MVCListAdapter; import org.chromium.ui.modelutil.MVCListAdapter.ModelList; public class BraveAppMenuPropertiesDelegateImpl extends AppMenuPropertiesDelegateImpl { - public BraveAppMenuPropertiesDelegateImpl(Context context, + public BraveAppMenuPropertiesDelegateImpl( + Context context, ActivityTabProvider activityTabProvider, MultiWindowModeStateDispatcher multiWindowModeStateDispatcher, - TabModelSelector tabModelSelector, ToolbarManager toolbarManager, View decorView, + TabModelSelector tabModelSelector, + ToolbarManager toolbarManager, + View decorView, @Nullable OneshotSupplier layoutStateProvidersSupplier, - @Nullable OneshotSupplier startSurfaceSupplier, ObservableSupplier bookmarkModelSupplier, - @Nullable OneshotSupplier - incognitoReauthControllerOneshotSupplier, + @Nullable + OneshotSupplier + incognitoReauthControllerOneshotSupplier, @Nullable Supplier readAloudControllerSupplier) { - super(context, activityTabProvider, multiWindowModeStateDispatcher, tabModelSelector, - toolbarManager, decorView, layoutStateProvidersSupplier, startSurfaceSupplier, - bookmarkModelSupplier, incognitoReauthControllerOneshotSupplier, + super( + context, + activityTabProvider, + multiWindowModeStateDispatcher, + tabModelSelector, + toolbarManager, + decorView, + layoutStateProvidersSupplier, + bookmarkModelSupplier, + incognitoReauthControllerOneshotSupplier, readAloudControllerSupplier); } diff --git a/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java b/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java index b32b0f523a65..a0be016df4fd 100644 --- a/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java +++ b/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java @@ -54,7 +54,6 @@ import org.chromium.chrome.browser.vpn.utils.BraveVpnPrefUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnProfileUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; -import org.chromium.chrome.features.start_surface.StartSurface; import org.chromium.components.embedder_support.util.UrlUtilities; import org.chromium.components.user_prefs.UserPrefs; import org.chromium.ui.modaldialog.ModalDialogManager; @@ -67,23 +66,37 @@ public class BraveTabbedAppMenuPropertiesDelegate extends TabbedAppMenuPropertie private AppMenuDelegate mAppMenuDelegate; private ObservableSupplier mBookmarkModelSupplier; - public BraveTabbedAppMenuPropertiesDelegate(Context context, + public BraveTabbedAppMenuPropertiesDelegate( + Context context, ActivityTabProvider activityTabProvider, MultiWindowModeStateDispatcher multiWindowModeStateDispatcher, - TabModelSelector tabModelSelector, ToolbarManager toolbarManager, View decorView, + TabModelSelector tabModelSelector, + ToolbarManager toolbarManager, + View decorView, AppMenuDelegate appMenuDelegate, OneshotSupplier layoutStateProvider, - OneshotSupplier startSurfaceSupplier, ObservableSupplier bookmarkModelSupplier, WebFeedSnackbarController.FeedLauncher feedLauncher, - ModalDialogManager modalDialogManager, SnackbarManager snackbarManager, - @NonNull OneshotSupplier - incognitoReauthControllerOneshotSupplier, + ModalDialogManager modalDialogManager, + SnackbarManager snackbarManager, + @NonNull + OneshotSupplier + incognitoReauthControllerOneshotSupplier, Supplier readAloudControllerSupplier) { - super(context, activityTabProvider, multiWindowModeStateDispatcher, tabModelSelector, - toolbarManager, decorView, appMenuDelegate, layoutStateProvider, - startSurfaceSupplier, bookmarkModelSupplier, feedLauncher, modalDialogManager, - snackbarManager, incognitoReauthControllerOneshotSupplier, + super( + context, + activityTabProvider, + multiWindowModeStateDispatcher, + tabModelSelector, + toolbarManager, + decorView, + appMenuDelegate, + layoutStateProvider, + bookmarkModelSupplier, + feedLauncher, + modalDialogManager, + snackbarManager, + incognitoReauthControllerOneshotSupplier, readAloudControllerSupplier); mAppMenuDelegate = appMenuDelegate; From 59bfdd839ed7d9a32d8483be95e188f5382f3d50 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Thu, 7 Mar 2024 16:40:04 -0500 Subject: [PATCH 058/130] [Android] Revert "Adjust Bottom Controls Toolbar height" Chromium change: https://source.chromium.org/chromium/chromium/src/+/8caccdd5507b623e0855a97d8cf08b9dbe350413 Revert "[E2E] Adjust Bottom Controls Toolbar height" This reverts commit 868ff7f680a9e90147d4bca69b086a268f128cf8. Reason for revert: See bug 327635899 Original change's description: > [E2E] Adjust Bottom Controls Toolbar height > > Updates the BottomControls to use an appropriate Bar height when drawing ToEdge. > > Swiping on the Top Toolbar to switch tabs looks terrible, but I don't think hardly any users do that. Though we have bugs on that. Maybe we can add tests when we add that fix. > > BUG=41483234 > > Change-Id: I4cbba784a2f5e3ea00cd619656d2768cb621f7df > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5276443 > Reviewed-by: Theresa Sullivan > Commit-Queue: Donn Denman > Cr-Commit-Position: refs/heads/main@{#1266214} Bug: 41483234, 327635899 --- .../chrome/browser/toolbar/BraveToolbarManager.java | 12 ++---------- .../bottom/BraveBottomControlsCoordinator.java | 2 -- .../toolbar/bottom/BraveBottomControlsMediator.java | 7 ++----- 3 files changed, 4 insertions(+), 17 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java index 2bc98ae6c2a0..01deabfefdcf 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java +++ b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java @@ -66,7 +66,6 @@ import org.chromium.chrome.browser.toolbar.top.TopToolbarCoordinator; import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinator; import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate; -import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.system.StatusBarColorController; import org.chromium.chrome.features.start_surface.StartSurface; @@ -125,13 +124,11 @@ public class BraveToolbarManager extends ToolbarManager { private final Object mLock = new Object(); private boolean mBottomControlsEnabled; private BraveScrollingBottomViewResourceFrameLayout mBottomControls; - private ObservableSupplier mEdgeToEdgeControllerSupplier; public BraveToolbarManager( AppCompatActivity activity, BrowserControlsSizer controlsSizer, FullscreenManager fullscreenManager, - ObservableSupplier edgeToEdgeControllerSupplier, ToolbarControlContainer controlContainer, CompositorViewHolder compositorViewHolder, Callback urlFocusChangedCallback, @@ -174,13 +171,11 @@ public BraveToolbarManager( Supplier ephemeralTabCoordinatorSupplier, boolean initializeWithIncognitoColors, @Nullable BackPressManager backPressManager, - @Nullable BooleanSupplier overviewIncognitoSupplier, - @Nullable View baseChromeLayout) { + @Nullable BooleanSupplier overviewIncognitoSupplier) { super( activity, controlsSizer, fullscreenManager, - edgeToEdgeControllerSupplier, controlContainer, compositorViewHolder, urlFocusChangedCallback, @@ -221,15 +216,13 @@ public BraveToolbarManager( ephemeralTabCoordinatorSupplier, initializeWithIncognitoColors, backPressManager, - overviewIncognitoSupplier, - baseChromeLayout); + overviewIncognitoSupplier); mOmniboxFocusStateSupplier = omniboxFocusStateSupplier; mLayoutStateProviderSupplier = layoutStateProviderSupplier; mActivity = activity; mWindowAndroid = windowAndroid; mCompositorViewHolder = compositorViewHolder; - mEdgeToEdgeControllerSupplier = edgeToEdgeControllerSupplier; if (isToolbarPhone()) { updateBottomToolbarVisibility(); @@ -304,7 +297,6 @@ public void enableBottomControls() { mCompositorViewHolder.getResourceManager(), mBrowserControlsSizer, mFullscreenManager, - mEdgeToEdgeControllerSupplier, mBottomControls, mTabGroupUi, mTabObscuringHandler, diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java index 3404a3b73ac3..0badb7aa5fb8 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java @@ -68,7 +68,6 @@ public BraveBottomControlsCoordinator( ResourceManager resourceManager, BrowserControlsSizer controlsSizer, FullscreenManager fullscreenManager, - ObservableSupplier edgeToEdgeControllerSupplier, ScrollingBottomViewResourceFrameLayout root, BottomControlsContentDelegate contentDelegate, TabObscuringHandler tabObscuringHandler, @@ -81,7 +80,6 @@ public BraveBottomControlsCoordinator( resourceManager, controlsSizer, fullscreenManager, - edgeToEdgeControllerSupplier, root, contentDelegate, tabObscuringHandler, diff --git a/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java b/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java index cbb8dd4ae4f8..30b07f25f605 100644 --- a/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java +++ b/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java @@ -10,7 +10,6 @@ import org.chromium.chrome.browser.browser_controls.BrowserControlsSizer; import org.chromium.chrome.browser.fullscreen.FullscreenManager; import org.chromium.chrome.browser.tab.TabObscuringHandler; -import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.modelutil.PropertyModel; @@ -35,8 +34,7 @@ class BraveBottomControlsMediator extends BottomControlsMediator { FullscreenManager fullscreenManager, TabObscuringHandler tabObscuringHandler, int bottomControlsHeight, - ObservableSupplier overlayPanelVisibilitySupplier, - ObservableSupplier edgeToEdgeControllerSupplier) { + ObservableSupplier overlayPanelVisibilitySupplier) { super( windowAndroid, model, @@ -44,8 +42,7 @@ class BraveBottomControlsMediator extends BottomControlsMediator { fullscreenManager, tabObscuringHandler, bottomControlsHeight, - overlayPanelVisibilitySupplier, - edgeToEdgeControllerSupplier); + overlayPanelVisibilitySupplier); mTabGroupUiVisibleSupplier.set(false); mBottomToolbarVisibleSupplier.set(false); From 0a098b001ffb69f51374f9401e6b82b6cc539dd3 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Fri, 8 Mar 2024 10:13:52 -0500 Subject: [PATCH 059/130] [Android] Fix getTabGroupCount for tab groups with size 1 Chromium change: https://source.chromium.org/chromium/chromium/src/+/57a7761b2055997dccd9b566e1c42226734a1dbe [Tab Group] Fix getTabGroupCount for tab groups with size 1 TabGroupModelFilter wasn't correctly tracking tab groups with size 1. Increment when: * Creating a single tab group. * Adding a single tab that is in a tab group. Decrement when: * Closing the last tab in a group rather than when size becomes 1. * Removing the last tab from a tab group with size 1. Modify logic when adding a tab to the tab model as part of a group so that the group is created later and we can properly signal if a new group was created or not. Bug: 41496693 --- android/java/proguard.flags | 2 +- .../org/chromium/chrome/browser/BytecodeTest.java | 5 ++--- .../tasks/tab_groups/BraveTabGroupModelFilter.java | 13 ++++--------- .../BraveTabGroupModelFilterClassAdapter.java | 2 +- 4 files changed, 8 insertions(+), 14 deletions(-) diff --git a/android/java/proguard.flags b/android/java/proguard.flags index 1777b229ee66..6b765d2852d9 100644 --- a/android/java/proguard.flags +++ b/android/java/proguard.flags @@ -53,6 +53,6 @@ -keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken -keep class org.chromium.chrome.browser.tasks.tab_groups.TabGroupModelFilter { - *** getParentIds(...); + *** shouldUseParentIds(...); *** getOrCreateTabGroupId(...); } diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index 7c756eef8ead..8a665f54aa83 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -13,7 +13,6 @@ import android.os.Bundle; import android.os.Handler; import android.util.AttributeSet; -import android.util.Pair; import android.view.ActionMode; import android.view.View; import android.view.ViewGroup; @@ -711,9 +710,9 @@ public void testMethodsForInvocationExist() throws Exception { Assert.assertTrue( methodExists( "org/chromium/chrome/browser/tasks/tab_groups/TabGroupModelFilter", - "getParentIds", + "shouldUseParentIds", true, - Pair.class, + boolean.class, Tab.class)); Assert.assertTrue( methodExists( diff --git a/browser/tab_group/java/src/org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter.java b/browser/tab_group/java/src/org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter.java index 5d94651dc4b3..3b551608da53 100644 --- a/browser/tab_group/java/src/org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter.java +++ b/browser/tab_group/java/src/org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter.java @@ -4,7 +4,6 @@ * You can obtain one at https://mozilla.org/MPL/2.0/. */ package org.chromium.chrome.browser.tasks.tab_groups; -import android.util.Pair; import androidx.annotation.NonNull; @@ -16,7 +15,6 @@ import org.chromium.chrome.browser.tab.TabLaunchType; import org.chromium.chrome.browser.tabmodel.TabModel; import org.chromium.chrome.browser.tabmodel.TabModelFilter; -import org.chromium.chrome.browser.tabmodel.TabModelUtils; /** * Brave's super class for {@link TabGroupModelFilter} @@ -33,21 +31,18 @@ public BraveTabGroupModelFilter(TabModel tabModel) { } /** Call from {@link TabGroupModelFilter} will be redirected here via bytrcode. */ - public Pair getParentIds(Tab tab) { + public boolean shouldUseParentIds(Tab tab) { if (linkClicked(tab.getLaunchType()) && ChromeSharedPreferences.getInstance() .readBoolean(BravePreferenceKeys.BRAVE_TAB_GROUPS_ENABLED, true) && isTabModelRestored() && !mIsResetting) { - Tab parentTab = TabModelUtils.getTabById(getTabModel(), tab.getParentId()); - if (parentTab != null) { - return new Pair<>(parentTab.getRootId(), getOrCreateTabGroupId(parentTab)); - } + return true; } // Otherwise just call parent. - return (Pair) + return (boolean) BraveReflectionUtil.InvokeMethod( - TabGroupModelFilter.class, this, "getParentIds", Tab.class, tab); + TabGroupModelFilter.class, this, "shouldUseParentIds", Tab.class, tab); } /** diff --git a/build/android/bytecode/java/org/brave/bytecode/BraveTabGroupModelFilterClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BraveTabGroupModelFilterClassAdapter.java index bf62137eabb5..3fc59fe488e2 100644 --- a/build/android/bytecode/java/org/brave/bytecode/BraveTabGroupModelFilterClassAdapter.java +++ b/build/android/bytecode/java/org/brave/bytecode/BraveTabGroupModelFilterClassAdapter.java @@ -21,6 +21,6 @@ public BraveTabGroupModelFilterClassAdapter(ClassVisitor visitor) { deleteField(sTabGroupModelFilterClassName, "mIsResetting"); changeMethodOwner( - sTabGroupModelFilterClassName, "getParentIds", sBraveTabGroupModelFilterClassName); + sTabGroupModelFilterClassName, "shouldUseParentIds", sBraveTabGroupModelFilterClassName); } } From 6dfa06a8ca10900210cd3b8900efb1792e593878 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 8 Mar 2024 21:43:56 -0300 Subject: [PATCH 060/130] Avoid `LegacyBookmarkModel` `LegacyBookmarkModel` has been decoupled from `BookmarkModel`, and it has a much simpler interface that is not compatible with the underlying `BookmarkModel` type. This change replaces all uses of the the legacy type. Chromium change: https://chromium.googlesource.com/chromium/src/+/96869401df5a973057bb817a7474b0fe17a8ed0f commit 96869401df5a973057bb817a7474b0fe17a8ed0f Author: Mikel Astiz Date: Wed Mar 6 10:24:33 2024 +0000 [ios] Decouple LegacyBookmarkModel from BookmarkModel No behavioral changes, pure refactoring. The general idea is that LegacyBookmarkModel becomes an independent interface that (currently) simply wraps BookmarkModel, with a more narrow API. In upcoming patches, another subclass will be introduced that operates under a shared underlying BookmarkModel instead of always owning a dedicated instance. For the handful of cases were the new interface (LegacyBookmarkModel) isn't sufficient, a side channel is introduced in the factories, GetDedicatedUnderlyingModelForBrowserState(). This is a subtle API and one that will, in upcoming patches, require callers to implement flag-guarding. Test helpers are trivially forked from components/bookmarks/test, as the interface is analogous but the code itself cannot be shared. The patch also includes various test-only fixes such as verifyBookmarksWithTitle() previously doing something else other than what the name suggests (namely, match the query against the URL). Design doc (sorry, Googlers only): https://docs.google.com/document/d/11Dm4-FWEpT_fgxfAeq16O8qxOtaOZbU2o3MZeHDByUM/edit?usp=sharing Bug: 326185948 --- ios/app/brave_core_main.mm | 6 +++--- .../api/bookmarks/brave_bookmarks_api+private.h | 7 +++++-- ios/browser/api/bookmarks/brave_bookmarks_api.mm | 10 +++++----- .../api/bookmarks/exporter/bookmark_html_writer.cc | 4 ++-- .../api/bookmarks/importer/bookmarks_importer.mm | 5 ++--- 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/ios/app/brave_core_main.mm b/ios/app/brave_core_main.mm index bdaf026d6b33..1c647d3b0ba3 100644 --- a/ios/app/brave_core_main.mm +++ b/ios/app/brave_core_main.mm @@ -370,9 +370,9 @@ static bool CustomLogHandler(int severity, - (BraveBookmarksAPI*)bookmarksAPI { if (!_bookmarksAPI) { - LegacyBookmarkModel* bookmark_model_ = - ios::LocalOrSyncableBookmarkModelFactory::GetForBrowserState( - _mainBrowserState); + bookmarks::BookmarkModel* bookmark_model_ = + ios::LocalOrSyncableBookmarkModelFactory:: + GetDedicatedUnderlyingModelForBrowserState(_mainBrowserState); BookmarkUndoService* bookmark_undo_service_ = ios::BookmarkUndoServiceFactory::GetForBrowserState(_mainBrowserState); diff --git a/ios/browser/api/bookmarks/brave_bookmarks_api+private.h b/ios/browser/api/bookmarks/brave_bookmarks_api+private.h index e8fa6beda5a9..5c065437af99 100644 --- a/ios/browser/api/bookmarks/brave_bookmarks_api+private.h +++ b/ios/browser/api/bookmarks/brave_bookmarks_api+private.h @@ -12,11 +12,14 @@ NS_ASSUME_NONNULL_BEGIN -class LegacyBookmarkModel; +namespace bookmarks { +class BookmarkModel; +} + class BookmarkUndoService; @interface BraveBookmarksAPI (Private) -- (instancetype)initWithBookmarkModel:(LegacyBookmarkModel*)bookmarkModel +- (instancetype)initWithBookmarkModel:(bookmarks::BookmarkModel*)bookmarkModel bookmarkUndoService:(BookmarkUndoService*)bookmarkUndoService; @end diff --git a/ios/browser/api/bookmarks/brave_bookmarks_api.mm b/ios/browser/api/bookmarks/brave_bookmarks_api.mm index 343d9aad8589..38cee673f8f4 100644 --- a/ios/browser/api/bookmarks/brave_bookmarks_api.mm +++ b/ios/browser/api/bookmarks/brave_bookmarks_api.mm @@ -51,7 +51,7 @@ - (instancetype)initWithNode:(IOSBookmarkNode*)node @interface IOSBookmarkNode () { const bookmarks::BookmarkNode* node_; - LegacyBookmarkModel* model_; // UNOWNED + bookmarks::BookmarkModel* model_; // UNOWNED bool owned_; } @end @@ -59,7 +59,7 @@ @interface IOSBookmarkNode () { @implementation IOSBookmarkNode - (instancetype)initWithNode:(const bookmarks::BookmarkNode*)node - model:(LegacyBookmarkModel*)model { + model:(bookmarks::BookmarkModel*)model { if ((self = [super init])) { node_ = node; model_ = model; @@ -466,14 +466,14 @@ - (void)setNativeParent:(bookmarks::BookmarkNode*)parent { @end @interface BraveBookmarksAPI () { - LegacyBookmarkModel* bookmark_model_; // NOT OWNED + bookmarks::BookmarkModel* bookmark_model_; // NOT OWNED BookmarkUndoService* bookmark_undo_service_; // NOT OWNED } @end @implementation BraveBookmarksAPI -- (instancetype)initWithBookmarkModel:(LegacyBookmarkModel*)bookmarkModel +- (instancetype)initWithBookmarkModel:(bookmarks::BookmarkModel*)bookmarkModel bookmarkUndoService: (BookmarkUndoService*)bookmarkUndoService { if ((self = [super init])) { @@ -662,7 +662,7 @@ - (void)undo { bookmark_undo_service_->undo_manager()->Undo(); } -- (LegacyBookmarkModel*)getModel { +- (bookmarks::BookmarkModel*)getModel { return bookmark_model_; } @end diff --git a/ios/browser/api/bookmarks/exporter/bookmark_html_writer.cc b/ios/browser/api/bookmarks/exporter/bookmark_html_writer.cc index 9125eda33a2e..33c396c4cb81 100644 --- a/ios/browser/api/bookmarks/exporter/bookmark_html_writer.cc +++ b/ios/browser/api/bookmarks/exporter/bookmark_html_writer.cc @@ -503,8 +503,8 @@ void BookmarkFaviconFetcher::ExecuteWriter() { base::BindOnce( &Writer::DoWrite, base::MakeRefCounted( - ios::LocalOrSyncableBookmarkModelFactory::GetForBrowserState( - browser_state_), + ios::LocalOrSyncableBookmarkModelFactory:: + GetDedicatedUnderlyingModelForBrowserState(browser_state_), path_, favicons_map_.release(), observer_))); browser_state_->RemoveUserData(kBookmarkFaviconFetcherKey); // |this| is deleted! diff --git a/ios/browser/api/bookmarks/importer/bookmarks_importer.mm b/ios/browser/api/bookmarks/importer/bookmarks_importer.mm index bb2cbe0e1d3a..4dfe1782ba27 100644 --- a/ios/browser/api/bookmarks/importer/bookmarks_importer.mm +++ b/ios/browser/api/bookmarks/importer/bookmarks_importer.mm @@ -82,9 +82,8 @@ void ShowBookmarkBar(ChromeBrowserState* browser_state) { GetApplicationContext()->GetChromeBrowserStateManager(); ChromeBrowserState* browser_state = browser_state_manager->GetLastUsedBrowserState(); - LegacyBookmarkModel* model = - ios::LocalOrSyncableBookmarkModelFactory::GetForBrowserState( - browser_state); + bookmarks::BookmarkModel* model = ios::LocalOrSyncableBookmarkModelFactory:: + GetDedicatedUnderlyingModelForBrowserState(browser_state); DCHECK(model->loaded()); // If the bookmark bar is currently empty, we should import directly to it. From b5d9969f5eedbf50e5b1e49275e06b1343ae9e16 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 8 Mar 2024 18:31:05 +0000 Subject: [PATCH 061/130] Move `BraveSavedTabGroupButton` into the parent's namespace The parent class for this override was moved into a namespace, which requires the derived override class to also be moved into the same override, to graciously match the token substitutions. Chromium change: https://chromium.googlesource.com/chromium/src/+/3f3fc8b993b9683eb220ac3b36a16e38ea3447ff commit 3f3fc8b993b9683eb220ac3b36a16e38ea3447ff Author: Shakti Sahu Date: Wed Mar 6 00:19:23 2024 +0000 [Tab Group Sync] Add namespace to all saved tab group related classes This CL adds a namespace `tab_groups` to all saved tab group related classes. Namespace `tab_groups` is originally used for chrome/browser/tab_groups which contains definitions about tab groups such as color and ID. With this change, it also applies to all the code in //components/saved_tab_groups, //chrome/browser/ui/tabs/saved_tab_groups, // chrome/browser/ui/views/bookmarks/saved_tab_groups and related tests. This will help us isolate and modularize the code further from rest of chrome. Bug: b/326546431 --- .../saved_tab_groups/brave_saved_tab_group_button.cc | 4 ++++ .../bookmarks/saved_tab_groups/brave_saved_tab_group_button.h | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/browser/ui/views/bookmarks/saved_tab_groups/brave_saved_tab_group_button.cc b/browser/ui/views/bookmarks/saved_tab_groups/brave_saved_tab_group_button.cc index e6f3bdda9565..ee259efc80ed 100644 --- a/browser/ui/views/bookmarks/saved_tab_groups/brave_saved_tab_group_button.cc +++ b/browser/ui/views/bookmarks/saved_tab_groups/brave_saved_tab_group_button.cc @@ -13,6 +13,8 @@ #include "ui/views/border.h" #include "ui/views/controls/highlight_path_generator.h" +namespace tab_groups { + namespace { constexpr int kBorderRadius = 4; @@ -74,3 +76,5 @@ void BraveSavedTabGroupButton::UpdateButtonLayout() { BEGIN_METADATA(BraveSavedTabGroupButton) END_METADATA + +} // namespace tab_groups diff --git a/browser/ui/views/bookmarks/saved_tab_groups/brave_saved_tab_group_button.h b/browser/ui/views/bookmarks/saved_tab_groups/brave_saved_tab_group_button.h index 07ec4a96c9ca..7a5c82bc0993 100644 --- a/browser/ui/views/bookmarks/saved_tab_groups/brave_saved_tab_group_button.h +++ b/browser/ui/views/bookmarks/saved_tab_groups/brave_saved_tab_group_button.h @@ -10,6 +10,8 @@ #include "chrome/browser/ui/views/bookmarks/saved_tab_groups/saved_tab_group_button.h" +namespace tab_groups { + // A replacement for `SavedTabGroupButton` that matches the styling of Brave's // tab group headers. class BraveSavedTabGroupButton : public SavedTabGroupButton { @@ -31,4 +33,6 @@ class BraveSavedTabGroupButton : public SavedTabGroupButton { void UpdateButtonLayout() override; }; +} // namespace tab_groups + #endif // BRAVE_BROWSER_UI_VIEWS_BOOKMARKS_SAVED_TAB_GROUPS_BRAVE_SAVED_TAB_GROUP_BUTTON_H_ From a44053be058dfc43d858eaac2889e431ead0d0c3 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Tue, 12 Mar 2024 11:53:55 -0400 Subject: [PATCH 062/130] Reapply "Adjust Bottom Controls Toolbar height" Chromium change: https://source.chromium.org/chromium/chromium/src/+/10145a59645cfee50488408fc668bec110daa3b4 Reapply "[E2E] Adjust Bottom Controls Toolbar height" This reverts commit 8caccdd5507b623e0855a97d8cf08b9dbe350413. Updates the BottomControls to use an appropriate Bar height when drawing ToEdge. Bug: 41483234 --- .../chrome/browser/toolbar/BraveToolbarManager.java | 12 ++++++++++-- .../bottom/BraveBottomControlsCoordinator.java | 2 ++ .../toolbar/bottom/BraveBottomControlsMediator.java | 7 +++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java index 01deabfefdcf..2bc98ae6c2a0 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java +++ b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java @@ -66,6 +66,7 @@ import org.chromium.chrome.browser.toolbar.top.TopToolbarCoordinator; import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinator; import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate; +import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.system.StatusBarColorController; import org.chromium.chrome.features.start_surface.StartSurface; @@ -124,11 +125,13 @@ public class BraveToolbarManager extends ToolbarManager { private final Object mLock = new Object(); private boolean mBottomControlsEnabled; private BraveScrollingBottomViewResourceFrameLayout mBottomControls; + private ObservableSupplier mEdgeToEdgeControllerSupplier; public BraveToolbarManager( AppCompatActivity activity, BrowserControlsSizer controlsSizer, FullscreenManager fullscreenManager, + ObservableSupplier edgeToEdgeControllerSupplier, ToolbarControlContainer controlContainer, CompositorViewHolder compositorViewHolder, Callback urlFocusChangedCallback, @@ -171,11 +174,13 @@ public BraveToolbarManager( Supplier ephemeralTabCoordinatorSupplier, boolean initializeWithIncognitoColors, @Nullable BackPressManager backPressManager, - @Nullable BooleanSupplier overviewIncognitoSupplier) { + @Nullable BooleanSupplier overviewIncognitoSupplier, + @Nullable View baseChromeLayout) { super( activity, controlsSizer, fullscreenManager, + edgeToEdgeControllerSupplier, controlContainer, compositorViewHolder, urlFocusChangedCallback, @@ -216,13 +221,15 @@ public BraveToolbarManager( ephemeralTabCoordinatorSupplier, initializeWithIncognitoColors, backPressManager, - overviewIncognitoSupplier); + overviewIncognitoSupplier, + baseChromeLayout); mOmniboxFocusStateSupplier = omniboxFocusStateSupplier; mLayoutStateProviderSupplier = layoutStateProviderSupplier; mActivity = activity; mWindowAndroid = windowAndroid; mCompositorViewHolder = compositorViewHolder; + mEdgeToEdgeControllerSupplier = edgeToEdgeControllerSupplier; if (isToolbarPhone()) { updateBottomToolbarVisibility(); @@ -297,6 +304,7 @@ public void enableBottomControls() { mCompositorViewHolder.getResourceManager(), mBrowserControlsSizer, mFullscreenManager, + mEdgeToEdgeControllerSupplier, mBottomControls, mTabGroupUi, mTabObscuringHandler, diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java index 0badb7aa5fb8..3404a3b73ac3 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java @@ -68,6 +68,7 @@ public BraveBottomControlsCoordinator( ResourceManager resourceManager, BrowserControlsSizer controlsSizer, FullscreenManager fullscreenManager, + ObservableSupplier edgeToEdgeControllerSupplier, ScrollingBottomViewResourceFrameLayout root, BottomControlsContentDelegate contentDelegate, TabObscuringHandler tabObscuringHandler, @@ -80,6 +81,7 @@ public BraveBottomControlsCoordinator( resourceManager, controlsSizer, fullscreenManager, + edgeToEdgeControllerSupplier, root, contentDelegate, tabObscuringHandler, diff --git a/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java b/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java index 30b07f25f605..cbb8dd4ae4f8 100644 --- a/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java +++ b/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java @@ -10,6 +10,7 @@ import org.chromium.chrome.browser.browser_controls.BrowserControlsSizer; import org.chromium.chrome.browser.fullscreen.FullscreenManager; import org.chromium.chrome.browser.tab.TabObscuringHandler; +import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.modelutil.PropertyModel; @@ -34,7 +35,8 @@ class BraveBottomControlsMediator extends BottomControlsMediator { FullscreenManager fullscreenManager, TabObscuringHandler tabObscuringHandler, int bottomControlsHeight, - ObservableSupplier overlayPanelVisibilitySupplier) { + ObservableSupplier overlayPanelVisibilitySupplier, + ObservableSupplier edgeToEdgeControllerSupplier) { super( windowAndroid, model, @@ -42,7 +44,8 @@ class BraveBottomControlsMediator extends BottomControlsMediator { fullscreenManager, tabObscuringHandler, bottomControlsHeight, - overlayPanelVisibilitySupplier); + overlayPanelVisibilitySupplier, + edgeToEdgeControllerSupplier); mTabGroupUiVisibleSupplier.set(false); mBottomToolbarVisibleSupplier.set(false); From 31d8e4a55950009ff092a26ec06c096e0e20d2ba Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Tue, 12 Mar 2024 11:55:01 -0400 Subject: [PATCH 063/130] Revert: [Android] New method for ThemeColorObserver Chromium change: https://source.chromium.org/chromium/chromium/src/+/367b1c908323ca11e1380dbded7d96b840a582bf Revert "[SurfacePolish] Fix bug about toolbar flips to white when navigating" This reverts commit 2c24369515ffb61dfca8e5ae252240e41b5571e4. Reason for revert: Toolbar color got wrong when navigate to native pages and google webpages. Original change's description: > [SurfacePolish] Fix bug about toolbar flips to white when navigating > from NTP to webpage > > When navigating from the NTP to a webpage, the toolbar color initially > changes to the default toolbar color during the loading phase. It will > change to the browser tab's color or stay unchanged after the loading > phase. The loading process occurs directly on the NTP. However, with the > Start Surface Polish enabled, the NTP's toolbar has a different color > than the default toolbar, and this results in a flip of white when > navigating from NTP to webpage, as shown in the > image: > https://drive.google.com/file/d/1ywogmzelW1OQwGdPCvrd0EndFkAbvCoM/ > view?usp=sharing&resourcekey=0-XV6pRmumU3L4vy36HRSJ4w. > This CL aims to fix this problem. > > When navigating from the NTP to a webpage, the ToolbarPhone#mVisualState > will immediately turn from VisualState.NEW_TAB_NORMAL or > VisualState.NEW_TAB_SEARCH_ENGINE_NO_LOGO to VisualState.NORMAL called > by function ToolbarPhone#onTabOrModelChanged. This is the starting point > of the loading phase. > > The ending point of the loading phase is the time we know if we have a > website theme color. The time we start to know whether the website has > its theme color is the time point ToolbarPhone#onPrimaryColorChanged() > gets called. Since this function won't be called when the website does > not have a specific theme color, I added a function > ToolbarPhone#onPrimaryColorGotUpdateNotified() instead. The newly added > function will be called at the same time if > ToolbarPhone#onPrimaryColorChanged() gets called. And the ending point > is marked inside this function. > > After this CL, the navigation process will look like > this: > https://drive.google.com/file/d/1FchVCPWj3DnLaMoZ1Z5Ra_7Z6SIavRSV/ > view?usp=sharing&resourcekey=0-tT-y6F12OihXzxjeTnRaIw > > Bug: 323888159 > Change-Id: I0e790c2c140a118b8863194f78932168067861cd > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5272687 > Reviewed-by: Theresa Sullivan > Commit-Queue: Xinyi Ji > Reviewed-by: Sky Malice > Cr-Commit-Position: refs/heads/main@{#1266588} Bug: 323888159 --- .../chrome/browser/toolbar/bottom/BookmarksButton.java | 3 --- .../browser/toolbar/bottom/BottomToolbarNewTabButton.java | 3 --- .../toolbar/bottom/BrowsingModeBottomToolbarMediator.java | 3 --- .../chrome/browser/toolbar/bottom/SearchAccelerator.java | 3 --- .../toolbar/bottom/TabSwitcherBottomToolbarMediator.java | 3 --- 5 files changed, 15 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/BookmarksButton.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/BookmarksButton.java index b41a1ec11e3e..0cc651fafd2a 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/BookmarksButton.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/BookmarksButton.java @@ -72,7 +72,4 @@ public void updateBookmarkButton(boolean isBookmarked, boolean editingAllowed) { } public void updateButtonEnabledState(Tab tab) {} - - @Override - public void onThemeColorUpdated(boolean colorChanged) {} } diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarNewTabButton.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarNewTabButton.java index 80e671c9343f..6ffd94a263fe 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarNewTabButton.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarNewTabButton.java @@ -107,7 +107,4 @@ private void updateBackground() { mIncognitoStateProvider.isIncognitoSelected()), PorterDuff.Mode.SRC_IN); } - - @Override - public void onThemeColorUpdated(boolean colorChanged) {} } diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/BrowsingModeBottomToolbarMediator.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/BrowsingModeBottomToolbarMediator.java index 941bd74dfd21..706dccc1fce8 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/BrowsingModeBottomToolbarMediator.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/BrowsingModeBottomToolbarMediator.java @@ -69,7 +69,4 @@ public void onThemeColorChanged(int primaryColor, boolean shouldAnimate) { private @ColorInt int applyCustomAlphaToColor(@ColorInt int baseColor, float alpha) { return (baseColor & 0x00FFFFFF) | ((int) (alpha * 255) << 24); } - - @Override - public void onThemeColorUpdated(boolean colorChanged) {} } diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/SearchAccelerator.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/SearchAccelerator.java index 3194a89371ef..15955ade8320 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/SearchAccelerator.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/SearchAccelerator.java @@ -102,7 +102,4 @@ private void updateBackground() { mIncognitoStateProvider.isIncognitoSelected()), PorterDuff.Mode.SRC_IN); } - - @Override - public void onThemeColorUpdated(boolean colorChanged) {} } diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/TabSwitcherBottomToolbarMediator.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/TabSwitcherBottomToolbarMediator.java index db1dfd5450f9..503f4bc233b7 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/TabSwitcherBottomToolbarMediator.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/TabSwitcherBottomToolbarMediator.java @@ -57,7 +57,4 @@ void destroy() { public void onThemeColorChanged(int primaryColor, boolean shouldAnimate) { mModel.set(TabSwitcherBottomToolbarModel.PRIMARY_COLOR, primaryColor); } - - @Override - public void onThemeColorUpdated(boolean colorChanged) {} } From 3fde0336ae6f77971950e1f13b044edf0127353e Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 8 Mar 2024 18:29:18 +0000 Subject: [PATCH 064/130] `std::erase` now available This change removes the unused inclusion of stragling headers for the old `base::Erase/EraseIf` Chromium change: https://chromium.googlesource.com/chromium/src/+/fcb1dcc7fc7b7de16a27399f8ef7373dda9463cf commit fcb1dcc7fc7b7de16a27399f8ef7373dda9463cf Author: Andrew Rayskiy Date: Wed Mar 6 13:24:21 2024 +0000 [base] Remove Erase()/EraseIf() overloads for std::vector<> All call sites have been updated to std::erase()/std::erase_if(). Bug: 40256229 --- browser/brave_shields/brave_shields_web_contents_observer.cc | 1 - browser/brave_vpn/win/service_details.cc | 1 - browser/brave_wallet/solana_provider_impl_unittest.cc | 1 - browser/ui/commands/accelerator_service.cc | 1 - .../chrome/browser/ui/webui/settings/site_settings_helper.cc | 1 - components/api_request_helper/api_request_helper.cc | 1 - .../brave_rewards/core/contribution/contribution_monthly.cc | 1 - 7 files changed, 7 deletions(-) diff --git a/browser/brave_shields/brave_shields_web_contents_observer.cc b/browser/brave_shields/brave_shields_web_contents_observer.cc index 8de7836d2f37..24d1f681faab 100644 --- a/browser/brave_shields/brave_shields_web_contents_observer.cc +++ b/browser/brave_shields/brave_shields_web_contents_observer.cc @@ -10,7 +10,6 @@ #include #include -#include "base/containers/cxx20_erase_vector.h" #include "base/feature_list.h" #include "base/strings/utf_string_conversions.h" #include "brave/components/brave_perf_predictor/browser/perf_predictor_tab_helper.h" diff --git a/browser/brave_vpn/win/service_details.cc b/browser/brave_vpn/win/service_details.cc index 677f62bbe137..b375e82f7b7d 100644 --- a/browser/brave_vpn/win/service_details.cc +++ b/browser/brave_vpn/win/service_details.cc @@ -9,7 +9,6 @@ #include -#include "base/containers/cxx20_erase.h" #include "base/notreached.h" #include "base/path_service.h" #include "brave/browser/brave_vpn/win/service_constants.h" diff --git a/browser/brave_wallet/solana_provider_impl_unittest.cc b/browser/brave_wallet/solana_provider_impl_unittest.cc index 6294961597fa..3dff5c04b9ca 100644 --- a/browser/brave_wallet/solana_provider_impl_unittest.cc +++ b/browser/brave_wallet/solana_provider_impl_unittest.cc @@ -9,7 +9,6 @@ #include #include -#include "base/containers/cxx20_erase_vector.h" #include "base/json/json_reader.h" #include "base/memory/raw_ptr.h" #include "base/test/bind.h" diff --git a/browser/ui/commands/accelerator_service.cc b/browser/ui/commands/accelerator_service.cc index ecc59004ce53..a8b1eb2f1a81 100644 --- a/browser/ui/commands/accelerator_service.cc +++ b/browser/ui/commands/accelerator_service.cc @@ -12,7 +12,6 @@ #include #include "base/containers/contains.h" -#include "base/containers/cxx20_erase_vector.h" #include "base/containers/flat_map.h" #include "base/containers/flat_set.h" #include "base/ranges/algorithm.h" diff --git a/chromium_src/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chromium_src/chrome/browser/ui/webui/settings/site_settings_helper.cc index 10ebdec9b280..dd1ba5e9a288 100644 --- a/chromium_src/chrome/browser/ui/webui/settings/site_settings_helper.cc +++ b/chromium_src/chrome/browser/ui/webui/settings/site_settings_helper.cc @@ -8,7 +8,6 @@ #include #include -#include "base/containers/cxx20_erase_vector.h" #include "brave/components/brave_shields/core/common/brave_shield_constants.h" #include "third_party/blink/public/common/features.h" diff --git a/components/api_request_helper/api_request_helper.cc b/components/api_request_helper/api_request_helper.cc index 45f8ea0ac52f..7b3c5c771ca7 100644 --- a/components/api_request_helper/api_request_helper.cc +++ b/components/api_request_helper/api_request_helper.cc @@ -11,7 +11,6 @@ #include "base/check.h" #include "base/check_op.h" -#include "base/containers/cxx20_erase_vector.h" #include "base/debug/alias.h" #include "base/debug/dump_without_crashing.h" #include "base/json/json_reader.h" diff --git a/components/brave_rewards/core/contribution/contribution_monthly.cc b/components/brave_rewards/core/contribution/contribution_monthly.cc index 92275315e21b..21bba654d728 100644 --- a/components/brave_rewards/core/contribution/contribution_monthly.cc +++ b/components/brave_rewards/core/contribution/contribution_monthly.cc @@ -10,7 +10,6 @@ #include #include -#include "base/containers/cxx20_erase.h" #include "base/functional/bind.h" #include "base/uuid.h" #include "brave/components/brave_rewards/core/common/time_util.h" From 5f1806d3cde22f1147170ca9ea7804b13c3ba995 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 8 Mar 2024 22:00:37 -0300 Subject: [PATCH 065/130] `PermissionStatus` type collision fixed upstream This issue was introduced a few versions past, and required some dancing around making both occurrences unambigious. This dispenses the use of the patch and the shadow file. Chromium change: https://chromium.googlesource.com/chromium/src/+/9411098e2a5995d5c51d351b58758f1d1244369c commit 9411098e2a5995d5c51d351b58758f1d1244369c Author: Thomas Nguyen Date: Fri Mar 8 11:26:01 2024 +0000 [PEPC]: Observe intersection state of PermissionElement This CL will disable the element when it's not entirely visible in the viewport. It will also disable it momentarily when transitioning from invisible to visible. The visibility state is observed and set using the IntersectionObserver. Bug: 1462930 --- .../renderer/core/html/html_permission_element.cc | 14 -------------- ...erer-core-html-html_permission_element.cc.patch | 12 ------------ 2 files changed, 26 deletions(-) delete mode 100644 chromium_src/third_party/blink/renderer/core/html/html_permission_element.cc delete mode 100644 patches/third_party-blink-renderer-core-html-html_permission_element.cc.patch diff --git a/chromium_src/third_party/blink/renderer/core/html/html_permission_element.cc b/chromium_src/third_party/blink/renderer/core/html/html_permission_element.cc deleted file mode 100644 index 63a73555dd38..000000000000 --- a/chromium_src/third_party/blink/renderer/core/html/html_permission_element.cc +++ /dev/null @@ -1,14 +0,0 @@ -/* Copyright (c) 2023 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at https://mozilla.org/MPL/2.0/. */ - -#include "third_party/blink/renderer/core/html/html_permission_element.h" - -#include "third_party/blink/public/mojom/permissions/permission.mojom-blink.h" -#include "third_party/blink/renderer/core/dom/document.h" -#include "third_party/blink/renderer/core/dom/element.h" - -#define PermissionStatus mojom::blink::PermissionStatus -#include "src/third_party/blink/renderer/core/html/html_permission_element.cc" -#undef PermissionStatus diff --git a/patches/third_party-blink-renderer-core-html-html_permission_element.cc.patch b/patches/third_party-blink-renderer-core-html-html_permission_element.cc.patch deleted file mode 100644 index 9aacb67180b6..000000000000 --- a/patches/third_party-blink-renderer-core-html-html_permission_element.cc.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/third_party/blink/renderer/core/html/html_permission_element.cc b/third_party/blink/renderer/core/html/html_permission_element.cc -index 4e2b05770e8b29a96bb1db6b8d6fe0c7805bf62e..3eef4b61c04624cfd153be69a448bfd6d6d2375e 100644 ---- a/third_party/blink/renderer/core/html/html_permission_element.cc -+++ b/third_party/blink/renderer/core/html/html_permission_element.cc -@@ -34,7 +34,6 @@ using mojom::blink::PermissionDescriptorPtr; - using mojom::blink::PermissionName; - using mojom::blink::PermissionObserver; - using mojom::blink::PermissionService; --using mojom::blink::PermissionStatus; - - namespace { - From 4bfe6dcd818e95fd7fe893dce2af4cfd0c91f05c Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Mon, 11 Mar 2024 18:50:24 +0000 Subject: [PATCH 066/130] `AppMenu` marked as final This change instroduces a patch to undo the tagging of `AppMenu` as final. A patch is used, as an override to a reserved keyword would be UB. Chromium change: https://chromium.googlesource.com/chromium/src/+/5c9d165d6dae20378e7475ca81eba1881a201e14 commit 5c9d165d6dae20378e7475ca81eba1881a201e14 Author: David Bertoni Date: Fri Mar 8 01:41:23 2024 +0000 [Code Health] Remove some uses of base::SupportsWeakPtr. (c/b/ui) Bug: 40485134 --- ...chrome-browser-ui-views-toolbar-app_menu.h.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 patches/chrome-browser-ui-views-toolbar-app_menu.h.patch diff --git a/patches/chrome-browser-ui-views-toolbar-app_menu.h.patch b/patches/chrome-browser-ui-views-toolbar-app_menu.h.patch new file mode 100644 index 000000000000..3ff343f1e9a9 --- /dev/null +++ b/patches/chrome-browser-ui-views-toolbar-app_menu.h.patch @@ -0,0 +1,13 @@ +diff --git a/chrome/browser/ui/views/toolbar/app_menu.h b/chrome/browser/ui/views/toolbar/app_menu.h +index c5dd0878cd5a69edb8c2e612720ee48d2b23e58f..316195f4a62813b9825ff1b568414df2599c64c2 100644 +--- a/chrome/browser/ui/views/toolbar/app_menu.h ++++ b/chrome/browser/ui/views/toolbar/app_menu.h +@@ -29,7 +29,7 @@ class MenuRunner; + } + + // AppMenu adapts the AppMenuModel to view's menu related classes. +-class AppMenu final : public views::MenuDelegate, ++class AppMenu : public views::MenuDelegate, + public bookmarks::BaseBookmarkModelObserver, + public GlobalErrorObserver { + public: From 85afb62b36ea7fda7630e171d7791c32b8c610d6 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Mon, 11 Mar 2024 18:57:27 +0000 Subject: [PATCH 067/130] Match `createHandwritingRecognizer` override return type This event now returns a typed promise, which has broken the override to cancel it. Chromium change: https://chromium.googlesource.com/chromium/src/+/e10bf042c607cd442b983f0f4167a012400e8bd5 commit e10bf042c607cd442b983f0f4167a012400e8bd5 Author: Tove Petersson Date: Fri Mar 8 09:44:15 2024 +0000 Remove no longer needed extra-button in ConfirmInfoBar Bug: 327501794 --- .../modules/handwriting/handwriting_recognition_service.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/chromium_src/third_party/blink/renderer/modules/handwriting/handwriting_recognition_service.cc b/chromium_src/third_party/blink/renderer/modules/handwriting/handwriting_recognition_service.cc index bd846b2aec4d..7412bc2ecedb 100644 --- a/chromium_src/third_party/blink/renderer/modules/handwriting/handwriting_recognition_service.cc +++ b/chromium_src/third_party/blink/renderer/modules/handwriting/handwriting_recognition_service.cc @@ -29,14 +29,15 @@ HandwritingRecognitionService::HandwritingRecognitionService( // IDL Interface: // static -ScriptPromise HandwritingRecognitionService::createHandwritingRecognizer( +ScriptPromiseTyped +HandwritingRecognitionService::createHandwritingRecognizer( ScriptState*, Navigator&, const HandwritingModelConstraint*, ExceptionState& exception_state) { exception_state.ThrowDOMException(DOMExceptionCode::kNotSupportedError, kHandwritingDisabledError); - return ScriptPromise(); + return ScriptPromiseTyped(); } // static From 643bc2b9ee8d91fcae833ae4bc6dc6b651813239 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Mon, 11 Mar 2024 18:07:13 -0300 Subject: [PATCH 068/130] `cr-searchable-drop-down` moved to Print Preview This file is being duplicated into the brave tree, as it is now confined to print preview on upstream. Ultimately, some additional work will be required for this, as some of the elements being used in this file are being deprecated. Chromium change: https://chromium.googlesource.com/chromium/src/+/7246277959ff32fb2768d672e36833070bffc9d0 commit 7246277959ff32fb2768d672e36833070bffc9d0 Author: rbpotter Date: Fri Mar 8 23:59:01 2024 +0000 WebUI: Move cr-searchable-drop-down to only user Move cr-searchable-drop-down to Print Preview. This element is only used in CrOS Print Preview, and is not allowed on other platforms due to use of deprecated iron-dropdown. Moving it out of the shared resources may help to discourage any further use. Rename it to searchable_drop_down_cros so that the CrOS Printing team can own it. Bug: 40943652 --- patches/ui-webui-resources-cr_elements-BUILD.gn.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/ui-webui-resources-cr_elements-BUILD.gn.patch b/patches/ui-webui-resources-cr_elements-BUILD.gn.patch index 53a788afd41c..0f4731243ab3 100644 --- a/patches/ui-webui-resources-cr_elements-BUILD.gn.patch +++ b/patches/ui-webui-resources-cr_elements-BUILD.gn.patch @@ -6,7 +6,7 @@ index 5aa0691b45c1e6df2fe44c0133e0467c322394f2..d4bfa96bf63822cd5e0b00dcf44addea ts_composite = true ts_deps = [ "../js:build_ts" ] if (include_polymer) { -+ if (!is_chromeos && !is_android) { web_component_files += [ "cr_searchable_drop_down/cr_searchable_drop_down.ts" ] } ts_deps += ["//brave/ui/webui/resources:build_ts"] ++ ts_deps += ["//brave/ui/webui/resources:build_ts"] ts_deps += [ "//third_party/lit/v3_0:build_ts", "//third_party/polymer/v3_0:library", From 552547305c2210bf8dac844083bfb906f23ac206 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Tue, 12 Mar 2024 13:37:43 +0000 Subject: [PATCH 069/130] Moving `searchable-drop-down` into settings This component got moved into Print Preview in upstream, to not be used outside it. This change adds a copy of it into brave settings, for the wallet code. This is a temporary change as the `iron-dropdown` has been deprecated, and some additional rework will be need going forward. Chromium change: https://chromium.googlesource.com/chromium/src/+/7246277959ff32fb2768d672e36833070bffc9d0 commit 7246277959ff32fb2768d672e36833070bffc9d0 Author: rbpotter Date: Fri Mar 8 23:59:01 2024 +0000 WebUI: Move cr-searchable-drop-down to only user Move cr-searchable-drop-down to Print Preview. This element is only used in CrOS Print Preview, and is not allowed on other platforms due to use of deprecated iron-dropdown. Moving it out of the shared resources may help to discourage any further use. Rename it to searchable_drop_down_cros so that the CrOS Printing team can own it. Bug: 40943652 --- .../add_wallet_network_dialog.html | 4 +- .../add_wallet_network_dialog.ts | 2 +- browser/resources/settings/sources.gni | 1 + .../ui/searchable_drop_down_cros.html | 167 ++++++ .../settings/ui/searchable_drop_down_cros.ts | 496 ++++++++++++++++++ 5 files changed, 667 insertions(+), 3 deletions(-) create mode 100644 browser/resources/settings/ui/searchable_drop_down_cros.html create mode 100644 browser/resources/settings/ui/searchable_drop_down_cros.ts diff --git a/browser/resources/settings/brave_wallet_page/add_wallet_network_dialog.html b/browser/resources/settings/brave_wallet_page/add_wallet_network_dialog.html index 192b4e14201e..ef298d844d89 100644 --- a/browser/resources/settings/brave_wallet_page/add_wallet_network_dialog.html +++ b/browser/resources/settings/brave_wallet_page/add_wallet_network_dialog.html @@ -37,13 +37,13 @@
+ :host(:not([error-message-allowed])) cr-input { + --cr-input-error-display: none; + } + + :host([opened_]) cr-input { + --cr-input-border-radius: 4px 4px 0 0; + } + + iron-dropdown, + cr-input { + /* 472px is the max width of the input field for a dialog. */ + width: var(--cr-searchable-drop-down-width, 472px); + } + + cr-input { + --cr-input-padding-start: 8px; + + /* cr-inputs are by default isolated into their own stacking contexts + * but cr-searchable-drop-down requires a fixed overlay that floats over + * and covers other content outside their parent cr-input's stacking + * contexts. + */ + isolation: auto; + } + + iron-dropdown { + max-height: 270px; + } + + iron-dropdown [slot='dropdown-content'] { + background-color: var(--cr-searchable-drop-down-bg-color, white); + border-radius: 0 0 4px 4px; + box-shadow: var(--cr-searchable-drop-down-shadow, + 0 2px 6px var(--paper-grey-500)); + min-width: 128px; + padding: 8px 0; + } + + #input-overlay { + border-radius: 4px; + height: 100%; + left: 0; + overflow: hidden; + pointer-events: none; + position: absolute; + top: 0; + width: 100%; + } + + #dropdown-icon { + --iron-icon-height: 20px; + --iron-icon-width: 20px; + margin-top: -10px; + padding-inline-end: 6px; + position: absolute; + right: 0; + top: 50%; + } + + :host-context([dir='rtl']) #dropdown-icon { + left: 0; + right: unset; + } + + cr-input:focus-within #dropdown-icon { + --iron-icon-fill-color: var(--cr-searchable-drop-down-icon-color-focus, + var(--google-blue-600)); + } + + #input-box { + height: 100%; + left: 0; + pointer-events: none; + top: 0; + width: 100%; + } + + #dropdown-box { + pointer-events: initial; + width: 100%; + } + + #loading-box { + align-items: center; + box-sizing: border-box; + display: flex; + height: 32px; + padding: 0 8px; + text-align: start; + width: 100%; + } + + #loading-box div { + font-size: 12px; + padding: 0 16px; + } + + #loading-box paper-spinner-lite { + --paper-spinner-color: var(--cr-searchable-drop-down-spinner-color, + var(--google-blue-600)); + --paper-spinner-stroke-width: 2px; + height: 16px; + width: 16px; + } + + .list-item { + background: none; + border: none; + box-sizing: border-box; + color: var(--cr-searchable-drop-down-list-item-color, + var(--paper-grey-900)); + font: inherit; + min-height: 32px; + padding: 0 8px; + text-align: start; + width: 100%; + } + + .list-item[selected_] { + background-color: + var(--cr-searchable-drop-down-list-bg-color-selected, + rgba(0, 0, 0, .04)); + outline: none; + } + + .list-item:active { + background-color: + var(--cr-searchable-drop-down-list-bg-color-active, + rgba(0, 0, 0, .12)); + outline: none; + } + + + +
+
+ +
+ +
+
diff --git a/browser/resources/settings/ui/searchable_drop_down_cros.ts b/browser/resources/settings/ui/searchable_drop_down_cros.ts new file mode 100644 index 000000000000..3439c6215275 --- /dev/null +++ b/browser/resources/settings/ui/searchable_drop_down_cros.ts @@ -0,0 +1,496 @@ +// Copyright (c) 2024 The Brave Authors. All rights reserved. +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at https://mozilla.org/MPL/2.0/. + +// Copyright 2018 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +/** + * @fileoverview 'cr-searchable-drop-down' implements a search box with a + * suggestions drop down. + * + * If the update-value-on-input flag is set, value will be set to whatever is + * in the input box. Otherwise, value will only be set when an element in items + * is clicked. + * + * The |invalid| property tracks whether the user's current text input in the + * dropdown matches the previously saved dropdown value. This property can be + * used to disable certain user actions when the dropdown is invalid. + * + * Note: Since this element uses iron-dropdown, it is not permitted on + * non-CrOS platforms. DO NOT add new uses of this element in non-CrOS Print + * Preview. + */ +import '//resources/cr_elements/cr_input/cr_input.js'; +import '//resources/cr_elements/cr_hidden_style.css.js'; +import '//resources/cr_elements/icons.html.js'; +import '//resources/cr_elements/cr_shared_style.css.js'; +import '//resources/cr_elements/cr_shared_vars.css.js'; +import '//resources/polymer/v3_0/iron-dropdown/iron-dropdown.js'; +import '//resources/polymer/v3_0/iron-icon/iron-icon.js'; +import '//resources/polymer/v3_0/paper-spinner/paper-spinner-lite.js'; + +import type {CrInputElement} from '//resources/cr_elements/cr_input/cr_input.js'; +import type {IronDropdownElement} from '//resources/polymer/v3_0/iron-dropdown/iron-dropdown.js'; +import type {DomRepeatEvent} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js'; +import {PolymerElement} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js'; + +import {getTemplate} from './searchable_drop_down_cros.html.js'; + +export interface SearchableDropDownElement { + $: { + search: CrInputElement, + dropdown: IronDropdownElement, + }; +} + +export class SearchableDropDownElement extends PolymerElement { + static get is() { + return 'searchable-drop-down'; + } + + static get template() { + return getTemplate(); + } + + static get properties() { + return { + autofocus: { + type: Boolean, + value: false, + reflectToAttribute: true, + }, + + readonly: { + type: Boolean, + reflectToAttribute: true, + }, + + /** + * Whether space should be left below the text field to display an error + * message. Must be true for |errorMessage| to be displayed. + */ + errorMessageAllowed: { + type: Boolean, + value: false, + reflectToAttribute: true, + }, + + /** + * When |errorMessage| is set, the text field is highlighted red and + * |errorMessage| is displayed beneath it. + */ + errorMessage: String, + + /** + * Message to display next to the loading spinner. + */ + loadingMessage: String, + + placeholder: String, + + /** + * Used to track in real time if the |value| in cr-searchable-drop-down + * matches the value in the underlying cr-input. These values will differ + * after a user types in input that does not match a valid dropdown + * option. |invalid| is always false when |updateValueOnInput| is set to + * true. This is because when |updateValueOnInput| is set to true, we are + * not setting a restrictive set of valid options. + */ + invalid: { + type: Boolean, + value: false, + notify: true, + }, + + items: { + type: Array, + observer: 'onItemsChanged_', + }, + + value: { + type: String, + notify: true, + observer: 'updateInvalid_', + }, + + label: { + type: String, + value: '', + }, + + updateValueOnInput: Boolean, + + showLoading: { + type: Boolean, + value: false, + }, + + searchTerm_: String, + + dropdownRefitPending_: Boolean, + + /** + * Whether the dropdown is currently open. Should only be used by CSS + * privately. + */ + opened_: { + type: Boolean, + value: false, + reflectToAttribute: true, + }, + }; + } + + override autofocus: boolean; + readonly: boolean; + errorMessageAllowed: boolean; + errorMessage: string; + loadingMessage: string; + placeholder: string; + invalid: boolean; + items: string[]; + value: string; + label: string; + updateValueOnInput: boolean; + showLoading: boolean; + + private searchTerm_: string; + private dropdownRefitPending_: boolean; + private opened_: boolean; + private openDropdownTimeoutId_: number = 0; + private resizeObserver_: ResizeObserver|null = null; + private pointerDownListener_: (e: Event) => void; + + override connectedCallback() { + super.connectedCallback(); + + this.pointerDownListener_ = this.onPointerDown_.bind(this); + document.addEventListener('pointerdown', this.pointerDownListener_); + this.resizeObserver_ = new ResizeObserver(() => { + this.resizeDropdown_(); + }); + this.resizeObserver_.observe(this.$.search); + } + + override ready() { + super.ready(); + this.addEventListener('mousemove', this.onMouseMove_.bind(this)); + } + + override disconnectedCallback() { + super.disconnectedCallback(); + + document.removeEventListener('pointerdown', this.pointerDownListener_); + this.resizeObserver_!.unobserve(this.$.search); + } + + /** + * Enqueues a task to refit the iron-dropdown if it is open. + */ + private enqueueDropdownRefit_() { + const dropdown = this.$.dropdown; + if (!this.dropdownRefitPending_ && dropdown.opened) { + this.dropdownRefitPending_ = true; + setTimeout(() => { + dropdown.refit(); + this.dropdownRefitPending_ = false; + }, 0); + } + } + + /** + * Keeps the dropdown from expanding beyond the width of the search input when + * its width is specified as a percentage. + */ + private resizeDropdown_() { + const dropdown = this.$.dropdown.containedElement; + const dropdownWidth = + Math.max(dropdown.offsetWidth, this.$.search.offsetWidth); + dropdown.style.width = `${dropdownWidth}px`; + this.enqueueDropdownRefit_(); + } + + private openDropdown_() { + this.$.dropdown.open(); + this.opened_ = true; + } + + private closeDropdown_() { + if (this.openDropdownTimeoutId_) { + clearTimeout(this.openDropdownTimeoutId_); + } + + this.$.dropdown.close(); + this.opened_ = false; + } + + /** + * Enqueues a task to open the iron-dropdown. Any pending task is canceled and + * a new task is enqueued. + */ + private enqueueOpenDropdown_() { + if (this.opened_) { + return; + } + if (this.openDropdownTimeoutId_) { + clearTimeout(this.openDropdownTimeoutId_); + } + this.openDropdownTimeoutId_ = setTimeout(this.openDropdown_.bind(this)); + } + + private onItemsChanged_() { + // Refit the iron-dropdown so that it can expand as neccessary to + // accommodate new items. Refitting is done on a new task because the change + // notification might not yet have propagated to the iron-dropdown. + this.enqueueDropdownRefit_(); + } + + private onFocus_() { + if (this.readonly) { + return; + } + this.openDropdown_(); + } + + private onMouseMove_(event: Event) { + const item = event.composedPath().find(elm => { + const element = elm as HTMLElement; + return element.classList && element.classList.contains('list-item'); + }) as HTMLElement | + undefined; + + if (!item) { + return; + } + + // Select the item the mouse is hovering over. If the user uses the + // keyboard, the selection will shift. But once the user moves the mouse, + // selection should be updated based on the location of the mouse cursor. + const selectedItem = this.findSelectedItem_(); + if (item === selectedItem) { + return; + } + + if (selectedItem) { + selectedItem.removeAttribute('selected_'); + } + item.setAttribute('selected_', ''); + } + + private onPointerDown_(event: Event) { + if (this.readonly) { + return; + } + + const paths = event.composedPath(); + const searchInput = this.$.search.inputElement; + if (paths.includes(this.$.dropdown)) { + // At this point, the search input field has lost focus. Since the user + // is still interacting with this element, give the search field focus. + searchInput.focus(); + // Prevent any other field from gaining focus due to this event. + event.preventDefault(); + } else if (paths.includes(searchInput)) { + // A click on the search input should open the dropdown. Opening the + // dropdown is done on a new task because when the IronDropdown element is + // opened, it may capture and cancel the touch event, preventing the + // searchInput field from receiving focus. Replacing iron-dropdown + // (crbug.com/1013408) will eliminate the need for this work around. + this.enqueueOpenDropdown_(); + } else { + // A click outside either the search input or dropdown should close the + // dropdown. Implicitly, the search input has lost focus at this point. + this.closeDropdown_(); + } + } + + private onKeyDown_(event: KeyboardEvent) { + const dropdown = this.$.dropdown; + if (!dropdown.opened) { + if (this.readonly) { + return; + } + if (event.key === 'Enter') { + this.openDropdown_(); + // Stop the default submit action. + event.preventDefault(); + } + return; + } + + event.stopPropagation(); + switch (event.key) { + case 'Tab': + // Pressing tab will cause the input field to lose focus. Since the + // dropdown visibility is tied to focus, close the dropdown. + this.closeDropdown_(); + break; + case 'ArrowUp': + case 'ArrowDown': { + const selected = this.findSelectedItemIndex_(); + const items = dropdown.querySelectorAll('.list-item'); + if (items.length === 0) { + break; + } + this.updateSelected_(items, selected, event.key === 'ArrowDown'); + break; + } + case 'Enter': { + const selected = this.findSelectedItem_(); + if (!selected) { + break; + } + selected.removeAttribute('selected_'); + this.value = (dropdown.querySelector('dom-repeat')!.modelForElement( + selected) as unknown as { + item: string, + }).item; + this.searchTerm_ = ''; + this.closeDropdown_(); + // Stop the default submit action. + event.preventDefault(); + break; + } + } + } + + /** + * Finds the currently selected dropdown item. + * @return Currently selected dropdown item, or undefined if no item is + * selected. + */ + private findSelectedItem_(): HTMLElement|undefined { + const items = + Array.from(this.$.dropdown.querySelectorAll('.list-item')); + return items.find(item => item.hasAttribute('selected_')); + } + + /** + * Finds the index of currently selected dropdown item. + * @return Index of the currently selected dropdown item, or -1 if no item is + * selected. + */ + private findSelectedItemIndex_(): number { + const items = + Array.from(this.$.dropdown.querySelectorAll('.list-item')); + return items.findIndex(item => item.hasAttribute('selected_')); + } + + /** + * Updates the currently selected element based on keyboard up/down movement. + */ + private updateSelected_( + items: NodeListOf, currentIndex: number, moveDown: boolean) { + const numItems = items.length; + let nextIndex = 0; + if (currentIndex === -1) { + nextIndex = moveDown ? 0 : numItems - 1; + } else { + const delta = moveDown ? 1 : -1; + nextIndex = (numItems + currentIndex + delta) % numItems; + items[currentIndex]!.removeAttribute('selected_'); + } + items[nextIndex]!.setAttribute('selected_', ''); + // The newly selected item might not be visible because the dropdown needs + // to be scrolled. So scroll the dropdown if necessary. + items[nextIndex]!.scrollIntoViewIfNeeded(); + } + + private onInput_() { + this.searchTerm_ = this.$.search.value; + + if (this.updateValueOnInput) { + this.value = this.$.search.value; + } + + // If the user makes a change, ensure the dropdown is open. The dropdown is + // closed when the user makes a selection using the mouse or keyboard. + // However, focus remains on the input field. If the user makes a further + // change, then the dropdown should be shown. + this.openDropdown_(); + + // iron-dropdown sets its max-height when it is opened. If the current value + // results in no filtered items in the drop down list, the iron-dropdown + // will have a max-height for 0 items. If the user then clears the input + // field, a non-zero number of items might be displayed in the drop-down, + // but the height is still limited based on 0 items. This results in a tiny, + // but scollable dropdown. Refitting the dropdown allows it to expand to + // accommodate the new items. + this.enqueueDropdownRefit_(); + + // Need check to if the input is valid when the user types. + this.updateInvalid_(); + } + + private onSelect_(event: DomRepeatEvent) { + this.closeDropdown_(); + + this.value = event.model.item; + this.searchTerm_ = ''; + + const selected = this.findSelectedItem_(); + if (selected) { + // Reset the selection state. + selected.removeAttribute('selected_'); + } + } + + private filterItems_(searchTerm: string): ((s: string) => boolean)|null { + if (!searchTerm) { + return null; + } + return function(item) { + return item.toLowerCase().includes(searchTerm.toLowerCase()); + }; + } + + private shouldShowErrorMessage_( + errorMessage: string, errorMessageAllowed: boolean): boolean { + return !!this.getErrorMessage_(errorMessage, errorMessageAllowed); + } + + private getErrorMessage_(errorMessage: string, errorMessageAllowed: boolean): + string { + if (!errorMessageAllowed) { + return ''; + } + return errorMessage; + } + + /** + * This makes sure to reset the text displayed in the dropdown to the actual + * value in the cr-input for the use case where a user types in an invalid + * option then changes focus from the dropdown. This behavior is only for when + * updateValueOnInput is false. When updateValueOnInput is true, it is ok to + * leave the user's text in the dropdown search bar when focus is changed. + */ + private onBlur_() { + if (!this.updateValueOnInput) { + this.$.search.value = this.value; + } + + // Need check to if the input is valid when the dropdown loses focus. + this.updateInvalid_(); + } + + /** + * If |updateValueOnInput| is true then any value is allowable so always set + * |invalid| to false. + */ + private updateInvalid_() { + this.invalid = + !this.updateValueOnInput && (this.value !== this.$.search.value); + } +} + +declare global { + interface HTMLElementTagNameMap { + 'searchable-drop-down': SearchableDropDownElement; + } +} + +customElements.define( + SearchableDropDownElement.is, SearchableDropDownElement); From 9a2645ad1e31df141441893dddf3bca4385d10ca Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Wed, 13 Mar 2024 18:05:53 +0000 Subject: [PATCH 070/130] [WIP] `DisableContentSecurityPolicy` deleted for being unused Chromium change: https://chromium.googlesource.com/chromium/src/+/4dfcb20e586175bf7142a5ad940e33f4b18ec61d commit 4dfcb20e586175bf7142a5ad940e33f4b18ec61d Author: Anthony Vallee-Dubois Date: Fri Mar 8 22:33:38 2024 +0000 Remove DisableContentSecurityPolicy and DisableReplaceExistingSource - DisableReplaceExistingSource was unused. - DisableContentSecurityPolicy was unused outside of tests (where it wasn't needed) and the webui feed (which was removed in https://chromium-review.googlesource.com/c/chromium/src/+/5328827) Bug: None --- browser/tor/brave_tor_browsertest.cc | 3 --- browser/ui/webui/brave_settings_ui.cc | 10 ---------- browser/ui/webui/brave_settings_ui.h | 3 --- browser/ui/webui/brave_wallet/wallet_panel_ui.cc | 9 --------- browser/ui/webui/brave_wallet/wallet_panel_ui.h | 3 --- .../webui/brave_wallet/wallet_panel_ui_browsertest.cc | 3 --- .../brave_extensions_manifest_v2_browsertest.cc | 4 ---- .../brave_tor_snowflake_extension_browsertest.cc | 3 --- 8 files changed, 38 deletions(-) diff --git a/browser/tor/brave_tor_browsertest.cc b/browser/tor/brave_tor_browsertest.cc index 1c81803d8eb9..2370e797d889 100644 --- a/browser/tor/brave_tor_browsertest.cc +++ b/browser/tor/brave_tor_browsertest.cc @@ -151,13 +151,10 @@ class BraveTorTest : public InProcessBrowserTest { }; BraveTorTest() { - // Disabling CSP on webui pages so EvalJS could be run in main world. - BraveSettingsUI::ShouldDisableCSPForTesting() = true; BraveSettingsUI::ShouldExposeElementsForTesting() = true; } ~BraveTorTest() override { - BraveSettingsUI::ShouldDisableCSPForTesting() = false; BraveSettingsUI::ShouldExposeElementsForTesting() = false; } diff --git a/browser/ui/webui/brave_settings_ui.cc b/browser/ui/webui/brave_settings_ui.cc index ca401ec6e614..3dc811318ca3 100644 --- a/browser/ui/webui/brave_settings_ui.cc +++ b/browser/ui/webui/brave_settings_ui.cc @@ -187,10 +187,6 @@ void BraveSettingsUI::AddResources(content::WebUIDataSource* html_source, "areShortcutsSupported", base::FeatureList::IsEnabled(commands::features::kBraveCommands)); - if (ShouldDisableCSPForTesting()) { - html_source->DisableContentSecurityPolicy(); - } - html_source->AddBoolean("shouldExposeElementsForTesting", ShouldExposeElementsForTesting()); @@ -221,12 +217,6 @@ void BraveSettingsUI::AddResources(content::WebUIDataSource* html_source, base::FeatureList::IsEnabled(features::kBraveCommandsInOmnibox)); } -// static -bool& BraveSettingsUI::ShouldDisableCSPForTesting() { - static bool disable_csp = false; - return disable_csp; -} - // static bool& BraveSettingsUI::ShouldExposeElementsForTesting() { static bool expose_elements = false; diff --git a/browser/ui/webui/brave_settings_ui.h b/browser/ui/webui/brave_settings_ui.h index 5e7b4f572462..ad9c3ae17e19 100644 --- a/browser/ui/webui/brave_settings_ui.h +++ b/browser/ui/webui/brave_settings_ui.h @@ -28,9 +28,6 @@ class BraveSettingsUI : public settings::SettingsUI { static void AddResources(content::WebUIDataSource* html_source, Profile* profile); - // Allows disabling CSP on settings page so EvalJS could be run in main world. - static bool& ShouldDisableCSPForTesting(); - static bool& ShouldExposeElementsForTesting(); void BindInterface( diff --git a/browser/ui/webui/brave_wallet/wallet_panel_ui.cc b/browser/ui/webui/brave_wallet/wallet_panel_ui.cc index c40d4b3927d6..4ddf6a337d8e 100644 --- a/browser/ui/webui/brave_wallet/wallet_panel_ui.cc +++ b/browser/ui/webui/brave_wallet/wallet_panel_ui.cc @@ -92,9 +92,6 @@ WalletPanelUI::WalletPanelUI(content::WebUI* web_ui) source->AddBoolean(brave_wallet::mojom::kP3ACountTestNetworksLoadTimeKey, base::CommandLine::ForCurrentProcess()->HasSwitch( brave_wallet::mojom::kP3ACountTestNetworksSwitch)); - if (ShouldDisableCSPForTesting()) { - source->DisableContentSecurityPolicy(); - } content::URLDataSource::Add(profile, std::make_unique(profile)); brave_wallet::AddBlockchainTokenImageSource(profile); @@ -206,9 +203,3 @@ void WalletPanelUI::CreatePanelHandler( blockchain_registry->Bind(std::move(blockchain_registry_receiver)); } } - -// static -bool& WalletPanelUI::ShouldDisableCSPForTesting() { - static bool disable_csp = false; - return disable_csp; -} diff --git a/browser/ui/webui/brave_wallet/wallet_panel_ui.h b/browser/ui/webui/brave_wallet/wallet_panel_ui.h index 00ff1d61222d..4ac3f1c4a85f 100644 --- a/browser/ui/webui/brave_wallet/wallet_panel_ui.h +++ b/browser/ui/webui/brave_wallet/wallet_panel_ui.h @@ -38,9 +38,6 @@ class WalletPanelUI : public ui::MojoBubbleWebUIController, void SetDeactivationCallback( base::RepeatingCallback deactivation_callback); - // Allows disabling CSP on wallet panel so EvalJS could be run in main world. - static bool& ShouldDisableCSPForTesting(); - static constexpr std::string GetWebUIName() { return "WalletPanel"; } private: diff --git a/browser/ui/webui/brave_wallet/wallet_panel_ui_browsertest.cc b/browser/ui/webui/brave_wallet/wallet_panel_ui_browsertest.cc index 9beb79d71e21..c2a08dc61d6b 100644 --- a/browser/ui/webui/brave_wallet/wallet_panel_ui_browsertest.cc +++ b/browser/ui/webui/brave_wallet/wallet_panel_ui_browsertest.cc @@ -137,10 +137,7 @@ class WalletPanelUIBrowserTest : public InProcessBrowserTest { void SetUpOnMainThread() override { InProcessBrowserTest::SetUpOnMainThread(); - // Disabling CSP on webui pages so EvalJS could be run in main world. - BraveSettingsUI::ShouldDisableCSPForTesting() = true; BraveSettingsUI::ShouldExposeElementsForTesting() = true; - WalletPanelUI::ShouldDisableCSPForTesting() = true; auto* profile = browser()->profile(); diff --git a/browser/ui/webui/settings/brave_extensions_manifest_v2_browsertest.cc b/browser/ui/webui/settings/brave_extensions_manifest_v2_browsertest.cc index f76e5cf5067f..caabbbc71414 100644 --- a/browser/ui/webui/settings/brave_extensions_manifest_v2_browsertest.cc +++ b/browser/ui/webui/settings/brave_extensions_manifest_v2_browsertest.cc @@ -58,14 +58,10 @@ class BraveExtensionsManifestV2BrowserTest : public InProcessBrowserTest { public: BraveExtensionsManifestV2BrowserTest() { feature_list_.InitAndEnableFeature(kExtensionsManifestV2); - - // Disabling CSP on webui pages so EvalJS could be run in main world. - BraveSettingsUI::ShouldDisableCSPForTesting() = true; BraveSettingsUI::ShouldExposeElementsForTesting() = true; } ~BraveExtensionsManifestV2BrowserTest() override { - BraveSettingsUI::ShouldDisableCSPForTesting() = false; BraveSettingsUI::ShouldExposeElementsForTesting() = false; } diff --git a/browser/ui/webui/settings/brave_tor_snowflake_extension_browsertest.cc b/browser/ui/webui/settings/brave_tor_snowflake_extension_browsertest.cc index ec089881926e..e08dadea86c3 100644 --- a/browser/ui/webui/settings/brave_tor_snowflake_extension_browsertest.cc +++ b/browser/ui/webui/settings/brave_tor_snowflake_extension_browsertest.cc @@ -50,13 +50,10 @@ bool IsSnowflakeToggleEnabled(content::WebContents* web_contents) { class TorSnowflakeExtensionBrowserTest : public InProcessBrowserTest { public: TorSnowflakeExtensionBrowserTest() { - // Disabling CSP on webui pages so EvalJS could be run in main world. - BraveSettingsUI::ShouldDisableCSPForTesting() = true; BraveSettingsUI::ShouldExposeElementsForTesting() = true; } ~TorSnowflakeExtensionBrowserTest() override { - BraveSettingsUI::ShouldDisableCSPForTesting() = false; BraveSettingsUI::ShouldExposeElementsForTesting() = false; } From 8ca1de18038f194129a6676da2579f50e0fcbedf Mon Sep 17 00:00:00 2001 From: Simon Hong Date: Tue, 12 Mar 2024 16:10:14 +0900 Subject: [PATCH 071/130] Support extra button for infobar on desktop This button has been deleted upstream, and this change reintroduces it through overrides. Chromium change: https://chromium.googlesource.com/chromium/src/+/e10bf042c607cd442b983f0f4167a012400e8bd5 commit e10bf042c607cd442b983f0f4167a012400e8bd5 Author: Tove Petersson Date: Fri Mar 8 09:44:15 2024 +0000 Remove no longer needed extra-button in ConfirmInfoBar Bug: 327501794 --- .../infobars/core/confirm_infobar_delegate.h | 22 +++++++++++++++++++ .../core/brave_confirm_infobar_delegate.cc | 12 ++++++++++ .../core/brave_confirm_infobar_delegate.h | 1 + 3 files changed, 35 insertions(+) create mode 100644 chromium_src/components/infobars/core/confirm_infobar_delegate.h diff --git a/chromium_src/components/infobars/core/confirm_infobar_delegate.h b/chromium_src/components/infobars/core/confirm_infobar_delegate.h new file mode 100644 index 000000000000..2b31c58d5ddf --- /dev/null +++ b/chromium_src/components/infobars/core/confirm_infobar_delegate.h @@ -0,0 +1,22 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#ifndef BRAVE_CHROMIUM_SRC_COMPONENTS_INFOBARS_CORE_CONFIRM_INFOBAR_DELEGATE_H_ +#define BRAVE_CHROMIUM_SRC_COMPONENTS_INFOBARS_CORE_CONFIRM_INFOBAR_DELEGATE_H_ + +#include "build/build_config.h" + +// Upstream deleted extra button but we use it foor infobar on desktop. +#if !BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_ANDROID) +#define BUTTON_CANCEL BUTTON_EXTRA = 1 << 2, BUTTON_CANCEL +#endif + +#include "src/components/infobars/core/confirm_infobar_delegate.h" // IWYU pragma: export + +#if !BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_ANDROID) +#undef BUTTON_CANCEL +#endif + +#endif // BRAVE_CHROMIUM_SRC_COMPONENTS_INFOBARS_CORE_CONFIRM_INFOBAR_DELEGATE_H_ diff --git a/components/infobars/core/brave_confirm_infobar_delegate.cc b/components/infobars/core/brave_confirm_infobar_delegate.cc index d86aedc4addc..6c8234063e3c 100644 --- a/components/infobars/core/brave_confirm_infobar_delegate.cc +++ b/components/infobars/core/brave_confirm_infobar_delegate.cc @@ -9,11 +9,19 @@ BraveConfirmInfoBarDelegate::BraveConfirmInfoBarDelegate() = default; BraveConfirmInfoBarDelegate::~BraveConfirmInfoBarDelegate() = default; int BraveConfirmInfoBarDelegate::GetButtons() const { +#if !BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_ANDROID) return BUTTON_OK | BUTTON_CANCEL | BUTTON_EXTRA; +#else + return BUTTON_OK | BUTTON_CANCEL; +#endif } std::vector BraveConfirmInfoBarDelegate::GetButtonsOrder() const { +#if !BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_ANDROID) return {BUTTON_OK, BUTTON_EXTRA, BUTTON_CANCEL}; +#else + return {BUTTON_OK, BUTTON_CANCEL}; +#endif } bool BraveConfirmInfoBarDelegate::IsProminent(int id) const { @@ -33,3 +41,7 @@ void BraveConfirmInfoBarDelegate::SetCheckboxChecked(bool checked) {} bool BraveConfirmInfoBarDelegate::InterceptClosing() { return false; } + +bool BraveConfirmInfoBarDelegate::ExtraButtonPressed() { + return true; +} diff --git a/components/infobars/core/brave_confirm_infobar_delegate.h b/components/infobars/core/brave_confirm_infobar_delegate.h index 84506ff2fcf0..e2ae1d12f253 100644 --- a/components/infobars/core/brave_confirm_infobar_delegate.h +++ b/components/infobars/core/brave_confirm_infobar_delegate.h @@ -27,6 +27,7 @@ class BraveConfirmInfoBarDelegate : public ConfirmInfoBarDelegate { virtual bool InterceptClosing(); virtual std::vector GetButtonsOrder() const; virtual bool IsProminent(int id) const; + virtual bool ExtraButtonPressed(); int GetButtons() const override; From 7a0e72a8081721875dd92bf1d2dd1ff9d3f9edaa Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Thu, 14 Mar 2024 17:09:48 +0000 Subject: [PATCH 072/130] [rust] `cxx` has been updated to a newer version This changes the path for some generated headers, and requires code changes. Chromium change: https://chromium.googlesource.com/chromium/src/+/d698c045b9673fd6e86775b93ac0a6e2bdca2df7 commit d698c045b9673fd6e86775b93ac0a6e2bdca2df7 Author: danakj Date: Tue Mar 12 13:42:07 2024 +0000 Updating //third_party/rust libraries: cxx@1.0.117. This CL has been created semi-automatically. The expected review process and other details can be found at //tools/crates/create_update_cl.md Updated crates: * cxx: 1.0.117 => 1.0.119 * cxxbridge-flags: 1.0.117 => 1.0.119 * cxxbridge-macro: 1.0.117 => 1.0.119 The following `cargo vet` audit criteria are required for cxx@1.0.117: does-not-implement-crypto, safe-to-deploy, ub-risk-2 Bug: None --- components/skus/browser/DEPS | 2 +- components/skus/browser/rs/cxx/src/shim.h | 2 +- components/skus/browser/skus_url_loader_impl.h | 2 +- components/skus/browser/skus_url_loader_impl_unittest.cc | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/skus/browser/DEPS b/components/skus/browser/DEPS index eb8007a40390..060af233332a 100644 --- a/components/skus/browser/DEPS +++ b/components/skus/browser/DEPS @@ -1,6 +1,6 @@ include_rules = [ "+services/network/public", "+services/preferences/public", - "+third_party/rust/chromium_crates_io/vendor/cxx-1.0.117/include", + "+third_party/rust/chromium_crates_io/vendor/cxx-1.0.119/include", "+third_party/rust/cxx", ] diff --git a/components/skus/browser/rs/cxx/src/shim.h b/components/skus/browser/rs/cxx/src/shim.h index 0ec150025485..5462eb802eb4 100644 --- a/components/skus/browser/rs/cxx/src/shim.h +++ b/components/skus/browser/rs/cxx/src/shim.h @@ -12,7 +12,7 @@ #include "base/functional/bind.h" #include "base/functional/callback_helpers.h" -#include "third_party/rust/chromium_crates_io/vendor/cxx-1.0.117/include/cxx.h" +#include "third_party/rust/chromium_crates_io/vendor/cxx-1.0.119/include/cxx.h" class PrefService; diff --git a/components/skus/browser/skus_url_loader_impl.h b/components/skus/browser/skus_url_loader_impl.h index b954253c8b7d..11385a9503d2 100644 --- a/components/skus/browser/skus_url_loader_impl.h +++ b/components/skus/browser/skus_url_loader_impl.h @@ -12,7 +12,7 @@ #include "brave/components/api_request_helper/api_request_helper.h" #include "brave/components/skus/browser/rs/cxx/src/lib.rs.h" #include "services/network/public/cpp/shared_url_loader_factory.h" -#include "third_party/rust/chromium_crates_io/vendor/cxx-1.0.117/include/cxx.h" +#include "third_party/rust/chromium_crates_io/vendor/cxx-1.0.119/include/cxx.h" namespace skus { diff --git a/components/skus/browser/skus_url_loader_impl_unittest.cc b/components/skus/browser/skus_url_loader_impl_unittest.cc index 9c022591f5c5..608c5959bc73 100644 --- a/components/skus/browser/skus_url_loader_impl_unittest.cc +++ b/components/skus/browser/skus_url_loader_impl_unittest.cc @@ -16,7 +16,7 @@ #include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h" #include "services/network/test/test_url_loader_factory.h" #include "testing/gtest/include/gtest/gtest.h" -#include "third_party/rust/chromium_crates_io/vendor/cxx-1.0.117/include/cxx.h" +#include "third_party/rust/chromium_crates_io/vendor/cxx-1.0.119/include/cxx.h" class SkusUrlLoaderImplUnitTest : public testing::Test { public: From e56421cce61ee25ba37bec88b91d22c4c387b764 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 15 Mar 2024 12:21:26 +0000 Subject: [PATCH 073/130] `WebUIBubbleManagerT` reworked into `WebUIBubbleManagerImpl` Chromium change: https://chromium.googlesource.com/chromium/src/+/4901093c3b99c9863481b717d0124abd9bcf49f8 commit 4901093c3b99c9863481b717d0124abd9bcf49f8 Author: Keren Zhu Date: Mon Mar 11 22:21:53 2024 +0000 webui: misc cleanup in webui_bubble_manager.[h|cc] * Rename WebUIBubbleManagerT to WebUIBubbleManagerImpl, hide it from the client code by replacing the direct construction of it with a new templated factory method WebUIBubbleManager::Create(). * Mark MaybeInitPersistentRenderer() and CreateWebUIBubbleDialog() as protected methods. They are not supposed to be called in public. * Reorder methods, add white lines when necessary and move method body to the end of the header file for improved readability. Bug: 40168622 --- .../brave_shields_action_view.cc | 6 ++--- .../brave_actions/brave_shields_action_view.h | 3 +-- .../cookie_list_opt_in_bubble_host.cc | 16 ++++++------- .../cookie_list_opt_in_bubble_host.h | 8 ++----- .../ui/views/brave_tab_search_bubble_host.cc | 2 +- .../views/bubble/brave_webui_bubble_manager.h | 8 +++---- .../toolbar/brave_vpn_panel_controller.h | 2 +- ...-views-bubble-webui_bubble_manager.h.patch | 24 ++++++++++++++----- 8 files changed, 38 insertions(+), 31 deletions(-) diff --git a/browser/ui/views/brave_actions/brave_shields_action_view.cc b/browser/ui/views/brave_actions/brave_shields_action_view.cc index 8c08f912366f..34eb16038f51 100644 --- a/browser/ui/views/brave_actions/brave_shields_action_view.cc +++ b/browser/ui/views/brave_actions/brave_shields_action_view.cc @@ -12,6 +12,7 @@ #include "base/memory/weak_ptr.h" #include "brave/browser/ui/brave_icon_with_badge_image_source.h" #include "brave/browser/ui/views/bubble/brave_webui_bubble_manager.h" +#include "brave/browser/ui/webui/brave_shields/shields_panel_ui.h" #include "brave/components/constants/pref_names.h" #include "brave/components/constants/url_constants.h" #include "brave/components/constants/webui_url_constants.h" @@ -203,9 +204,8 @@ void BraveShieldsActionView::ButtonPressed() { } if (!webui_bubble_manager_) { - webui_bubble_manager_ = - std::make_unique>( - this, &*profile_, GURL(kShieldsPanelURL), IDS_BRAVE_SHIELDS); + webui_bubble_manager_ = WebUIBubbleManager::Create( + this, &*profile_, GURL(kShieldsPanelURL), IDS_BRAVE_SHIELDS); } if (webui_bubble_manager_->GetBubbleWidget()) { diff --git a/browser/ui/views/brave_actions/brave_shields_action_view.h b/browser/ui/views/brave_actions/brave_shields_action_view.h index 45bade3c2af9..219da818568d 100644 --- a/browser/ui/views/brave_actions/brave_shields_action_view.h +++ b/browser/ui/views/brave_actions/brave_shields_action_view.h @@ -11,7 +11,6 @@ #include "base/memory/raw_ptr.h" #include "base/memory/raw_ref.h" #include "brave/browser/ui/brave_shields_data_controller.h" -#include "brave/browser/ui/webui/brave_shields/shields_panel_ui.h" #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" #include "chrome/browser/ui/views/bubble/webui_bubble_manager.h" #include "ui/base/metadata/metadata_header_macros.h" @@ -67,7 +66,7 @@ class BraveShieldsActionView raw_ptr menu_button_controller_ = nullptr; raw_ref profile_; raw_ref tab_strip_model_; - std::unique_ptr> webui_bubble_manager_; + std::unique_ptr webui_bubble_manager_; }; #endif // BRAVE_BROWSER_UI_VIEWS_BRAVE_ACTIONS_BRAVE_SHIELDS_ACTION_VIEW_H_ diff --git a/browser/ui/views/brave_shields/cookie_list_opt_in_bubble_host.cc b/browser/ui/views/brave_shields/cookie_list_opt_in_bubble_host.cc index 612933e9d96e..8dda405044ab 100644 --- a/browser/ui/views/brave_shields/cookie_list_opt_in_bubble_host.cc +++ b/browser/ui/views/brave_shields/cookie_list_opt_in_bubble_host.cc @@ -85,23 +85,23 @@ void ShowBubbleOnSessionRestore(base::WeakPtr browser, Profile*, int) { bubble_host->ShowBubble(); } -class BubbleManager : public WebUIBubbleManagerT { +class BubbleManager : public WebUIBubbleManagerImpl { public: BubbleManager(views::View* anchor_view, Profile* profile) - : WebUIBubbleManagerT(anchor_view, - profile, - GURL(kCookieListOptInURL), - IDS_BRAVE_SHIELDS) {} + : WebUIBubbleManagerImpl(anchor_view, + profile, + GURL(kCookieListOptInURL), + IDS_BRAVE_SHIELDS) {} ~BubbleManager() override = default; - // WebUIBubbleManagerT: + // WebUIBubbleManagerImpl: base::WeakPtr CreateWebUIBubbleDialog( const std::optional& anchor, views::BubbleBorder::Arrow arrow) override { auto dialog_view = - WebUIBubbleManagerT::CreateWebUIBubbleDialog(anchor, - arrow); + WebUIBubbleManagerImpl::CreateWebUIBubbleDialog( + anchor, arrow); DCHECK(dialog_view); dialog_view->set_close_on_deactivate(false); return dialog_view; diff --git a/browser/ui/views/brave_shields/cookie_list_opt_in_bubble_host.h b/browser/ui/views/brave_shields/cookie_list_opt_in_bubble_host.h index d7f013671e88..202f1aff5929 100644 --- a/browser/ui/views/brave_shields/cookie_list_opt_in_bubble_host.h +++ b/browser/ui/views/brave_shields/cookie_list_opt_in_bubble_host.h @@ -11,11 +11,7 @@ #include "base/callback_list.h" #include "chrome/browser/ui/browser_user_data.h" #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" - -class CookieListOptInUI; - -template -class WebUIBubbleManagerT; +#include "chrome/browser/ui/views/bubble/webui_bubble_manager.h" namespace content { class WebContents; @@ -55,7 +51,7 @@ class CookieListOptInBubbleHost int index, TabChangeType change_type) override; - std::unique_ptr> bubble_manager_; + std::unique_ptr bubble_manager_; base::CallbackListSubscription session_restored_subscription_; BROWSER_USER_DATA_KEY_DECL(); diff --git a/browser/ui/views/brave_tab_search_bubble_host.cc b/browser/ui/views/brave_tab_search_bubble_host.cc index 8ce1f2aecc34..43f4039c26b6 100644 --- a/browser/ui/views/brave_tab_search_bubble_host.cc +++ b/browser/ui/views/brave_tab_search_bubble_host.cc @@ -24,7 +24,7 @@ bool BraveTabSearchBubbleHost::ShowTabSearchBubble( return result; } - auto* widget = webui_bubble_manager_.GetBubbleWidget(); + auto* widget = webui_bubble_manager_->GetBubbleWidget(); DCHECK(widget && widget->widget_delegate()); auto* bubble_delegate = widget->widget_delegate()->AsBubbleDialogDelegate(); diff --git a/browser/ui/views/bubble/brave_webui_bubble_manager.h b/browser/ui/views/bubble/brave_webui_bubble_manager.h index 1c45e3dd08df..44fd965b2727 100644 --- a/browser/ui/views/bubble/brave_webui_bubble_manager.h +++ b/browser/ui/views/bubble/brave_webui_bubble_manager.h @@ -8,14 +8,14 @@ #include "chrome/browser/ui/views/bubble/webui_bubble_manager.h" -// A subclass of WebUIBubbleManagerT that allows customization of the bubble +// A subclass of WebUIBubbleManagerImpl that allows customization of the bubble // border radius and other aspects of the rendered bubble view. Use exactly like -// WebUIBubbleManagerT, or subclass if a different customization behavior is +// WebUIBubbleManagerImpl, or subclass if a different customization behavior is // required. template -class BraveWebUIBubbleManager : public WebUIBubbleManagerT { +class BraveWebUIBubbleManager : public WebUIBubbleManagerImpl { public: - using WebUIBubbleManagerT::WebUIBubbleManagerT; + using WebUIBubbleManagerImpl::WebUIBubbleManagerImpl; ~BraveWebUIBubbleManager() override = default; diff --git a/browser/ui/views/toolbar/brave_vpn_panel_controller.h b/browser/ui/views/toolbar/brave_vpn_panel_controller.h index 1ccad0b9bb74..471690ad2669 100644 --- a/browser/ui/views/toolbar/brave_vpn_panel_controller.h +++ b/browser/ui/views/toolbar/brave_vpn_panel_controller.h @@ -27,7 +27,7 @@ class BraveVPNPanelController { private: raw_ptr browser_view_ = nullptr; - std::unique_ptr> webui_bubble_manager_; + std::unique_ptr> webui_bubble_manager_; }; #endif // BRAVE_BROWSER_UI_VIEWS_TOOLBAR_BRAVE_VPN_PANEL_CONTROLLER_H_ diff --git a/patches/chrome-browser-ui-views-bubble-webui_bubble_manager.h.patch b/patches/chrome-browser-ui-views-bubble-webui_bubble_manager.h.patch index b81388019ed2..0f786ef8d949 100644 --- a/patches/chrome-browser-ui-views-bubble-webui_bubble_manager.h.patch +++ b/patches/chrome-browser-ui-views-bubble-webui_bubble_manager.h.patch @@ -1,12 +1,24 @@ diff --git a/chrome/browser/ui/views/bubble/webui_bubble_manager.h b/chrome/browser/ui/views/bubble/webui_bubble_manager.h -index 69ea403a3a306b4d8bb50265c5a1d8ca4db05e26..c5afb3857893a356ccd15a5a0b236d96c1d44ea1 100644 +index ea2b2c5f0e7127677cbeb1a500ca778b544c7709..4b7659c8869acf513e5481fcf8b0546f2c46a4df 100644 --- a/chrome/browser/ui/views/bubble/webui_bubble_manager.h +++ b/chrome/browser/ui/views/bubble/webui_bubble_manager.h -@@ -202,6 +202,7 @@ class WebUIBubbleManagerT : public WebUIBubbleManager { +@@ -149,9 +149,11 @@ class WebUIBubbleManagerImpl : public WebUIBubbleManager { + private: + void MaybeInitPersistentRenderer() override; - auto bubble_view = std::make_unique( - anchor_view_, contents_wrapper->GetWeakPtr(), anchor, arrow); ++ protected: + base::WeakPtr CreateWebUIBubbleDialog( + const std::optional& anchor, + views::BubbleBorder::Arrow arrow) override; ++ private: + + const raw_ptr anchor_view_; + const raw_ptr profile_; +@@ -231,6 +233,7 @@ WebUIBubbleManagerImpl::CreateWebUIBubbleDialog( + + auto bubble_view = std::make_unique( + anchor_view_, contents_wrapper->GetWeakPtr(), anchor, arrow); + BRAVE_WEBUI_BUBBLE_MANAGER_T_CREATE_WEB_UI_BUBBLE_DIALOG - // Register callback to emit histogram when the widget is created - if (bubble_init_start_time_) { + if (!widget_initialization_callback_.is_null()) { + bubble_view->RegisterWidgetInitializedCallback( From bf1cbd2c90178e5bf091a70b8f35572272e77469 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 15 Mar 2024 12:23:20 +0000 Subject: [PATCH 074/130] `kSpeculationRulesHeaderEnableThirdPartyOriginTrial` deleted Chromium change: https://chromium.googlesource.com/chromium/src/+/e879c7cd3b956ddc1a0c54fb928d9dcba90f58af commit e879c7cd3b956ddc1a0c54fb928d9dcba90f58af Author: Jeremy Roman Date: Tue Mar 12 16:24:31 2024 +0000 Remove third-party origin trial activation for Speculation-Rules header. This unwinds the net effect of https://chromium-review.googlesource.com/c/chromium/src/+/4054365 This feature is now shipped and so exotic logic to enable it in origin trial is unnecessary. The ordinary feature checks will be removed, too, in due course, but this removal merits a separate CL. Bug: 40239921 --- app/feature_defaults_unittest.cc | 1 - chromium_src/third_party/blink/common/features.cc | 2 -- 2 files changed, 3 deletions(-) diff --git a/app/feature_defaults_unittest.cc b/app/feature_defaults_unittest.cc index 847b4109816a..96c190e5d7b8 100644 --- a/app/feature_defaults_unittest.cc +++ b/app/feature_defaults_unittest.cc @@ -108,7 +108,6 @@ TEST(FeatureDefaultsTest, DisabledFeatures) { &blink::features::kSharedStorageAPIM118, &blink::features::kSharedStorageAPIM123, &blink::features::kSharedStorageSelectURLLimit, - &blink::features::kSpeculationRulesHeaderEnableThirdPartyOriginTrial, &blink::features::kSpeculationRulesPrefetchFuture, &blink::features::kTextFragmentAnchor, &commerce::kCommerceAllowOnDemandBookmarkUpdates, diff --git a/chromium_src/third_party/blink/common/features.cc b/chromium_src/third_party/blink/common/features.cc index fdaaa1c333af..6d217bac074f 100644 --- a/chromium_src/third_party/blink/common/features.cc +++ b/chromium_src/third_party/blink/common/features.cc @@ -50,8 +50,6 @@ OVERRIDE_FEATURE_DEFAULT_STATES({{ {kSharedStorageAPIM118, base::FEATURE_DISABLED_BY_DEFAULT}, {kSharedStorageAPIM123, base::FEATURE_DISABLED_BY_DEFAULT}, {kSharedStorageSelectURLLimit, base::FEATURE_DISABLED_BY_DEFAULT}, - {kSpeculationRulesHeaderEnableThirdPartyOriginTrial, - base::FEATURE_DISABLED_BY_DEFAULT}, {kSpeculationRulesPrefetchFuture, base::FEATURE_DISABLED_BY_DEFAULT}, {kTextFragmentAnchor, base::FEATURE_DISABLED_BY_DEFAULT}, }}); From 8ff50e896a2be0a79b745b9161b9d5f73ea8b36f Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 15 Mar 2024 12:24:39 +0000 Subject: [PATCH 075/130] `kLegacyTechReportTopLevelUrl` deleted upstream This is a purely enterprise feature, and therefore would have to be manually enabled with enterprise. Chromium change: https://chromium.googlesource.com/chromium/src/+/8eb02fd1c2c64b404a0d593a88bdd71239dca764 commit 8eb02fd1c2c64b404a0d593a88bdd71239dca764 Author: Owen Min Date: Tue Mar 12 14:16:24 2024 +0000 Remove LegacyTechReportTopLevelUrl feature This feature has been enabled by default for a while and the flag has expired also. Hence remove the flag and feature all together. --- app/feature_defaults_unittest.cc | 1 - chromium_src/content/public/common/content_features.cc | 1 - 2 files changed, 2 deletions(-) diff --git a/app/feature_defaults_unittest.cc b/app/feature_defaults_unittest.cc index 96c190e5d7b8..49051722ab1c 100644 --- a/app/feature_defaults_unittest.cc +++ b/app/feature_defaults_unittest.cc @@ -153,7 +153,6 @@ TEST(FeatureDefaultsTest, DisabledFeatures) { &features::kKAnonymityService, &features::kKAnonymityServiceOHTTPRequests, &features::kLegacyTechReportEnableCookieIssueReports, - &features::kLegacyTechReportTopLevelUrl, &features::kNewTabPageTriggerForPrerender2, &features::kNotificationTriggers, &features::kOmniboxTriggerForNoStatePrefetch, diff --git a/chromium_src/content/public/common/content_features.cc b/chromium_src/content/public/common/content_features.cc index df0f55942176..bc04820ba6b2 100644 --- a/chromium_src/content/public/common/content_features.cc +++ b/chromium_src/content/public/common/content_features.cc @@ -24,7 +24,6 @@ OVERRIDE_FEATURE_DEFAULT_STATES({{ {kFedCm, base::FEATURE_DISABLED_BY_DEFAULT}, {kLegacyTechReportEnableCookieIssueReports, base::FEATURE_DISABLED_BY_DEFAULT}, - {kLegacyTechReportTopLevelUrl, base::FEATURE_DISABLED_BY_DEFAULT}, {kNotificationTriggers, base::FEATURE_DISABLED_BY_DEFAULT}, {kPrivacySandboxAdsAPIsOverride, base::FEATURE_DISABLED_BY_DEFAULT}, {kSignedHTTPExchange, base::FEATURE_DISABLED_BY_DEFAULT}, From d4f3870e554bc2f9a69356856b4d247b590cec1c Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 15 Mar 2024 12:28:29 +0000 Subject: [PATCH 076/130] `kPersistedClusters` deleted upstream Chromium change https://chromium.googlesource.com/chromium/src/+/e9e55fa1b590f5ba2a758e97780da527ac855b01 commit e9e55fa1b590f5ba2a758e97780da527ac855b01 Author: Tommy C. Li Date: Mon Mar 11 18:36:37 2024 +0000 History: Clean up History Clusters persistence flag The flag has been default-enabled for over a year now, so taking the opportunity to delete the flag and clean up some old code paths. Bug: b/247029579 --- app/feature_defaults_unittest.cc | 1 - chromium_src/components/history_clusters/core/features.cc | 1 - 2 files changed, 2 deletions(-) diff --git a/app/feature_defaults_unittest.cc b/app/feature_defaults_unittest.cc index 49051722ab1c..3bc1b937e134 100644 --- a/app/feature_defaults_unittest.cc +++ b/app/feature_defaults_unittest.cc @@ -195,7 +195,6 @@ TEST(FeatureDefaultsTest, DisabledFeatures) { &history_clusters::internal::kJourneysZeroStateFiltering, &history_clusters::internal::kOmniboxAction, &history_clusters::internal::kOmniboxHistoryClusterProvider, - &history_clusters::internal::kPersistedClusters, &history_clusters::internal::kPersistContextAnnotationsInHistoryDb, #if !BUILDFLAG(IS_ANDROID) &kForYouFre, diff --git a/chromium_src/components/history_clusters/core/features.cc b/chromium_src/components/history_clusters/core/features.cc index 484c09f0c416..8e91924a5bba 100644 --- a/chromium_src/components/history_clusters/core/features.cc +++ b/chromium_src/components/history_clusters/core/features.cc @@ -20,7 +20,6 @@ OVERRIDE_FEATURE_DEFAULT_STATES({{ {kJourneysZeroStateFiltering, base::FEATURE_DISABLED_BY_DEFAULT}, {kOmniboxAction, base::FEATURE_DISABLED_BY_DEFAULT}, {kOmniboxHistoryClusterProvider, base::FEATURE_DISABLED_BY_DEFAULT}, - {kPersistedClusters, base::FEATURE_DISABLED_BY_DEFAULT}, {kPersistContextAnnotationsInHistoryDb, base::FEATURE_DISABLED_BY_DEFAULT}, {kSidePanelJourneys, base::FEATURE_DISABLED_BY_DEFAULT}, }}); From 32d20fe0ccccf2e8c0825452635a4ae5020b3f2e Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 15 Mar 2024 12:29:37 +0000 Subject: [PATCH 077/130] `Browser::GetDelegateWeakPtr` removed This function has been removed in a cleanup, as it was merely a wrapping around `AsWeakPtr`, which is now used directly to get a weakptr with the delegate type. Chromium change: https://chromium.googlesource.com/chromium/src/+/611d54ac31e08d8de81fe63d573fc2478b83118f commit 611d54ac31e08d8de81fe63d573fc2478b83118f Author: Hiroki Nakagawa Date: Tue Mar 12 03:39:20 2024 +0000 Remove unused WebContentDelegate::GetDelegateWeakPtr() This is a pure cleanup. --- browser/ui/wallet_bubble_manager_delegate_impl.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/browser/ui/wallet_bubble_manager_delegate_impl.cc b/browser/ui/wallet_bubble_manager_delegate_impl.cc index ccd7a8dbc552..25de08fd484f 100644 --- a/browser/ui/wallet_bubble_manager_delegate_impl.cc +++ b/browser/ui/wallet_bubble_manager_delegate_impl.cc @@ -110,12 +110,12 @@ class WalletWebUIBubbleManager : public BraveWebUIBubbleManager, } WalletPanelUI* wallet_panel = webui->GetController()->template GetAs(); - if (!wallet_panel || !browser_ || !browser_->GetDelegateWeakPtr()) { + if (!wallet_panel || !browser_ || !browser_->AsWeakPtr()) { return bubble_view_weak_ptr; } // Set Browser delegate to redirect popups to be opened as Popup window contents_wrapper->SetWebContentsAddNewContentsDelegate( - browser_->GetDelegateWeakPtr()); + browser_->AsWeakPtr()); // Pass deactivation callback for wallet panel api calls // The bubble disappears by default when Trezor opens a popup window // from the wallet panel bubble. In order to prevent it we set a callback @@ -139,7 +139,8 @@ class WalletWebUIBubbleManager : public BraveWebUIBubbleManager, brave_wallet::GetWebContentsFromTabId(&popup_browser, tab_id); if (!popup_contents || !popup_browser) continue; - auto delegate = popup_browser->GetDelegateWeakPtr(); + base::WeakPtr delegate = + popup_browser->AsWeakPtr(); if (!delegate) continue; delegate->CloseContents(popup_contents); From e96aa946b3e8b723325a92cd406c0a88a245ddf7 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 15 Mar 2024 12:31:22 +0000 Subject: [PATCH 078/130] `kPrivacySandboxApisEnabled` made private The functionality behind this feature has been already disabled in the past (7730b18bf910b). Chromium change: https://chromium.googlesource.com/chromium/src/+/2edf0f0a3d14d1cb19cd966ce828eb4acf7c5934 commit 2edf0f0a3d14d1cb19cd966ce828eb4acf7c5934 Author: Mariam Ali Date: Mon Mar 11 08:32:08 2024 +0000 [PS Cleanup] Remove deprecated Privacy Sandbox APIs syncable pref This CL: - Deprecates the old syncable pref for Privacy Sandbox APIs - Updates some of the comments in clearing prefs to "Added" instead of "Deprecated" for consistency. Bug: 40213277 --- chromium_src/components/privacy_sandbox/privacy_sandbox_prefs.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chromium_src/components/privacy_sandbox/privacy_sandbox_prefs.h b/chromium_src/components/privacy_sandbox/privacy_sandbox_prefs.h index 39821fa8cd23..570aff6b08b3 100644 --- a/chromium_src/components/privacy_sandbox/privacy_sandbox_prefs.h +++ b/chromium_src/components/privacy_sandbox/privacy_sandbox_prefs.h @@ -13,6 +13,8 @@ namespace prefs { // The following prefs have been deprecated and privated, however in Brave it // is necessary to keep these prefs visible while they are deprecated to make // sure these modes are not enabled. +inline constexpr char kPrivacySandboxApisEnabled[] = + "privacy_sandbox.apis_enabled"; inline constexpr char kPrivacySandboxApisEnabledV2[] = "privacy_sandbox.apis_enabled_v2"; inline constexpr char kPrivacySandboxManuallyControlledV2[] = From ddfdc0214fe702623b0ac1bdf3c7d350962731eb Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 15 Mar 2024 12:33:05 +0000 Subject: [PATCH 079/130] `sql::BuiltInRecovery` deleted upstream The new `sql::Recovery::RecoverIfPossible` method is being used in its place. Chromium change: https://chromium.googlesource.com/chromium/src/+/4c7d6b3b7724b4c6603d07ba32aab271f287783d commit 4c7d6b3b7724b4c6603d07ba32aab271f287783d Author: Evan Stade Date: Tue Mar 12 16:50:27 2024 +0000 SQL: recovery cleanup - rename BuiltInRecovery and delete dead code. Bug: 40061775 --- components/brave_federated/data_stores/data_store.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/components/brave_federated/data_stores/data_store.cc b/components/brave_federated/data_stores/data_store.cc index 02081ff40aed..3511f0ac8559 100644 --- a/components/brave_federated/data_stores/data_store.cc +++ b/components/brave_federated/data_stores/data_store.cc @@ -23,9 +23,8 @@ void DatabaseErrorCallback(sql::Database* db, const base::FilePath& db_file_path, int extended_error, sql::Statement* stmt) { - if (sql::BuiltInRecovery::RecoverIfPossible( - db, extended_error, - sql::BuiltInRecovery::Strategy::kRecoverWithMetaVersionOrRaze)) { + if (sql::Recovery::RecoverIfPossible( + db, extended_error, sql::Recovery::Strategy::kRecoverOrRaze)) { // The DLOG(FATAL) below is intended to draw immediate attention to errors // in newly-written code. Database corruption is generally a result of OS // or hardware issues, not coding errors at the client level, so displaying From 138bd595300fb5e1ddd79c9503252074b4a58efd Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 15 Mar 2024 12:34:52 +0000 Subject: [PATCH 080/130] Update `GetSupportedKeySystems` derivation This function's return type has been updated in `ContentRendererClient`, and the implementation in brave has to be updated accordingly. Chromium change: https://chromium.googlesource.com/chromium/src/+/6d099b6b9a460e4511443ca1073d8a875b74c3b6 commit 6d099b6b9a460e4511443ca1073d8a875b74c3b6 Author: Feras Aldahlawi Date: Mon Mar 11 19:34:14 2024 +0000 Ensure destruction of mojo channel when destructing KeySystemsImpl Instead of tying the lifetime of the mojo channel of KeySystemSupportObserverImpl to the render process via a self owned receiver, we tie it to the lifetime of KeySystemsImpl. This should avoid channel leaks when moving KeySystemsImpl to a per-frame object. Bug: b/321307544 --- renderer/brave_content_renderer_client.cc | 5 +++-- renderer/brave_content_renderer_client.h | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/renderer/brave_content_renderer_client.cc b/renderer/brave_content_renderer_client.cc index 1ee060164981..c6146085e2a6 100644 --- a/renderer/brave_content_renderer_client.cc +++ b/renderer/brave_content_renderer_client.cc @@ -190,9 +190,10 @@ void BraveContentRendererClient::RenderFrameCreated( #endif } -void BraveContentRendererClient::GetSupportedKeySystems( +std::unique_ptr +BraveContentRendererClient::GetSupportedKeySystems( media::GetSupportedKeySystemsCB cb) { - ChromeContentRendererClient::GetSupportedKeySystems( + return ChromeContentRendererClient::GetSupportedKeySystems( base::BindRepeating(&MaybeRemoveWidevineSupport, cb)); } diff --git a/renderer/brave_content_renderer_client.h b/renderer/brave_content_renderer_client.h index 681144a5c672..cd4cce989b3d 100644 --- a/renderer/brave_content_renderer_client.h +++ b/renderer/brave_content_renderer_client.h @@ -30,7 +30,8 @@ class BraveContentRendererClient : public ChromeContentRendererClient { void RenderThreadStarted() override; void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() override; void RenderFrameCreated(content::RenderFrame* render_frame) override; - void GetSupportedKeySystems(media::GetSupportedKeySystemsCB cb) override; + std::unique_ptr GetSupportedKeySystems( + media::GetSupportedKeySystemsCB cb) override; void RunScriptsAtDocumentStart(content::RenderFrame* render_frame) override; void RunScriptsAtDocumentEnd(content::RenderFrame* render_frame) override; void WillEvaluateServiceWorkerOnWorkerThread( From 497051705c1812b1e1acfbc0432a86019c26a043 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 15 Mar 2024 18:13:25 +0000 Subject: [PATCH 081/130] Fix `RealboxHandler` override path This file has been moved under a new path in a recent changes, which requires the inclusion and override paths to be corrected accordingly. Chromium change: https://chromium.googlesource.com/chromium/src/+/75ca8c13ecc072fe83116efd25ffa365ca425c46 commit 75ca8c13ecc072fe83116efd25ffa365ca425c46 Author: Justin Donnelly Date: Wed Mar 13 01:49:45 2024 +0000 Introduce a new SearchboxHandler type. The existing RealboxHandler now extends this but the implementation of the new type is empty so this has no functional effect at this point. Follow on changes will start to promote some of the method implementations into SearchboxHandler. This also introduces a new subtype, ContextualSearchboxHandler, which is also empty for now. Bug: b:328293795, 328827188 --- browser/ui/webui/new_tab_page/brave_new_tab_ui.h | 2 +- .../ui/webui/{realbox => searchbox}/realbox_handler.cc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename chromium_src/chrome/browser/ui/webui/{realbox => searchbox}/realbox_handler.cc (92%) diff --git a/browser/ui/webui/new_tab_page/brave_new_tab_ui.h b/browser/ui/webui/new_tab_page/brave_new_tab_ui.h index 708095b3eb7c..e8b2c2ec8418 100644 --- a/browser/ui/webui/new_tab_page/brave_new_tab_ui.h +++ b/browser/ui/webui/new_tab_page/brave_new_tab_ui.h @@ -11,7 +11,7 @@ #include "brave/components/brave_new_tab_ui/brave_new_tab_page.mojom.h" #include "brave/components/brave_news/common/brave_news.mojom.h" -#include "chrome/browser/ui/webui/realbox/realbox_handler.h" +#include "chrome/browser/ui/webui/searchbox/realbox_handler.h" #include "components/omnibox/browser/omnibox.mojom.h" #include "content/public/browser/web_ui_controller.h" #include "mojo/public/cpp/bindings/pending_receiver.h" diff --git a/chromium_src/chrome/browser/ui/webui/realbox/realbox_handler.cc b/chromium_src/chrome/browser/ui/webui/searchbox/realbox_handler.cc similarity index 92% rename from chromium_src/chrome/browser/ui/webui/realbox/realbox_handler.cc rename to chromium_src/chrome/browser/ui/webui/searchbox/realbox_handler.cc index 3329ff007880..9cc63abb60cf 100644 --- a/chromium_src/chrome/browser/ui/webui/realbox/realbox_handler.cc +++ b/chromium_src/chrome/browser/ui/webui/searchbox/realbox_handler.cc @@ -3,7 +3,7 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at https://mozilla.org/MPL/2.0/. -#include "chrome/browser/ui/webui/realbox/realbox_handler.h" +#include "chrome/browser/ui/webui/searchbox/realbox_handler.h" #include "brave/components/vector_icons/vector_icons.h" #include "components/omnibox/browser/autocomplete_input.h" @@ -32,7 +32,7 @@ constexpr char kLeoWindowTabNewIconResourceName[] = autocomplete_input.set_prefer_keyword(true) #define set_allow_exact_keyword_match(allow) set_allow_exact_keyword_match(true) -#include "src/chrome/browser/ui/webui/realbox/realbox_handler.cc" +#include "src/chrome/browser/ui/webui/searchbox/realbox_handler.cc" #undef set_prefer_keyword #undef set_allow_exact_keyword_match From 3330a6f59ffc4896b5211620360353d8d79801b7 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 15 Mar 2024 18:16:47 +0000 Subject: [PATCH 082/130] `kClientHintsFormFactor` renamed This change has no functional effect. Chromium change: https://chromium.googlesource.com/chromium/src/+/5909d3b44369d63858376ba7685d8696cd4be767 commit 5909d3b44369d63858376ba7685d8696cd4be767 Author: Dustin J. Mitchell Date: Wed Mar 13 01:03:24 2024 +0000 Pluralize Sec-CH-UA-Form-Factor/formFactor Per https://github.com/WICG/ua-client-hints/issues/355, this hint should be plural since it contains a list of form factors. Bug: 328490271 --- app/feature_defaults_unittest.cc | 2 +- chromium_src/third_party/blink/common/features.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/feature_defaults_unittest.cc b/app/feature_defaults_unittest.cc index 3bc1b937e134..f8a57dca2952 100644 --- a/app/feature_defaults_unittest.cc +++ b/app/feature_defaults_unittest.cc @@ -88,7 +88,7 @@ TEST(FeatureDefaultsTest, DisabledFeatures) { &blink::features::kBackgroundResourceFetch, &blink::features::kBiddingAndScoringDebugReportingAPI, &blink::features::kBrowsingTopics, - &blink::features::kClientHintsFormFactor, + &blink::features::kClientHintsFormFactors, &blink::features::kComputePressure, &blink::features::kCssSelectorFragmentAnchor, &blink::features::kFencedFrames, diff --git a/chromium_src/third_party/blink/common/features.cc b/chromium_src/third_party/blink/common/features.cc index 6d217bac074f..70917f61bdc9 100644 --- a/chromium_src/third_party/blink/common/features.cc +++ b/chromium_src/third_party/blink/common/features.cc @@ -25,7 +25,7 @@ OVERRIDE_FEATURE_DEFAULT_STATES({{ {kBackgroundResourceFetch, base::FEATURE_DISABLED_BY_DEFAULT}, {kBiddingAndScoringDebugReportingAPI, base::FEATURE_DISABLED_BY_DEFAULT}, {kBrowsingTopics, base::FEATURE_DISABLED_BY_DEFAULT}, - {kClientHintsFormFactor, base::FEATURE_DISABLED_BY_DEFAULT}, + {kClientHintsFormFactors, base::FEATURE_DISABLED_BY_DEFAULT}, {kComputePressure, base::FEATURE_DISABLED_BY_DEFAULT}, {kCssSelectorFragmentAnchor, base::FEATURE_DISABLED_BY_DEFAULT}, {kFencedFrames, base::FEATURE_DISABLED_BY_DEFAULT}, From f9e16e4c55c0f62c682fe34a1563de7be91fed6d Mon Sep 17 00:00:00 2001 From: mkarolin Date: Fri, 15 Mar 2024 14:50:25 -0400 Subject: [PATCH 083/130] Relocate StorageEstimate chromium_src override code. The upstream changes makes it impossible to use the old override due to multiple use of the overridden symbol. Chromium change: https://source.chromium.org/chromium/chromium/src/+/0b7b4c7bda44cfbc1aa14540fdd5fefd6a2cdf96 commit 0b7b4c7bda44cfbc1aa14540fdd5fefd6a2cdf96 Author: Nate Chapin Date: Thu Mar 7 00:31:32 2024 +0000 Use typed promises/resolvers for resolving with an IDL dictionary or union --- .../modules/v8/v8_storage_estimate.cc | 10 ++++++ .../bindings/modules/v8/v8_storage_estimate.h | 33 +++++++++++++++++++ .../renderer/modules/quota/storage_manager.cc | 23 ------------- 3 files changed, 43 insertions(+), 23 deletions(-) create mode 100644 chromium_src/third_party/blink/renderer/bindings/modules/v8/v8_storage_estimate.cc create mode 100644 chromium_src/third_party/blink/renderer/bindings/modules/v8/v8_storage_estimate.h delete mode 100644 chromium_src/third_party/blink/renderer/modules/quota/storage_manager.cc diff --git a/chromium_src/third_party/blink/renderer/bindings/modules/v8/v8_storage_estimate.cc b/chromium_src/third_party/blink/renderer/bindings/modules/v8/v8_storage_estimate.cc new file mode 100644 index 000000000000..8e02c1112014 --- /dev/null +++ b/chromium_src/third_party/blink/renderer/bindings/modules/v8/v8_storage_estimate.cc @@ -0,0 +1,10 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#include "third_party/blink/renderer/bindings/modules/v8/v8_storage_estimate.h" + +#define StorageEstimate StorageEstimate_ChromiumImpl +#include "../gen/third_party/blink/renderer/bindings/modules/v8/v8_storage_estimate.cc" +#undef StorageEstimate diff --git a/chromium_src/third_party/blink/renderer/bindings/modules/v8/v8_storage_estimate.h b/chromium_src/third_party/blink/renderer/bindings/modules/v8/v8_storage_estimate.h new file mode 100644 index 000000000000..21203b4e59a2 --- /dev/null +++ b/chromium_src/third_party/blink/renderer/bindings/modules/v8/v8_storage_estimate.h @@ -0,0 +1,33 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#ifndef BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_BINDINGS_MODULES_V8_V8_STORAGE_ESTIMATE_H_ +#define BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_BINDINGS_MODULES_V8_V8_STORAGE_ESTIMATE_H_ + +#define StorageEstimate StorageEstimate_ChromiumImpl +#include "../gen/third_party/blink/renderer/bindings/modules/v8/v8_storage_estimate.h" // IWYU pragma: export +#undef StorageEstimate + +namespace blink { + +class StorageEstimate : public StorageEstimate_ChromiumImpl { + public: + static StorageEstimate* Create() { + return MakeGarbageCollected(); + } + + using StorageEstimate_ChromiumImpl::StorageEstimate_ChromiumImpl; + + // See https://github.com/brave/brave-core/pull/22320 for the original + // implementation and details. + void setQuota(uint64_t quota) { + quota = 2147483648; + StorageEstimate_ChromiumImpl::setQuota(quota); + } +}; + +} // namespace blink + +#endif // BRAVE_CHROMIUM_SRC_THIRD_PARTY_BLINK_RENDERER_BINDINGS_MODULES_V8_V8_STORAGE_ESTIMATE_H_ diff --git a/chromium_src/third_party/blink/renderer/modules/quota/storage_manager.cc b/chromium_src/third_party/blink/renderer/modules/quota/storage_manager.cc deleted file mode 100644 index 3aa4138a7691..000000000000 --- a/chromium_src/third_party/blink/renderer/modules/quota/storage_manager.cc +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "third_party/blink/renderer/bindings/modules/v8/v8_storage_estimate.h" - -namespace blink { -class BraveStorageEstimate : public StorageEstimate { - public: - static BraveStorageEstimate* Create() { - return MakeGarbageCollected(); - } - void setQuota(uint64_t quota) { - quota = 2147483648; - StorageEstimate::setQuota(quota); - } -}; -} // namespace blink - -#define StorageEstimate BraveStorageEstimate -#include "src/third_party/blink/renderer/modules/quota/storage_manager.cc" -#undef StorageEstimate From 9333d0c7516031728a3c6cb5af172917f8b84b8f Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Fri, 15 Mar 2024 17:36:11 -0400 Subject: [PATCH 084/130] [Android] ToolbarColorObserverManager now observers overview color Chromium change: https://source.chromium.org/chromium/chromium/src/+/7ee98c9e696f4f41719c6fad8f3011b9d9c7b4fd ToolbarColorObserverManager now observers overview color. Bug: b:327254108 --- .../browser/tabbed_mode/BraveTabbedRootUiCoordinator.java | 4 ++-- .../chromium/chrome/browser/toolbar/BraveToolbarManager.java | 4 ++-- .../javatests/org/chromium/chrome/browser/BytecodeTest.java | 3 +-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedRootUiCoordinator.java b/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedRootUiCoordinator.java index 9d41c87d4b6f..7d221c2ca77e 100644 --- a/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedRootUiCoordinator.java +++ b/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedRootUiCoordinator.java @@ -109,7 +109,7 @@ public BraveTabbedRootUiCoordinator( @NonNull BackPressManager backPressManager, @Nullable Bundle savedInstanceState, @Nullable MultiInstanceManager multiInstanceManager, - @Nullable BooleanSupplier overviewIncognitoSupplier, + @Nullable ObservableSupplier overviewColorSupplier, @Nullable View baseChromeLayout) { super( activity, @@ -159,7 +159,7 @@ public BraveTabbedRootUiCoordinator( backPressManager, savedInstanceState, multiInstanceManager, - overviewIncognitoSupplier, + overviewColorSupplier, baseChromeLayout); mActivity = activity; diff --git a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java index 2bc98ae6c2a0..cca2d0f389b7 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java +++ b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java @@ -174,7 +174,7 @@ public BraveToolbarManager( Supplier ephemeralTabCoordinatorSupplier, boolean initializeWithIncognitoColors, @Nullable BackPressManager backPressManager, - @Nullable BooleanSupplier overviewIncognitoSupplier, + @Nullable ObservableSupplier overviewColorSupplier, @Nullable View baseChromeLayout) { super( activity, @@ -221,7 +221,7 @@ public BraveToolbarManager( ephemeralTabCoordinatorSupplier, initializeWithIncognitoColors, backPressManager, - overviewIncognitoSupplier, + overviewColorSupplier, baseChromeLayout); mOmniboxFocusStateSupplier = omniboxFocusStateSupplier; diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index 8a665f54aa83..7c7faf8ff096 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -820,7 +820,6 @@ public void testConstructorsExistAndMatch() throws Exception { Supplier.class, boolean.class, BackPressManager.class, - BooleanSupplier.class, ObservableSupplier.class, View.class)); Assert.assertTrue( @@ -1172,7 +1171,7 @@ public void testConstructorsExistAndMatch() throws Exception { BackPressManager.class, Bundle.class, MultiInstanceManager.class, - BooleanSupplier.class, + ObservableSupplier.class, View.class)); Assert.assertTrue( constructorsMatch( From 1fc06454986ba0cb318cb91ee090aa959116ef33 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Tue, 19 Mar 2024 09:40:39 -0400 Subject: [PATCH 085/130] [Android] New IP protection setting in privacy settings Chromium change: https://source.chromium.org/chromium/chromium/src/+/77fb4c60ef3f5e1f053d8b55543688540127e2b7 [IpProtection] Clank IP protection settings introduced. New settings page dedicated to Ip protection settings. The change includes both Privacy Settings entry point and the final content of the IpProtection page. Change is hidden behind the flag. For more detailed information see: https://docs.google.com/document/d/1ye0hvWWxjjh7kaelSJRrjqF6xFIXGW2Vy3I77kkQnqU/edit?resourcekey=0-2Umvl7BQAOjVP0o9TLtgvw&tab=t.0#heading=h.x13vwmij6iz4 https://docs.google.com/document/d/1m75JHeIFXc_qcCQDTW62E2yIZXCBmwDIVRPWx7TXNtY/edit?tab=t.0#heading=h.buvuxowyfv78 Side note: Please see that I didn't split the CL into 4-5 CLs because of few reasons: 1) I always try to keep CLs are small as possible - 200-300 lines is max 2) We are not in a hurry (3-4 weeks till the branch cut), so I can handle getting all different approvals 3) This should be in general all the logic. And I think it's good to have high level idea of what's happening in the codebase. TODO: metrics. Settings page screenshot: https://screenshot.googleplex.com/cXg65pRegj9RRGg Bug: 325757179 Bug: 325757672 --- .../browser/privacy/settings/BravePrivacySettingsTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/javatests/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsTest.java b/android/javatests/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsTest.java index df0310984012..68082553d324 100644 --- a/android/javatests/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsTest.java +++ b/android/javatests/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsTest.java @@ -44,7 +44,7 @@ public class BravePrivacySettingsTest { private static final String PREF_INCOGNITO_LOCK = "incognito_lock"; private static final String PREF_PHONE_AS_A_SECURITY_KEY = "phone_as_a_security_key"; - private static final int BRAVE_PRIVACY_SETTINGS_NUMBER_OF_ITEMS = 30; + private static final int BRAVE_PRIVACY_SETTINGS_NUMBER_OF_ITEMS = 31; private int mItemsLeft; From b4f055a47a79a81a7ff2d6a3f90cec324efdb9f1 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Tue, 19 Mar 2024 14:54:27 -0400 Subject: [PATCH 086/130] Updated ModelTypeTest.ModelTypeCounts unit test. Upstream added 2 new sync types. Alexey looked into them and determined that they aren't relevant to us: PLUS_ADDRESS is experimental, read-only, won't work in Brave COMPARE is related to Shopping Insights & Price Tracking. Chromium changes: https://source.chromium.org/chromium/chromium/src/+/e126bdf3378a51385f9ec6792b3367cd683db83f commit e126bdf3378a51385f9ec6792b3367cd683db83f Author: Florian Leimgruber Date: Thu Mar 7 09:55:41 2024 +0000 Add PLUS_ADDRESS model type The model type is _not_ tied to a UserSelectableType yet, since PMs are still discussing how opt-out should be handled. Currently, they are leaning towards hiding PLUS_ADDRESS in chrome://settings/syncSetup/advanced and having a separate, global opt- out option in PLUS_ADDRESS settings. Bug: b/322147254 https://source.chromium.org/chromium/chromium/src/+/74eb5079feb9ffe223a9694d47b80f33151764ac commit 74eb5079feb9ffe223a9694d47b80f33151764ac Author: David Maunder Date: Mon Mar 11 22:11:28 2024 +0000 Add ModelType and UserSelectableType for sync integration Project: go/compare-sync-integration Bug: b/328713081 --- chromium_src/components/sync/base/model_type_unittest.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium_src/components/sync/base/model_type_unittest.cc b/chromium_src/components/sync/base/model_type_unittest.cc index 13b45e22142c..f32301b67b48 100644 --- a/chromium_src/components/sync/base/model_type_unittest.cc +++ b/chromium_src/components/sync/base/model_type_unittest.cc @@ -21,7 +21,7 @@ TEST_F(ModelTypeTest, LowPriorityUserTypes) { // This test is supposed to fail when sync types are increased/decreased TEST_F(ModelTypeTest, ModelTypeCounts) { - EXPECT_EQ(static_cast(ModelTypeForHistograms::kMaxValue), 64); + EXPECT_EQ(static_cast(ModelTypeForHistograms::kMaxValue), 66); } } // namespace From e91fbf384fa534d0def135cf3587f4e6ca476736 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Tue, 19 Mar 2024 23:07:12 +0000 Subject: [PATCH 087/130] `gnrt` run for Chromium 124.0.6356.6. --- third_party/rust/anyhow/v1/README.chromium | 2 +- .../rust/chromium_crates_io/Cargo.lock | 36 +++++++++---------- .../rust/chromium_crates_io/Cargo.toml | 2 +- third_party/rust/cxx/v1/README.chromium | 2 +- .../rust/cxxbridge_flags/v1/README.chromium | 2 +- .../rust/cxxbridge_macro/v1/README.chromium | 2 +- .../rust/getrandom/v0_2/README.chromium | 2 +- third_party/rust/itoa/v1/README.chromium | 2 +- third_party/rust/libc/v0_2/README.chromium | 2 +- third_party/rust/log/v0_4/README.chromium | 2 +- third_party/rust/memchr/v2/README.chromium | 2 +- .../rust/proc_macro2/v1/README.chromium | 2 +- third_party/rust/quote/v1/README.chromium | 2 +- third_party/rust/regex/v1/README.chromium | 2 +- .../rust/regex_automata/v0_4/README.chromium | 2 +- third_party/rust/ryu/v1/README.chromium | 2 +- third_party/rust/semver/v1/README.chromium | 2 +- third_party/rust/serde/v1/README.chromium | 2 +- .../rust/serde_derive/v1/README.chromium | 2 +- .../rust/serde_json/v1/README.chromium | 2 +- third_party/rust/syn/v2/README.chromium | 2 +- 21 files changed, 38 insertions(+), 38 deletions(-) diff --git a/third_party/rust/anyhow/v1/README.chromium b/third_party/rust/anyhow/v1/README.chromium index 504b60f002d5..b057711a9db6 100644 --- a/third_party/rust/anyhow/v1/README.chromium +++ b/third_party/rust/anyhow/v1/README.chromium @@ -1,7 +1,7 @@ Name: anyhow URL: https://crates.io/crates/anyhow Description: Flexible concrete Error type built on std::error::Error -Version: 1.0.75 +Version: 1.0.80 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/chromium_crates_io/Cargo.lock b/third_party/rust/chromium_crates_io/Cargo.lock index 3b9aa92c6367..e5b4dad34f31 100644 --- a/third_party/rust/chromium_crates_io/Cargo.lock +++ b/third_party/rust/chromium_crates_io/Cargo.lock @@ -91,7 +91,7 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.79" +version = "1.0.80" [[package]] name = "arrayref" @@ -506,12 +506,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] name = "cxx" -version = "1.0.116" +version = "1.0.119" dependencies = [ "cc", "cxxbridge-flags", @@ -521,15 +521,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.116" +version = "1.0.119" [[package]] name = "cxxbridge-macro" -version = "1.0.116" +version = "1.0.119" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -1224,7 +1224,7 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" [[package]] name = "lol_html" @@ -1726,7 +1726,7 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.5" +version = "0.4.6" dependencies = [ "aho-corasick", "memchr", @@ -1774,7 +1774,7 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.16" +version = "1.0.17" [[package]] name = "safemem" @@ -1829,11 +1829,11 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.21" +version = "1.0.22" [[package]] name = "serde" -version = "1.0.196" +version = "1.0.197" dependencies = [ "serde_derive", ] @@ -1856,11 +1856,11 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.196" +version = "1.0.197" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -1876,7 +1876,7 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.113" +version = "1.0.114" dependencies = [ "itoa 1.0.10", "ryu", @@ -2140,7 +2140,7 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.48" +version = "2.0.52" dependencies = [ "proc-macro2", "quote", @@ -2267,7 +2267,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -2389,7 +2389,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", "wasm-bindgen-shared", ] @@ -2409,7 +2409,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", "wasm-bindgen-backend", "wasm-bindgen-shared", ] diff --git a/third_party/rust/chromium_crates_io/Cargo.toml b/third_party/rust/chromium_crates_io/Cargo.toml index 3757952390d7..0a8f5a6aef4d 100644 --- a/third_party/rust/chromium_crates_io/Cargo.toml +++ b/third_party/rust/chromium_crates_io/Cargo.toml @@ -25,7 +25,7 @@ brave-wallet-cxx = "1" adblock-cxx = { version = "1" } constellation-cxx = "0.1" challenge-bypass-ristretto-cxx = "1" -cxx = "=1.0.116" +cxx = "=1" [patch.crates-io.futures-retry_v0_5] path = "../futures_retry/v0_5/crate" diff --git a/third_party/rust/cxx/v1/README.chromium b/third_party/rust/cxx/v1/README.chromium index 384b214b3cf5..47147ff6a926 100644 --- a/third_party/rust/cxx/v1/README.chromium +++ b/third_party/rust/cxx/v1/README.chromium @@ -1,7 +1,7 @@ Name: cxx URL: https://crates.io/crates/cxx Description: Safe interop between Rust and C++ -Version: 1.0.110 +Version: 1.0.119 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/cxxbridge_flags/v1/README.chromium b/third_party/rust/cxxbridge_flags/v1/README.chromium index f80f0fc326ef..ad0086d6ab6a 100644 --- a/third_party/rust/cxxbridge_flags/v1/README.chromium +++ b/third_party/rust/cxxbridge_flags/v1/README.chromium @@ -1,7 +1,7 @@ Name: cxxbridge-flags URL: https://crates.io/crates/cxxbridge-flags Description: Compiler configuration of the `cxx` crate (implementation detail) -Version: 1.0.110 +Version: 1.0.119 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/cxxbridge_macro/v1/README.chromium b/third_party/rust/cxxbridge_macro/v1/README.chromium index 6ab08535449a..d5bb7d92880d 100644 --- a/third_party/rust/cxxbridge_macro/v1/README.chromium +++ b/third_party/rust/cxxbridge_macro/v1/README.chromium @@ -1,7 +1,7 @@ Name: cxxbridge-macro URL: https://crates.io/crates/cxxbridge-macro Description: Implementation detail of the `cxx` crate. -Version: 1.0.110 +Version: 1.0.119 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/getrandom/v0_2/README.chromium b/third_party/rust/getrandom/v0_2/README.chromium index 6b419a1bea8f..3f7b613107bd 100644 --- a/third_party/rust/getrandom/v0_2/README.chromium +++ b/third_party/rust/getrandom/v0_2/README.chromium @@ -1,7 +1,7 @@ Name: getrandom URL: https://crates.io/crates/getrandom Description: A small cross-platform library for retrieving random data from system source -Version: 0.2.11 +Version: 0.2.12 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/itoa/v1/README.chromium b/third_party/rust/itoa/v1/README.chromium index ac0a2f2a9462..e82ef30d56f3 100644 --- a/third_party/rust/itoa/v1/README.chromium +++ b/third_party/rust/itoa/v1/README.chromium @@ -1,7 +1,7 @@ Name: itoa URL: https://crates.io/crates/itoa Description: Fast integer primitive to string conversion -Version: 1.0.9 +Version: 1.0.10 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/libc/v0_2/README.chromium b/third_party/rust/libc/v0_2/README.chromium index 4dd63fa6456b..9afbf030fecb 100644 --- a/third_party/rust/libc/v0_2/README.chromium +++ b/third_party/rust/libc/v0_2/README.chromium @@ -2,7 +2,7 @@ Name: libc URL: https://crates.io/crates/libc Description: Raw FFI bindings to platform libraries like libc. -Version: 0.2.150 +Version: 0.2.153 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/log/v0_4/README.chromium b/third_party/rust/log/v0_4/README.chromium index 12eb14ffd02b..b3283349fd43 100644 --- a/third_party/rust/log/v0_4/README.chromium +++ b/third_party/rust/log/v0_4/README.chromium @@ -2,7 +2,7 @@ Name: log URL: https://crates.io/crates/log Description: A lightweight logging facade for Rust -Version: 0.4.20 +Version: 0.4.21 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/memchr/v2/README.chromium b/third_party/rust/memchr/v2/README.chromium index 4113630043ee..b294196be1ff 100644 --- a/third_party/rust/memchr/v2/README.chromium +++ b/third_party/rust/memchr/v2/README.chromium @@ -3,7 +3,7 @@ URL: https://crates.io/crates/memchr Description: Provides extremely fast (uses SIMD on x86_64, aarch64 and wasm32) routines for 1, 2 or 3 byte search and single substring search. -Version: 2.6.4 +Version: 2.7.1 Security Critical: yes Shipped: yes License: MIT diff --git a/third_party/rust/proc_macro2/v1/README.chromium b/third_party/rust/proc_macro2/v1/README.chromium index 9014a5ad95e6..f60c75cc8ba4 100644 --- a/third_party/rust/proc_macro2/v1/README.chromium +++ b/third_party/rust/proc_macro2/v1/README.chromium @@ -1,7 +1,7 @@ Name: proc-macro2 URL: https://crates.io/crates/proc-macro2 Description: A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case. -Version: 1.0.69 +Version: 1.0.78 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/quote/v1/README.chromium b/third_party/rust/quote/v1/README.chromium index a16d4a119059..4f75ad92ffa4 100644 --- a/third_party/rust/quote/v1/README.chromium +++ b/third_party/rust/quote/v1/README.chromium @@ -1,7 +1,7 @@ Name: quote URL: https://crates.io/crates/quote Description: Quasi-quoting macro quote!(...) -Version: 1.0.33 +Version: 1.0.35 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/regex/v1/README.chromium b/third_party/rust/regex/v1/README.chromium index 9b36585af5c4..32544f8ea08d 100644 --- a/third_party/rust/regex/v1/README.chromium +++ b/third_party/rust/regex/v1/README.chromium @@ -3,7 +3,7 @@ URL: https://crates.io/crates/regex Description: An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs. -Version: 1.10.2 +Version: 1.10.3 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/regex_automata/v0_4/README.chromium b/third_party/rust/regex_automata/v0_4/README.chromium index 980a37831358..4268e6fb5fc4 100644 --- a/third_party/rust/regex_automata/v0_4/README.chromium +++ b/third_party/rust/regex_automata/v0_4/README.chromium @@ -1,7 +1,7 @@ Name: regex-automata URL: https://crates.io/crates/regex-automata Description: Automata construction and matching using regular expressions. -Version: 0.4.3 +Version: 0.4.6 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/ryu/v1/README.chromium b/third_party/rust/ryu/v1/README.chromium index 7b98f6dd283e..dd98b1653fe7 100644 --- a/third_party/rust/ryu/v1/README.chromium +++ b/third_party/rust/ryu/v1/README.chromium @@ -1,7 +1,7 @@ Name: ryu URL: https://crates.io/crates/ryu Description: Fast floating point to string conversion -Version: 1.0.15 +Version: 1.0.17 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/semver/v1/README.chromium b/third_party/rust/semver/v1/README.chromium index 23a4e1c49e75..7df0271daff6 100644 --- a/third_party/rust/semver/v1/README.chromium +++ b/third_party/rust/semver/v1/README.chromium @@ -1,7 +1,7 @@ Name: semver URL: https://crates.io/crates/semver Description: Parser and evaluator for Cargo's flavor of Semantic Versioning -Version: 1.0.20 +Version: 1.0.22 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/serde/v1/README.chromium b/third_party/rust/serde/v1/README.chromium index d21620f7b096..69a4df64dc43 100644 --- a/third_party/rust/serde/v1/README.chromium +++ b/third_party/rust/serde/v1/README.chromium @@ -1,7 +1,7 @@ Name: serde URL: https://crates.io/crates/serde Description: A generic serialization/deserialization framework -Version: 1.0.193 +Version: 1.0.197 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/serde_derive/v1/README.chromium b/third_party/rust/serde_derive/v1/README.chromium index df4d1cb15ff1..d6db475ce3a3 100644 --- a/third_party/rust/serde_derive/v1/README.chromium +++ b/third_party/rust/serde_derive/v1/README.chromium @@ -1,7 +1,7 @@ Name: serde_derive URL: https://crates.io/crates/serde_derive Description: Macros 1.1 implementation of #[derive(Serialize, Deserialize)] -Version: 1.0.193 +Version: 1.0.197 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/serde_json/v1/README.chromium b/third_party/rust/serde_json/v1/README.chromium index bc89fc86ec4c..a58f06489def 100644 --- a/third_party/rust/serde_json/v1/README.chromium +++ b/third_party/rust/serde_json/v1/README.chromium @@ -1,7 +1,7 @@ Name: serde_json URL: https://crates.io/crates/serde_json Description: A JSON serialization file format -Version: 1.0.108 +Version: 1.0.114 Security Critical: yes Shipped: yes License: Apache 2.0 diff --git a/third_party/rust/syn/v2/README.chromium b/third_party/rust/syn/v2/README.chromium index 3e7a198ea172..1b2fba62d9e4 100644 --- a/third_party/rust/syn/v2/README.chromium +++ b/third_party/rust/syn/v2/README.chromium @@ -1,7 +1,7 @@ Name: syn URL: https://crates.io/crates/syn Description: Parser for Rust source code -Version: 2.0.39 +Version: 2.0.52 Security Critical: yes Shipped: yes License: Apache 2.0 From 65d62050c775906f658197e0429e5a96949aed9f Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Wed, 20 Mar 2024 15:26:26 +0000 Subject: [PATCH 088/130] [rewrapper] Adding step to merger large cfg This is a follow up to an analogous change done by engflow on their end. https://github.com/EngFlow/reclient-configs/pull/10 --- DEPS | 2 +- third_party/reclient_configs/brave_custom/brave_custom.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/DEPS b/DEPS index fd2bc8382a3c..032ddb15c746 100644 --- a/DEPS +++ b/DEPS @@ -22,7 +22,7 @@ deps = { "third_party/bitcoin-core/src": "https://github.com/bitcoin/bitcoin.git@8105bce5b384c72cf08b25b7c5343622754e7337", # v25.0 "third_party/argon2/src": "https://github.com/P-H-C/phc-winner-argon2.git@62358ba2123abd17fccf2a108a301d4b52c01a7c", "third_party/rapidjson/src": "https://github.com/Tencent/rapidjson.git@06d58b9e848c650114556a23294d0b6440078c61", - "third_party/reclient_configs/src": "https://github.com/EngFlow/reclient-configs.git@61ddd9705962a6c6c921b42c933451d4810aa28e", + "third_party/reclient_configs/src": "https://github.com/EngFlow/reclient-configs.git@21c8fe69ff771956c179847b8c1d9fd216181967", 'third_party/android_deps/libs/com_google_android_play_core': { 'packages': [ { diff --git a/third_party/reclient_configs/brave_custom/brave_custom.py b/third_party/reclient_configs/brave_custom/brave_custom.py index ff22e4202b2f..e0f659f352b4 100644 --- a/third_party/reclient_configs/brave_custom/brave_custom.py +++ b/third_party/reclient_configs/brave_custom/brave_custom.py @@ -67,6 +67,10 @@ def merge_rewrapper_cfg(rewrapper_cfg, tool, _host_os): return rewrapper_cfg +def merge_rewrapper_large_cfg(rewrapper_cfg, tool, host_os): + return merge_rewrapper_cfg(rewrapper_cfg, tool, host_os) + + def post_configure(): generate_python_remote_wrapper() From daaf46d12359b59b89bd44c263d14cc4c19f168f Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Wed, 20 Mar 2024 16:29:17 -0400 Subject: [PATCH 089/130] [Android] Set emulator version for tests back to 30 In cr124 there are troubles with running browser tests on emulator version 27. It was on version 27 due to problem with 6.5* kernel in Ubuntu. Newest kernel version doesn't have this issue, so we revert that change and set is to 30. --- build/commands/scripts/commands.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/commands/scripts/commands.js b/build/commands/scripts/commands.js index 497e5323cfea..0a469618b6af 100644 --- a/build/commands/scripts/commands.js +++ b/build/commands/scripts/commands.js @@ -340,7 +340,7 @@ program .option('--target_environment ', 'target environment (device, catalyst, simulator)') .option('--run_disabled_tests', 'run disabled tests') .option('--manual_android_test_device', 'indicates that Android test device is run manually') - .option('--android_test_emulator_version ', 'set Android version for the emulator for tests', parseInteger, '27') + .option('--android_test_emulator_version ', 'set Android version for the emulator for tests', parseInteger, '30') .option('--use_remoteexec [arg]', 'whether to use RBE for building', JSON.parse) .option('--offline', 'use offline mode for RBE') .arguments('[build_config]') From 2222d02c4795e889bfbaec04ae2a8e81d2028f11 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Wed, 20 Mar 2024 17:12:54 -0400 Subject: [PATCH 090/130] Fix TS5055 typescript errors in /ui/webui/resources. The errors are: error TS5055: Cannot write file 'out/Debug/gen/brave/ui/webui/resources/tsc/br_elements/br_shared_style.css.d.ts' because it would overwrite input file. error TS5055: Cannot write file 'out/Debug/gen/brave/ui/webui/resources/tsc/br_elements/br_shared_vars.css.d.ts' because it would overwrite input file. error TS5055: Cannot write file 'out/Debug/gen/brave/ui/webui/resources/tsc/br_elements/br_toolbar/br_toolbar.d.ts' because it would overwrite input file. error TS5055: Cannot write file 'out/Debug/gen/brave/ui/webui/resources/tsc/br_elements/br_toolbar/br_toolbar_search_field.d.ts' because it would overwrite input file. I think these happen because tsc is trying to resolve imports via our brave_path_mappings defined in brave/tools/typescript/sources.gni that end up pointing to the output directory: "chrome://resources/brave/*": [ "./tsc/*" ], "//resources/brave/*": [ "./tsc/*" ] To prevent lookup, updated the imports of the files from the same target to use relative paths. Chromium change: https://chromium.googlesource.com/chromium/src/+/1df55739b54d5d630caa38cbe97f041b84f19428 commit 1df55739b54d5d630caa38cbe97f041b84f19428 Author: rbpotter Date: Wed Feb 28 00:49:55 2024 +0000 WebUI: Detect hidden .d.ts file dependencies in ts_library() In some cases, developers use ts_library() path_mappings to map URL prefixes to src/ directories containing TypeScript definitions files. However, any files imported using these mappings are not actually added to |inputs| for gn, unless they are also listed in the ts_library() project's |definitions| argument. This leads to compile failures in remote execution environments, and to gn not correctly re-building targets when .d.ts files they depend on are modified. This CL uses TS compiler's listFilesOnly option to output all files encountered when building a target, and then checks that any .d.ts files in the list that are not in a generated directory are correctly listed in |definitions|. It throws an error asking the developer to add such files to |definitions| if any missing .d.ts files are found. Started by dpapad@ at: https://chromium-review.googlesource.com/c/chromium/src/+/5321764 Bug: 326005022 --- ui/webui/resources/br_elements/br_toolbar/br_toolbar.ts | 4 ++-- ui/webui/resources/polymer_overriding.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ui/webui/resources/br_elements/br_toolbar/br_toolbar.ts b/ui/webui/resources/br_elements/br_toolbar/br_toolbar.ts index d094d1ac1fb1..3143e6f6b3a7 100644 --- a/ui/webui/resources/br_elements/br_toolbar/br_toolbar.ts +++ b/ui/webui/resources/br_elements/br_toolbar/br_toolbar.ts @@ -6,8 +6,8 @@ // @ts-nocheck TODO(petemill): Convert to Polymer class and remove ts-nocheck import 'chrome://resources/polymer/v3_0/iron-media-query/iron-media-query.js'; -import 'chrome://resources/brave/br_elements/br_shared_vars.css.js'; -import 'chrome://resources/brave/br_elements/br_shared_style.css.js'; +import '../br_shared_vars.css.js'; +import '../br_shared_style.css.js'; import './br_toolbar_search_field.js'; import {loadTimeData} from 'chrome://resources/js/load_time_data.js'; diff --git a/ui/webui/resources/polymer_overriding.ts b/ui/webui/resources/polymer_overriding.ts index 13cb54232192..10637f678aea 100644 --- a/ui/webui/resources/polymer_overriding.ts +++ b/ui/webui/resources/polymer_overriding.ts @@ -6,8 +6,8 @@ // @ts-nocheck TODO(petemill): Define types // Global overrides -import 'chrome://resources/brave/br_elements/br_toolbar/br_toolbar.js' -import 'chrome://resources/brave/br_elements/br_shared_style.css.js' +import './br_elements/br_toolbar/br_toolbar.js' +import './br_elements/br_shared_style.css.js' import { html as polymerHtml, mixinBehaviors, Polymer, PolymerElement } from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; From 64087db6cd604ea75c106ec942f6bf8df5c69e7d Mon Sep 17 00:00:00 2001 From: mkarolin Date: Wed, 20 Mar 2024 17:56:05 -0400 Subject: [PATCH 091/130] GetBookmarksMatchingProperties signature changed. Chromium change: https://source.chromium.org/chromium/chromium/src/+/4faf53bd174301cd9978fc754b98a41e372ba63b commit 4faf53bd174301cd9978fc754b98a41e372ba63b Author: Mikel Astiz Date: Wed Mar 13 09:50:45 2024 +0000 [bookmarks] Refactor GetBookmarksMatchingProperties()'s signature No behavioral changes. Returning the resulting vector is more ergonomic and safer than using a pointer representing an output parameter. Benefits include not having to deal with null, not having to reason about prior content and generally code conciceness and readability. Bug: 326059401, 326185948 --- ios/browser/api/bookmarks/brave_bookmarks_api.mm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ios/browser/api/bookmarks/brave_bookmarks_api.mm b/ios/browser/api/bookmarks/brave_bookmarks_api.mm index 38cee673f8f4..ebfdfa3c493d 100644 --- a/ios/browser/api/bookmarks/brave_bookmarks_api.mm +++ b/ios/browser/api/bookmarks/brave_bookmarks_api.mm @@ -638,9 +638,9 @@ - (void)searchWithQuery:(NSString*)queryArg bookmarks::QueryFields queryFields; queryFields.word_phrase_query.reset( new std::u16string(base::SysNSStringToUTF16(query))); - std::vector results; - GetBookmarksMatchingProperties(bookmarks_api->bookmark_model_, - queryFields, maxCount, &results); + std::vector results = + GetBookmarksMatchingProperties(bookmarks_api->bookmark_model_, + queryFields, maxCount); NSMutableArray* nodes = [[NSMutableArray alloc] init]; for (const bookmarks::BookmarkNode* bookmark : results) { From 6a519248636ebf8ec7b3bf55f17a9ca7233d7717 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Mon, 18 Mar 2024 15:49:29 +0000 Subject: [PATCH 092/130] Adjust `GetDropIndex` use for multiple URLs Chromium change: https://chromium.googlesource.com/chromium/src/+/b29aa6d3f04f16994825c6e7fd1be3c968279811 commit b29aa6d3f04f16994825c6e7fd1be3c968279811 Author: Avi Drissman Date: Wed Mar 13 23:43:03 2024 +0000 Allow drops of multiple urls or files onto the tabstrip Bug: 41403933 --- .../tabs/brave_compound_tab_container.cc | 19 +++--- .../views/tabs/brave_compound_tab_container.h | 5 +- browser/ui/views/tabs/brave_tab_container.cc | 60 ++++++++++++++----- browser/ui/views/tabs/brave_tab_container.h | 5 +- 4 files changed, 62 insertions(+), 27 deletions(-) diff --git a/browser/ui/views/tabs/brave_compound_tab_container.cc b/browser/ui/views/tabs/brave_compound_tab_container.cc index e25151fdf250..074aa39b06ec 100644 --- a/browser/ui/views/tabs/brave_compound_tab_container.cc +++ b/browser/ui/views/tabs/brave_compound_tab_container.cc @@ -335,10 +335,11 @@ int BraveCompoundTabContainer::GetUnpinnedContainerIdealLeadingX() const { return 0; } -BrowserRootView::DropIndex BraveCompoundTabContainer::GetDropIndex( - const ui::DropTargetEvent& event) { +std::optional +BraveCompoundTabContainer::GetDropIndex(const ui::DropTargetEvent& event, + bool allow_replacement) { if (!ShouldShowVerticalTabs()) { - return CompoundTabContainer::GetDropIndex(event); + return CompoundTabContainer::GetDropIndex(event, allow_replacement); } TabContainer* sub_drop_target = GetTabContainerAt(event.location()); @@ -356,14 +357,16 @@ BrowserRootView::DropIndex BraveCompoundTabContainer::GetDropIndex( if (sub_drop_target == std::to_address(pinned_tab_container_)) { // Pinned tab container shares an index and coordinate space, so no // adjustments needed. - return sub_drop_target->GetDropIndex(adjusted_event); + return sub_drop_target->GetDropIndex(adjusted_event, allow_replacement); } else { // For the unpinned container, we need to transform the output to the // correct index space. - const BrowserRootView::DropIndex sub_target_index = - sub_drop_target->GetDropIndex(adjusted_event); - return {sub_target_index.value + NumPinnedTabs(), - sub_target_index.drop_before, sub_target_index.drop_in_group}; + auto sub_target_index = + sub_drop_target->GetDropIndex(adjusted_event, allow_replacement); + return BrowserRootView::DropIndex{ + .index = sub_target_index->index + NumPinnedTabs(), + .relative_to_index = sub_target_index->relative_to_index, + .group_inclusion = sub_target_index->group_inclusion}; } } diff --git a/browser/ui/views/tabs/brave_compound_tab_container.h b/browser/ui/views/tabs/brave_compound_tab_container.h index 9d2856b2621b..401842fa13ba 100644 --- a/browser/ui/views/tabs/brave_compound_tab_container.h +++ b/browser/ui/views/tabs/brave_compound_tab_container.h @@ -59,8 +59,9 @@ class BraveCompoundTabContainer : public CompoundTabContainer { // BrowserRootView::DropTarget BrowserRootView::DropTarget* GetDropTarget( gfx::Point loc_in_local_coords) override; - BrowserRootView::DropIndex GetDropIndex( - const ui::DropTargetEvent& event) override; + std::optional GetDropIndex( + const ui::DropTargetEvent& event, + bool allow_replacement) override; private: FRIEND_TEST_ALL_PREFIXES(VerticalTabStripBrowserTest, ScrollBarVisibility); diff --git a/browser/ui/views/tabs/brave_tab_container.cc b/browser/ui/views/tabs/brave_tab_container.cc index ffbdcc2c2466..0c6681105d77 100644 --- a/browser/ui/views/tabs/brave_tab_container.cc +++ b/browser/ui/views/tabs/brave_tab_container.cc @@ -40,6 +40,11 @@ #include "ui/gfx/skbitmap_operations.h" #include "ui/views/view_utils.h" +using BrowserRootView::DropIndex::GroupInclusion::kDontIncludeInGroup; +using BrowserRootView::DropIndex::GroupInclusion::kIncludeInGroup; +using BrowserRootView::DropIndex::RelativeToIndex::kInsertBeforeIndex; +using BrowserRootView::DropIndex::RelativeToIndex::kReplaceIndex; + BraveTabContainer::BraveTabContainer( TabContainerController& controller, TabHoverCardController* hover_card_controller, @@ -356,11 +361,12 @@ void BraveTabContainer::PaintChildren(const views::PaintInfo& paint_info) { } } -BrowserRootView::DropIndex BraveTabContainer::GetDropIndex( - const ui::DropTargetEvent& event) { +std::optional BraveTabContainer::GetDropIndex( + const ui::DropTargetEvent& event, + bool allow_replacement) { if (!tabs::utils::ShouldShowVerticalTabs( tab_slot_controller_->GetBrowser())) { - return TabContainerImpl::GetDropIndex(event); + return TabContainerImpl::GetDropIndex(event, allow_replacement); } // Force animations to stop, otherwise it makes the index calculation tricky. @@ -402,33 +408,49 @@ BrowserRootView::DropIndex BraveTabContainer::GetDropIndex( tab->group().has_value() && model_index == controller_->GetFirstTabInGroup(tab->group().value()); - const int hot_height = tab->height() / 4; - const int hot_width = tab->width() / 4; + const int hot_height = tab->height() / (allow_replacement ? 4 : 2); + const int hot_width = tab->width() / (allow_replacement ? 4 : 2); if (is_tab_pinned ? x >= (max_x - hot_width) : y >= (max_y - hot_height)) { - return {model_index + 1, true /* drop_before */, - false /* drop_in_group */}; + return BrowserRootView::DropIndex{ + .index = model_index + 1, + .relative_to_index = kInsertBeforeIndex, + .group_inclusion = kDontIncludeInGroup}; } if (is_tab_pinned ? x < tab->x() + hot_width : y < tab->y() + hot_height) { - return {model_index, true /* drop_before */, first_in_group}; + return BrowserRootView::DropIndex{ + .index = model_index, + .relative_to_index = kInsertBeforeIndex, + .group_inclusion = + first_in_group ? kIncludeInGroup : kDontIncludeInGroup}; } - return {model_index, false /* drop_before */, false /* drop_in_group */}; + CHECK(allow_replacement) + << "This should be reached only when |allow_replacement| is true"; + return BrowserRootView::DropIndex{.index = model_index, + .relative_to_index = kReplaceIndex, + .group_inclusion = kIncludeInGroup}; } else { TabGroupHeader* const group_header = static_cast(view); const int first_tab_index = controller_->GetFirstTabInGroup(group_header->group().value()) .value(); - return {first_tab_index, true /* drop_before */, - y >= max_y - group_header->height() / 2 /* drop_in_group */}; + return BrowserRootView::DropIndex{ + .index = first_tab_index, + .relative_to_index = kInsertBeforeIndex, + .group_inclusion = y >= max_y - group_header->height() / 2 + ? kIncludeInGroup + : kDontIncludeInGroup}; } } // The drop isn't over a tab, add it to the end. - return {GetTabCount(), true, false}; + return BrowserRootView::DropIndex{.index = GetTabCount(), + .relative_to_index = kInsertBeforeIndex, + .group_inclusion = kDontIncludeInGroup}; } // BraveTabContainer::DropArrow: @@ -625,15 +647,23 @@ void BraveTabContainer::SetDropArrow( } // Let the controller know of the index update. - controller_->OnDropIndexUpdate(index->value, index->drop_before); + controller_->OnDropIndexUpdate( + index->index, + index->relative_to_index == + BrowserRootView::DropIndex::RelativeToIndex::kInsertBeforeIndex); if (drop_arrow_ && (index == drop_arrow_->index())) { return; } bool is_beneath = false; - gfx::Rect drop_bounds = GetDropBounds(index->value, index->drop_before, - index->drop_in_group, &is_beneath); + gfx::Rect drop_bounds = GetDropBounds( + index->index, + index->relative_to_index == + BrowserRootView::DropIndex::RelativeToIndex::kInsertBeforeIndex, + index->group_inclusion == + BrowserRootView::DropIndex::GroupInclusion::kIncludeInGroup, + &is_beneath); if (!drop_arrow_) { DropArrow::Position position = DropArrow::Position::Vertical; diff --git a/browser/ui/views/tabs/brave_tab_container.h b/browser/ui/views/tabs/brave_tab_container.h index c44abbc6bea8..138015f3bb4b 100644 --- a/browser/ui/views/tabs/brave_tab_container.h +++ b/browser/ui/views/tabs/brave_tab_container.h @@ -51,8 +51,9 @@ class BraveTabContainer : public TabContainerImpl, void PaintChildren(const views::PaintInfo& paint_info) override; // BrowserRootView::DropTarget - BrowserRootView::DropIndex GetDropIndex( - const ui::DropTargetEvent& event) override; + std::optional GetDropIndex( + const ui::DropTargetEvent& event, + bool allow_replacement) override; void HandleDragUpdate( const std::optional& index) override; void HandleDragExited() override; From ce245badffc83ca9055244c7e059d5266aa27393 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Mon, 18 Mar 2024 15:57:02 +0000 Subject: [PATCH 093/130] `ContentSettingsType::NUM_TYPES` removed. This key indicating the last entry in the enum was removed in favour of the mojom-generated `k{Max/Min}Value` keys. Chromium change: https://chromium.googlesource.com/chromium/src/+/cafc5835dd98de8e6d32948846c7355aaaeece3b commit cafc5835dd98de8e6d32948846c7355aaaeece3b Author: Kevin Graney Date: Thu Mar 14 19:42:31 2024 +0000 Remove NUM_TYPES in favor of kMaxValue, kMinValue NUM_TYPES was previously required, but now we have Mojo generating the enum class in C++. --- .../core/browser/content_settings_uma_util.cc | 2 +- ...t_settings-core-common-content_settings_types.mojom.patch | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/chromium_src/components/content_settings/core/browser/content_settings_uma_util.cc b/chromium_src/components/content_settings/core/browser/content_settings_uma_util.cc index 7053925a4795..a799ce67d205 100644 --- a/chromium_src/components/content_settings/core/browser/content_settings_uma_util.cc +++ b/chromium_src/components/content_settings/core/browser/content_settings_uma_util.cc @@ -22,7 +22,7 @@ constexpr int brave_value(int incr) { } // namespace -static_assert(static_cast(ContentSettingsType::NUM_TYPES) < +static_assert(static_cast(ContentSettingsType::kMaxValue) < kBraveValuesStart, "There must a gap between the histograms used by Chromium, and " "the ones used by Brave."); diff --git a/patches/components-content_settings-core-common-content_settings_types.mojom.patch b/patches/components-content_settings-core-common-content_settings_types.mojom.patch index c081b95c717d..b4c2664bb4d2 100644 --- a/patches/components-content_settings-core-common-content_settings_types.mojom.patch +++ b/patches/components-content_settings-core-common-content_settings_types.mojom.patch @@ -1,8 +1,8 @@ diff --git a/components/content_settings/core/common/content_settings_types.mojom b/components/content_settings/core/common/content_settings_types.mojom -index 406f182232279b9a5accaa530891de906455b1a1..1dc2cd19cf575f5b4811e523e9aa14fb1afbb6c3 100644 +index 406f182232279b9a5accaa530891de906455b1a1..905f1a7c92e2de5b7186b27c7f3e25e0322ee836 100644 --- a/components/content_settings/core/common/content_settings_types.mojom +++ b/components/content_settings/core/common/content_settings_types.mojom -@@ -408,4 +408,22 @@ enum ContentSettingsType { +@@ -408,4 +408,21 @@ enum ContentSettingsType { // Pointer Lock API allows a site to hide the cursor and have exclusive access // to mouse inputs. POINTER_LOCK, @@ -23,5 +23,4 @@ index 406f182232279b9a5accaa530891de906455b1a1..1dc2cd19cf575f5b4811e523e9aa14fb + BRAVE_HTTPS_UPGRADE, + BRAVE_REMEMBER_1P_STORAGE, + BRAVE_LOCALHOST_ACCESS, -+ NUM_TYPES, }; From bc4a4c7fe13516d91be3be4955a966b4001eb633 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Mon, 18 Mar 2024 15:59:15 +0000 Subject: [PATCH 094/130] `OnSelectedTypesPrefChange` override to be updated The argument for this override was unused and got removed on upstream. Chromium change: https://chromium.googlesource.com/chromium/src/+/7e4973bfff3e731f43ce5b2ef366d1af807af351 commit 7e4973bfff3e731f43ce5b2ef366d1af807af351 Author: Victor Hugo Vianna Silva Date: Thu Mar 14 17:22:59 2024 +0000 Remove unused arg in SyncPrefObserver::OnSelectedTypesPrefChange() No behavior change. The payments_integration_enabled_changed arg was added on 07/2023 [1] but became unused since and there was a TODO to clean it up. [1] https://chromium-review.googlesource.com/c/chromium/src/+/4659506/26/components/sync/service/sync_prefs.h Bug: 40939195 --- components/sync/service/brave_sync_service_impl.cc | 6 ++---- components/sync/service/brave_sync_service_impl.h | 3 +-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/components/sync/service/brave_sync_service_impl.cc b/components/sync/service/brave_sync_service_impl.cc index 1639194bd1d0..43eb0fe93f18 100644 --- a/components/sync/service/brave_sync_service_impl.cc +++ b/components/sync/service/brave_sync_service_impl.cc @@ -375,10 +375,8 @@ void BraveSyncServiceImpl::OnGotEntityCounts( } } -void BraveSyncServiceImpl::OnSelectedTypesPrefChange( - bool payments_integration_enabled_changed) { - SyncServiceImpl::OnSelectedTypesPrefChange( - payments_integration_enabled_changed); +void BraveSyncServiceImpl::OnSelectedTypesPrefChange() { + SyncServiceImpl::OnSelectedTypesPrefChange(); brave_sync::p3a::RecordEnabledTypes( GetUserSettings()->IsSyncEverythingEnabled(), diff --git a/components/sync/service/brave_sync_service_impl.h b/components/sync/service/brave_sync_service_impl.h index 6b71dff2d06f..45a93f8756c7 100644 --- a/components/sync/service/brave_sync_service_impl.h +++ b/components/sync/service/brave_sync_service_impl.h @@ -42,8 +42,7 @@ class BraveSyncServiceImpl : public SyncServiceImpl { void OnSyncCycleCompleted(const SyncCycleSnapshot& snapshot) override; // SyncPrefObserver implementation. - void OnSelectedTypesPrefChange( - bool payments_integration_enabled_changed) override; + void OnSelectedTypesPrefChange() override; std::string GetOrCreateSyncCode(); bool SetSyncCode(const std::string& sync_code); From 629255d6484242b23526a06696525cb913d8e512 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Mon, 18 Mar 2024 14:40:15 -0300 Subject: [PATCH 095/130] `GetDedicatedUnderlyingModelForBrowserState` renamed This function has been renamed to indicate that it can crash at runtime. Chromium change: https://chromium.googlesource.com/chromium/src/+/b6ca5e3a03ce606dba4ec346b4b6617da9c2799b commit b6ca5e3a03ce606dba4ec346b4b6617da9c2799b Author: Mikel Astiz Date: Fri Mar 15 12:49:53 2024 +0000 [ios] Rename bookmark factory methods to reflect precondition No behavioral changes, pure refactoring. The APIs in the two legacy BookmarkModel factories are renamed to reflect the fact that the may only be invoked if feature `syncer::kEnableBookmarkFoldersForAccountStorage` is disabled. This patch also allows verifying that all existing callers do in fact guard the call behind the feature evaluaring to disabled. Bug: 326185948 --- ios/app/brave_core_main.mm | 3 ++- ios/browser/api/bookmarks/exporter/bookmark_html_writer.cc | 3 ++- ios/browser/api/bookmarks/importer/bookmarks_importer.mm | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ios/app/brave_core_main.mm b/ios/app/brave_core_main.mm index 1c647d3b0ba3..ab1c60fc4ed4 100644 --- a/ios/app/brave_core_main.mm +++ b/ios/app/brave_core_main.mm @@ -372,7 +372,8 @@ - (BraveBookmarksAPI*)bookmarksAPI { if (!_bookmarksAPI) { bookmarks::BookmarkModel* bookmark_model_ = ios::LocalOrSyncableBookmarkModelFactory:: - GetDedicatedUnderlyingModelForBrowserState(_mainBrowserState); + GetDedicatedUnderlyingModelForBrowserStateIfUnificationDisabledOrDie( + _mainBrowserState); BookmarkUndoService* bookmark_undo_service_ = ios::BookmarkUndoServiceFactory::GetForBrowserState(_mainBrowserState); diff --git a/ios/browser/api/bookmarks/exporter/bookmark_html_writer.cc b/ios/browser/api/bookmarks/exporter/bookmark_html_writer.cc index 33c396c4cb81..a6ece36002f5 100644 --- a/ios/browser/api/bookmarks/exporter/bookmark_html_writer.cc +++ b/ios/browser/api/bookmarks/exporter/bookmark_html_writer.cc @@ -504,7 +504,8 @@ void BookmarkFaviconFetcher::ExecuteWriter() { &Writer::DoWrite, base::MakeRefCounted( ios::LocalOrSyncableBookmarkModelFactory:: - GetDedicatedUnderlyingModelForBrowserState(browser_state_), + GetDedicatedUnderlyingModelForBrowserStateIfUnificationDisabledOrDie( + browser_state_), path_, favicons_map_.release(), observer_))); browser_state_->RemoveUserData(kBookmarkFaviconFetcherKey); // |this| is deleted! diff --git a/ios/browser/api/bookmarks/importer/bookmarks_importer.mm b/ios/browser/api/bookmarks/importer/bookmarks_importer.mm index 4dfe1782ba27..faccb3cb29cb 100644 --- a/ios/browser/api/bookmarks/importer/bookmarks_importer.mm +++ b/ios/browser/api/bookmarks/importer/bookmarks_importer.mm @@ -83,7 +83,8 @@ void ShowBookmarkBar(ChromeBrowserState* browser_state) { ChromeBrowserState* browser_state = browser_state_manager->GetLastUsedBrowserState(); bookmarks::BookmarkModel* model = ios::LocalOrSyncableBookmarkModelFactory:: - GetDedicatedUnderlyingModelForBrowserState(browser_state); + GetDedicatedUnderlyingModelForBrowserStateIfUnificationDisabledOrDie( + browser_state); DCHECK(model->loaded()); // If the bookmark bar is currently empty, we should import directly to it. From 450bede34c7ca8765f2eb35f4ff7fe736e3c9af8 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Mon, 18 Mar 2024 20:18:00 +0000 Subject: [PATCH 096/130] `kSharedStorageAPIM123` feature flag renamed This has no other effect. Chromium change: https://chromium.googlesource.com/chromium/src/+/9c387a43b9659b90e7e6b30f6f114d59ad349903 commit 9c387a43b9659b90e7e6b30f6f114d59ad349903 Author: Yao Xiao Date: Sat Mar 16 20:53:04 2024 +0000 [shared storage] Rename SharedStorageAPIM123 to SharedStorageAPIM124 and enable it Previously we decided to push back to M124 and disabled the feature. Now we rename it to M124 and enable it. Bug: 325302836 --- app/feature_defaults_unittest.cc | 2 +- chromium_src/third_party/blink/common/features.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/feature_defaults_unittest.cc b/app/feature_defaults_unittest.cc index f8a57dca2952..5f3ac60f901c 100644 --- a/app/feature_defaults_unittest.cc +++ b/app/feature_defaults_unittest.cc @@ -106,7 +106,7 @@ TEST(FeatureDefaultsTest, DisabledFeatures) { &blink::features::kReduceCookieIPCs, &blink::features::kSharedStorageAPI, &blink::features::kSharedStorageAPIM118, - &blink::features::kSharedStorageAPIM123, + &blink::features::kSharedStorageAPIM124, &blink::features::kSharedStorageSelectURLLimit, &blink::features::kSpeculationRulesPrefetchFuture, &blink::features::kTextFragmentAnchor, diff --git a/chromium_src/third_party/blink/common/features.cc b/chromium_src/third_party/blink/common/features.cc index 70917f61bdc9..b84712c6d5fc 100644 --- a/chromium_src/third_party/blink/common/features.cc +++ b/chromium_src/third_party/blink/common/features.cc @@ -48,7 +48,7 @@ OVERRIDE_FEATURE_DEFAULT_STATES({{ {kReduceUserAgentMinorVersion, base::FEATURE_ENABLED_BY_DEFAULT}, {kSharedStorageAPI, base::FEATURE_DISABLED_BY_DEFAULT}, {kSharedStorageAPIM118, base::FEATURE_DISABLED_BY_DEFAULT}, - {kSharedStorageAPIM123, base::FEATURE_DISABLED_BY_DEFAULT}, + {kSharedStorageAPIM124, base::FEATURE_DISABLED_BY_DEFAULT}, {kSharedStorageSelectURLLimit, base::FEATURE_DISABLED_BY_DEFAULT}, {kSpeculationRulesPrefetchFuture, base::FEATURE_DISABLED_BY_DEFAULT}, {kTextFragmentAnchor, base::FEATURE_DISABLED_BY_DEFAULT}, From 1305183ce7bafb559a8b2552166520a7375b0e77 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Tue, 19 Mar 2024 10:46:13 -0300 Subject: [PATCH 097/130] Updating hermetic toolchain This change updates the hash for the toolchain to a the new one published in our infra. Chromium change: https://chromium.googlesource.com/chromium/src/+/7ff6e7df4cb828a32bcce61f454e3c08e5ae3654 commit 7ff6e7df4cb828a32bcce61f454e3c08e5ae3654 Author: Bruce Dawson Date: Fri Mar 15 22:31:20 2024 +0000 New toolchain for Windows 11 10.0.22621.2428 SDK A couple of Chromium projects need access to Windows features that are only exposed in the 2428 point release of 10.0.22621. The previous toolchain package used the 10.0.22621.755 (Windows 11 22H2) SDK. This follows the same packaging steps but it pulls in the latest SDK, thus giving access to the new features. When we start depending on the new SDK then developers who don't use the packaged toolchain will need to update their locally installed SDK. The changes that add the dependencies on the new SDK will check for it and give error messages to guide developers. Packaging was done on a Windows 10 Hyper-V VM, cleanly created for this purpose. Specifically, the Hyper-V Quick Create tool was used to create a Windows 11 dev environment. VS Community Edition was then uninstalled. Then the package was created by installing depot_tools, downloading the VS Professional 2022 installer from https://visualstudio.microsoft.com/downloads/ (free trial, not preview) and then running the installer like this: $ PATH_TO_INSTALLER.EXE ^ --add Microsoft.VisualStudio.Workload.NativeDesktop ^ --add Microsoft.VisualStudio.Component.VC.ATLMFC ^ --add Microsoft.VisualStudio.Component.VC.Tools.ARM64 ^ --add Microsoft.VisualStudio.Component.VC.MFC.ARM64 ^ --includeRecommended --passive Then Add/Remove programs was used to modify the SDK to add the Debuggers package. Then the packaging script was run like this: python3 depot_tools\win_toolchain\package_from_installed.py 2022 -w 10.0.22621.0 The packaging process was done on new VMs hosted on two different machines to make sure that the results were consistent. Updates were made to the comments and documentation, however very few updates were needed because the SDK change is just a point release. Bug: 40282717, 325004812 --- build/commands/lib/config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/commands/lib/config.js b/build/commands/lib/config.js index c3286f8c0b87..f219f9be01c7 100644 --- a/build/commands/lib/config.js +++ b/build/commands/lib/config.js @@ -1247,7 +1247,7 @@ Object.defineProperty(Config.prototype, 'defaultOptions', { // Use hermetic toolchain only internally. env.USE_BRAVE_HERMETIC_TOOLCHAIN = '1' env.DEPOT_TOOLS_WIN_TOOLCHAIN = '1' - env.GYP_MSVS_HASH_27370823e7 = '01b3b59461' + env.GYP_MSVS_HASH_7393122652 = 'd325744cf9' env.DEPOT_TOOLS_WIN_TOOLCHAIN_BASE_URL = `${this.internalDepsUrl}/windows-hermetic-toolchain/` } From 3f66a627de518c2d7052a9603e2969611be3830a Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Thu, 21 Mar 2024 17:16:01 +0000 Subject: [PATCH 098/130] `gnrt` run for Chromium 124.0.6367.8. --- .../rust/chromium_crates_io/Cargo.lock | 1 - .../rust/chromium_crates_io/Cargo.toml | 25 +++++++++---------- .../rust/cssparser_macros/v0_6/BUILD.gn | 5 +++- third_party/rust/fnv/v1/BUILD.gn | 2 ++ third_party/rust/fxhash/v0_2/BUILD.gn | 1 + third_party/rust/markup5ever/v0_10/BUILD.gn | 5 +++- third_party/rust/matches/v0_1/BUILD.gn | 6 ++++- third_party/rust/selectors/v0_22/BUILD.gn | 6 ++++- third_party/rust/selectors/v0_23/BUILD.gn | 6 ++++- third_party/rust/servo_arc/v0_1/BUILD.gn | 2 +- .../rust/string_cache_codegen/v0_5/BUILD.gn | 5 +++- 11 files changed, 43 insertions(+), 21 deletions(-) diff --git a/third_party/rust/chromium_crates_io/Cargo.lock b/third_party/rust/chromium_crates_io/Cargo.lock index e5b4dad34f31..32e3e75913d2 100644 --- a/third_party/rust/chromium_crates_io/Cargo.lock +++ b/third_party/rust/chromium_crates_io/Cargo.lock @@ -317,7 +317,6 @@ dependencies = [ "brave-wallet-cxx", "challenge-bypass-ristretto-cxx", "constellation-cxx", - "cxx", "filecoin-cxx", "json-cxx", "skus-cxx", diff --git a/third_party/rust/chromium_crates_io/Cargo.toml b/third_party/rust/chromium_crates_io/Cargo.toml index 0a8f5a6aef4d..162cd1493e2d 100644 --- a/third_party/rust/chromium_crates_io/Cargo.toml +++ b/third_party/rust/chromium_crates_io/Cargo.toml @@ -25,7 +25,6 @@ brave-wallet-cxx = "1" adblock-cxx = { version = "1" } constellation-cxx = "0.1" challenge-bypass-ristretto-cxx = "1" -cxx = "=1" [patch.crates-io.futures-retry_v0_5] path = "../futures_retry/v0_5/crate" @@ -84,7 +83,7 @@ path = "../../../../third_party/rust/chromium_crates_io/vendor/aho-corasick-1.1. package = "aho-corasick" [patch.crates-io.anyhow_v1] -path = "../../../../third_party/rust/chromium_crates_io/vendor/anyhow-1.0.79" +path = "../../../../third_party/rust/chromium_crates_io/vendor/anyhow-1.0.80" package = "anyhow" [patch.crates-io.autocfg_v1] @@ -100,15 +99,15 @@ path = "../../../../third_party/rust/chromium_crates_io/vendor/cfg-if-1.0.0" package = "cfg-if" [patch.crates-io.cxx_v1] -path = "../../../../third_party/rust/chromium_crates_io/vendor/cxx-1.0.116" +path = "../../../../third_party/rust/chromium_crates_io/vendor/cxx-1.0.119" package = "cxx" [patch.crates-io.cxxbridge-flags_v1] -path = "../../../../third_party/rust/chromium_crates_io/vendor/cxxbridge-flags-1.0.116" +path = "../../../../third_party/rust/chromium_crates_io/vendor/cxxbridge-flags-1.0.119" package = "cxxbridge-flags" [patch.crates-io.cxxbridge-macro_v1] -path = "../../../../third_party/rust/chromium_crates_io/vendor/cxxbridge-macro-1.0.116" +path = "../../../../third_party/rust/chromium_crates_io/vendor/cxxbridge-macro-1.0.119" package = "cxxbridge-macro" [patch.crates-io.getrandom_v0_2] @@ -128,7 +127,7 @@ path = "../../../../third_party/rust/chromium_crates_io/vendor/libc-0.2.153" package = "libc" [patch.crates-io.log_v0_4] -path = "../../../../third_party/rust/chromium_crates_io/vendor/log-0.4.20" +path = "../../../../third_party/rust/chromium_crates_io/vendor/log-0.4.21" package = "log" [patch.crates-io.memchr_v2] @@ -164,7 +163,7 @@ path = "../../../../third_party/rust/chromium_crates_io/vendor/regex-1.10.3" package = "regex" [patch.crates-io.regex_automata_v0_4] -path = "../../../../third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.5" +path = "../../../../third_party/rust/chromium_crates_io/vendor/regex-automata-0.4.6" package = "regex-automata" [patch.crates-io.regex_syntax_v0_8] @@ -176,23 +175,23 @@ path = "../../../../third_party/rust/chromium_crates_io/vendor/rustc_version-0.4 package = "rustc_version" [patch.crates-io.ryu_v1] -path = "../../../../third_party/rust/chromium_crates_io/vendor/ryu-1.0.16" +path = "../../../../third_party/rust/chromium_crates_io/vendor/ryu-1.0.17" package = "ryu" [patch.crates-io.semver_v1] -path = "../../../../third_party/rust/chromium_crates_io/vendor/semver-1.0.21" +path = "../../../../third_party/rust/chromium_crates_io/vendor/semver-1.0.22" package = "semver" [patch.crates-io.serde_derive_v1] -path = "../../../../third_party/rust/chromium_crates_io/vendor/serde_derive-1.0.196" +path = "../../../../third_party/rust/chromium_crates_io/vendor/serde_derive-1.0.197" package = "serde_derive" [patch.crates-io.serde_json_v1] -path = "../../../../third_party/rust/chromium_crates_io/vendor/serde_json-1.0.113" +path = "../../../../third_party/rust/chromium_crates_io/vendor/serde_json-1.0.114" package = "serde_json" [patch.crates-io.serde_v1] -path = "../../../../third_party/rust/chromium_crates_io/vendor/serde-1.0.196" +path = "../../../../third_party/rust/chromium_crates_io/vendor/serde-1.0.197" package = "serde" [patch.crates-io.syn_v1] @@ -200,7 +199,7 @@ path = "../../../../third_party/rust/chromium_crates_io/vendor/syn-1.0.109" package = "syn" [patch.crates-io.syn_v2] -path = "../../../../third_party/rust/chromium_crates_io/vendor/syn-2.0.48" +path = "../../../../third_party/rust/chromium_crates_io/vendor/syn-2.0.52" package = "syn" [patch.crates-io.unicode-ident_v1] diff --git a/third_party/rust/cssparser_macros/v0_6/BUILD.gn b/third_party/rust/cssparser_macros/v0_6/BUILD.gn index 0a780e498a5a..b3bb06dacb5f 100644 --- a/third_party/rust/cssparser_macros/v0_6/BUILD.gn +++ b/third_party/rust/cssparser_macros/v0_6/BUILD.gn @@ -15,7 +15,10 @@ cargo_crate("lib") { crate_type = "proc-macro" crate_root = "//brave/third_party/rust/chromium_crates_io/vendor/cssparser-macros-0.6.0/lib.rs" sources = [ "//brave/third_party/rust/chromium_crates_io/vendor/cssparser-macros-0.6.0/lib.rs" ] - inputs = [] + inputs = [ + "//brave/third_party/rust/chromium_crates_io/vendor/cssparser-macros-0.6.0/.cargo-checksum.json", + "//brave/third_party/rust/chromium_crates_io/vendor/cssparser-macros-0.6.0/.cargo_vcs_info.json", + ] build_native_rust_unit_tests = false edition = "2018" diff --git a/third_party/rust/fnv/v1/BUILD.gn b/third_party/rust/fnv/v1/BUILD.gn index b097d98ebca1..abb3b14a6288 100644 --- a/third_party/rust/fnv/v1/BUILD.gn +++ b/third_party/rust/fnv/v1/BUILD.gn @@ -18,6 +18,8 @@ cargo_crate("lib") { sources = [ "//brave/third_party/rust/chromium_crates_io/vendor/fnv-1.0.7/lib.rs" ] inputs = [ + "//brave/third_party/rust/chromium_crates_io/vendor/fnv-1.0.7/.cargo-checksum.json", + "//brave/third_party/rust/chromium_crates_io/vendor/fnv-1.0.7/.cargo_vcs_info.json", "//brave/third_party/rust/chromium_crates_io/vendor/fnv-1.0.7/README.md", ] diff --git a/third_party/rust/fxhash/v0_2/BUILD.gn b/third_party/rust/fxhash/v0_2/BUILD.gn index 9812eb71094b..fdf482f844e5 100644 --- a/third_party/rust/fxhash/v0_2/BUILD.gn +++ b/third_party/rust/fxhash/v0_2/BUILD.gn @@ -20,6 +20,7 @@ cargo_crate("lib") { "//brave/third_party/rust/chromium_crates_io/vendor/fxhash-0.2.1/lib.rs", ] inputs = [ + "//brave/third_party/rust/chromium_crates_io/vendor/fxhash-0.2.1/.cargo-checksum.json", "//brave/third_party/rust/chromium_crates_io/vendor/fxhash-0.2.1/README.md", ] diff --git a/third_party/rust/markup5ever/v0_10/BUILD.gn b/third_party/rust/markup5ever/v0_10/BUILD.gn index a4bd238b7a4e..2f57ac2d678e 100644 --- a/third_party/rust/markup5ever/v0_10/BUILD.gn +++ b/third_party/rust/markup5ever/v0_10/BUILD.gn @@ -25,7 +25,10 @@ cargo_crate("lib") { "//brave/third_party/rust/chromium_crates_io/vendor/markup5ever-0.10.1/util/buffer_queue.rs", "//brave/third_party/rust/chromium_crates_io/vendor/markup5ever-0.10.1/util/smallcharset.rs", ] - inputs = [] + inputs = [ + "//brave/third_party/rust/chromium_crates_io/vendor/markup5ever-0.10.1/.cargo-checksum.json", + "//brave/third_party/rust/chromium_crates_io/vendor/markup5ever-0.10.1/.cargo_vcs_info.json", + ] build_native_rust_unit_tests = false edition = "2018" diff --git a/third_party/rust/matches/v0_1/BUILD.gn b/third_party/rust/matches/v0_1/BUILD.gn index 746cc9e2ecee..841cf08ebdce 100644 --- a/third_party/rust/matches/v0_1/BUILD.gn +++ b/third_party/rust/matches/v0_1/BUILD.gn @@ -20,7 +20,11 @@ cargo_crate("lib") { "//brave/third_party/rust/chromium_crates_io/vendor/matches-0.1.10/tests/macro_use_one.rs", "//brave/third_party/rust/chromium_crates_io/vendor/matches-0.1.10/tests/use_star.rs", ] - inputs = [ "//brave/third_party/rust/chromium_crates_io/vendor/matches-0.1.10/README.md" ] + inputs = [ + "//brave/third_party/rust/chromium_crates_io/vendor/matches-0.1.10/.cargo-checksum.json", + "//brave/third_party/rust/chromium_crates_io/vendor/matches-0.1.10/.cargo_vcs_info.json", + "//brave/third_party/rust/chromium_crates_io/vendor/matches-0.1.10/README.md", + ] build_native_rust_unit_tests = false edition = "2015" diff --git a/third_party/rust/selectors/v0_22/BUILD.gn b/third_party/rust/selectors/v0_22/BUILD.gn index 6be78ca56618..8d73ce9d9e40 100644 --- a/third_party/rust/selectors/v0_22/BUILD.gn +++ b/third_party/rust/selectors/v0_22/BUILD.gn @@ -28,7 +28,11 @@ cargo_crate("lib") { "//brave/third_party/rust/chromium_crates_io/vendor/selectors-0.22.0/tree.rs", "//brave/third_party/rust/chromium_crates_io/vendor/selectors-0.22.0/visitor.rs", ] - inputs = [ "//brave/third_party/rust/chromium_crates_io/vendor/selectors-0.22.0/README.md" ] + inputs = [ + "//brave/third_party/rust/chromium_crates_io/vendor/selectors-0.22.0/.cargo-checksum.json", + "//brave/third_party/rust/chromium_crates_io/vendor/selectors-0.22.0/.cargo_vcs_info.json", + "//brave/third_party/rust/chromium_crates_io/vendor/selectors-0.22.0/README.md", + ] build_native_rust_unit_tests = false edition = "2015" diff --git a/third_party/rust/selectors/v0_23/BUILD.gn b/third_party/rust/selectors/v0_23/BUILD.gn index 8688716a9f58..f228da19b312 100644 --- a/third_party/rust/selectors/v0_23/BUILD.gn +++ b/third_party/rust/selectors/v0_23/BUILD.gn @@ -28,7 +28,11 @@ cargo_crate("lib") { "//brave/third_party/rust/chromium_crates_io/vendor/selectors-0.23.0/tree.rs", "//brave/third_party/rust/chromium_crates_io/vendor/selectors-0.23.0/visitor.rs", ] - inputs = [ "//brave/third_party/rust/chromium_crates_io/vendor/selectors-0.23.0/README.md" ] + inputs = [ + "//brave/third_party/rust/chromium_crates_io/vendor/selectors-0.23.0/.cargo-checksum.json", + "//brave/third_party/rust/chromium_crates_io/vendor/selectors-0.23.0/.cargo_vcs_info.json", + "//brave/third_party/rust/chromium_crates_io/vendor/selectors-0.23.0/README.md", + ] build_native_rust_unit_tests = false edition = "2015" diff --git a/third_party/rust/servo_arc/v0_1/BUILD.gn b/third_party/rust/servo_arc/v0_1/BUILD.gn index 4dabdb3c23e7..d87e971a7a6b 100644 --- a/third_party/rust/servo_arc/v0_1/BUILD.gn +++ b/third_party/rust/servo_arc/v0_1/BUILD.gn @@ -17,7 +17,7 @@ cargo_crate("lib") { sources = [ "//brave/third_party/rust/chromium_crates_io/vendor/servo_arc-0.1.1/lib.rs", ] - inputs = [] + inputs = [ "//brave/third_party/rust/chromium_crates_io/vendor/servo_arc-0.1.1/.cargo-checksum.json" ] build_native_rust_unit_tests = false edition = "2015" diff --git a/third_party/rust/string_cache_codegen/v0_5/BUILD.gn b/third_party/rust/string_cache_codegen/v0_5/BUILD.gn index bb883e4b6325..38851bd8ee47 100644 --- a/third_party/rust/string_cache_codegen/v0_5/BUILD.gn +++ b/third_party/rust/string_cache_codegen/v0_5/BUILD.gn @@ -15,7 +15,10 @@ cargo_crate("buildrs_support") { crate_type = "rlib" crate_root = "//brave/third_party/rust/chromium_crates_io/vendor/string_cache_codegen-0.5.2/lib.rs" sources = [ "//brave/third_party/rust/chromium_crates_io/vendor/string_cache_codegen-0.5.2/lib.rs" ] - inputs = [] + inputs = [ + "//brave/third_party/rust/chromium_crates_io/vendor/string_cache_codegen-0.5.2/.cargo-checksum.json", + "//brave/third_party/rust/chromium_crates_io/vendor/string_cache_codegen-0.5.2/.cargo_vcs_info.json", + ] build_native_rust_unit_tests = false edition = "2018" From b999ccb69e68621df454c3fdb3b600dbf92e35ed Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Thu, 21 Mar 2024 16:21:23 -0400 Subject: [PATCH 099/130] [Android] Update Read Aloud magic toolbar button when page is translated Chromium change: https://source.chromium.org/chromium/chromium/src/+/ee6035ab3770ea4e92fead9dd0622cfab6d75388 Update Read Aloud magic toolbar button when page is translated The page's readability may have changed if it was translated, so the button should check again and possibly show or hide itself. Underlying changes: - Add a TranslationObserver to the selected tab as needed - Change how ReadAloudController notifies outside features of readability events This is a reland of https://chromium-review.googlesource.com/c/chromium/src/+/5319377 with fixes: the TranslationObserver can't be registered in onPageLoadStarted() because it runs for a temporary WebContents during tab restore and there's no chance to unregister. Bug: 326287049 --- .../chrome/browser/toolbar/BraveToolbarManager.java | 8 +++++--- .../org/chromium/chrome/browser/BytecodeTest.java | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java index cca2d0f389b7..82292338e43e 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java +++ b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java @@ -43,6 +43,7 @@ import org.chromium.chrome.browser.merchant_viewer.MerchantTrustSignalsCoordinator; import org.chromium.chrome.browser.omnibox.LocationBar; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.readaloud.ReadAloudController; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabObscuringHandler; @@ -78,7 +79,6 @@ import org.chromium.ui.modaldialog.ModalDialogManager; import java.util.List; -import java.util.function.BooleanSupplier; public class BraveToolbarManager extends ToolbarManager { private static final String TAG = "BraveToolbarManager"; @@ -175,7 +175,8 @@ public BraveToolbarManager( boolean initializeWithIncognitoColors, @Nullable BackPressManager backPressManager, @Nullable ObservableSupplier overviewColorSupplier, - @Nullable View baseChromeLayout) { + @Nullable View baseChromeLayout, + ObservableSupplier readAloudControllerSupplier) { super( activity, controlsSizer, @@ -222,7 +223,8 @@ public BraveToolbarManager( initializeWithIncognitoColors, backPressManager, overviewColorSupplier, - baseChromeLayout); + baseChromeLayout, + readAloudControllerSupplier); mOmniboxFocusStateSupplier = omniboxFocusStateSupplier; mLayoutStateProviderSupplier = layoutStateProviderSupplier; diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index 7c7faf8ff096..67c0653495e1 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -821,7 +821,8 @@ public void testConstructorsExistAndMatch() throws Exception { boolean.class, BackPressManager.class, ObservableSupplier.class, - View.class)); + View.class, + ObservableSupplier.class)); Assert.assertTrue( constructorsMatch( "org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator", From ab7a3cb08854f10bce30a360f0ea002760cf5d12 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Thu, 21 Mar 2024 16:22:31 -0400 Subject: [PATCH 100/130] [Android] Update AutofillAddress/AddressEditor to use Profile-aware PersonalDataManager Chromium change: https://source.chromium.org/chromium/chromium/src/+/1dd960ea503c6655dcb8f07f4dac0dd78037a8f9 Update AutofillAddress/AddressEditor to use Profile-aware PersonalDataManager. Bug: 40689806 --- .../autofill/BraveAutofillBackgroundServiceImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/android/java/org/chromium/chrome/browser/autofill/BraveAutofillBackgroundServiceImpl.java b/android/java/org/chromium/chrome/browser/autofill/BraveAutofillBackgroundServiceImpl.java index b666bc54c296..d5cb1d96ea46 100644 --- a/android/java/org/chromium/chrome/browser/autofill/BraveAutofillBackgroundServiceImpl.java +++ b/android/java/org/chromium/chrome/browser/autofill/BraveAutofillBackgroundServiceImpl.java @@ -31,6 +31,7 @@ import org.chromium.chrome.browser.init.BrowserParts; import org.chromium.chrome.browser.init.ChromeBrowserInitializer; import org.chromium.chrome.browser.init.EmptyBrowserParts; +import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.components.autofill.AutofillProfile; import org.chromium.components.autofill.FieldType; import org.chromium.components.autofill.Source; @@ -281,7 +282,11 @@ private void startsAutoSave(Context context) { fields, nodesMap, context.getResources().getString(R.string.country)); AutofillAddress autofillAddress = - new AutofillAddress(context, AutofillProfile.builder().build()); + new AutofillAddress( + context, + AutofillProfile.builder().build(), + PersonalDataManagerFactory.getForProfile( + ProfileManager.getLastUsedRegularProfile())); AutofillProfile profile = autofillAddress.getProfile(); profile.setSource(Source.ACCOUNT); profile.setInfo(FieldType.ADDRESS_HOME_COUNTRY, country); From 533c639dcba3317ab706b2ebbb5be3624b4cdc53 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Thu, 21 Mar 2024 16:26:58 -0400 Subject: [PATCH 101/130] [Android] Introduce common SearchActivity call-up mechanism Chromium change: https://source.chromium.org/chromium/chromium/src/+/4ee04e1e571efd8ee8ec0a29cb35cb1da9835bb8 4ee04e1 Compare Browse Copy full hash Introduce common SearchActivity call-up mechanism. This change introduces a SearchActivityClient, a standalone interface that permits components to call up SearchActivity. The component allows us to provide a simple scalable solution for all SearchActivity use cases. The intention is to migrate multiple different invocation mechanisms to a single, easily expandable mechanism that can encompass them all. Bug: 327023983 --- .../SearchWidgetProviderActivity.java | 21 +++++++++++-------- ...ActionSearchAndBookmarkWidgetProvider.java | 21 ++++++++++++------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/searchwidget/SearchWidgetProviderActivity.java b/android/java/org/chromium/chrome/browser/searchwidget/SearchWidgetProviderActivity.java index e05ebe8116cf..9eaf88201184 100644 --- a/android/java/org/chromium/chrome/browser/searchwidget/SearchWidgetProviderActivity.java +++ b/android/java/org/chromium/chrome/browser/searchwidget/SearchWidgetProviderActivity.java @@ -1,30 +1,33 @@ /** - * Copyright (c) 2022 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at https://mozilla.org/MPL/2.0/. + * Copyright (c) 2022 The Brave Authors. All rights reserved. This Source Code Form is subject to + * the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with + * this file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - package org.chromium.chrome.browser.searchwidget; import android.app.SearchManager; import android.content.Intent; import org.chromium.base.IntentUtils; -import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityConstants; +import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityClient; public class SearchWidgetProviderActivity extends SearchActivity { @Override public void onNewIntent(Intent intent) { Intent newIntent = new Intent(); if (IntentUtils.safeGetStringExtra(intent, SearchManager.QUERY) != null) { - newIntent.putExtra(SearchManager.QUERY, + newIntent.putExtra( + SearchManager.QUERY, IntentUtils.safeGetStringExtra(intent, SearchManager.QUERY)); } - if (intent.getAction().equals(SearchActivityConstants.ACTION_START_TEXT_SEARCH)) { - newIntent.setAction(SearchActivityConstants.ACTION_START_TEXT_SEARCH); + int searchType = + IntentUtils.safeGetInt( + intent.getExtras(), SearchActivityUtils.EXTRA_SEARCH_TYPE, -1); + if (searchType == SearchActivityClient.SearchType.TEXT) { + newIntent.putExtra(SearchActivityUtils.EXTRA_SEARCH_TYPE, searchType); } + super.onNewIntent(newIntent); } } diff --git a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java index 11f3256a0932..87d82864a6f7 100644 --- a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java +++ b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java @@ -49,10 +49,12 @@ import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.searchwidget.SearchActivity; +import org.chromium.chrome.browser.searchwidget.SearchActivityUtils; +import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider; import org.chromium.chrome.browser.settings.BraveSearchEngineUtils; import org.chromium.chrome.browser.suggestions.tile.Tile; import org.chromium.chrome.browser.ui.favicon.FaviconUtils; -import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityConstants; +import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityClient; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager.SearchActivityPreferences; import org.chromium.chrome.browser.widget.quickactionsearchandbookmark.utils.BraveSearchWidgetUtils; @@ -421,13 +423,19 @@ private static PendingIntent createIntent(@NonNull Context context, @NonNull Str } private static PendingIntent createIntent(@NonNull Context context, boolean startVoiceSearch) { + SearchActivityClient client = new SearchActivityUtils(); Intent searchIntent = - new Intent(startVoiceSearch ? SearchActivityConstants.ACTION_START_VOICE_SEARCH - : SearchActivityConstants.ACTION_START_TEXT_SEARCH); + client.createIntent( + context, + SearchActivityClient.IntentOrigin.SEARCH_WIDGET, + null, + startVoiceSearch + ? SearchActivityClient.SearchType.VOICE + : SearchActivityClient.SearchType.TEXT); + + searchIntent.putExtra(SearchWidgetProvider.EXTRA_FROM_SEARCH_WIDGET, true); searchIntent.setComponent(new ComponentName(context, SearchActivity.class)); searchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - searchIntent.putExtra( - SearchActivityConstants.EXTRA_BOOLEAN_FROM_QUICK_ACTION_SEARCH_WIDGET, true); return createPendingIntent(context, searchIntent); } @@ -437,8 +445,7 @@ private static PendingIntent createIncognitoIntent(Context context) { trustedIncognitoIntent.putExtra(IntentHandler.EXTRA_INVOKED_FROM_APP_WIDGET, true); trustedIncognitoIntent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NEW_DOCUMENT); - trustedIncognitoIntent.putExtra( - SearchActivityConstants.EXTRA_BOOLEAN_FROM_QUICK_ACTION_SEARCH_WIDGET, true); + trustedIncognitoIntent.putExtra(SearchWidgetProvider.EXTRA_FROM_SEARCH_WIDGET, true); return createPendingIntent(context, trustedIncognitoIntent); } From 8e34fbb8dd5f776c8534a592b1cceae72033120d Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Thu, 21 Mar 2024 16:55:14 -0400 Subject: [PATCH 102/130] [Android] Removed unused string --- browser/ui/android/strings/android_chrome_strings.grd | 3 --- 1 file changed, 3 deletions(-) diff --git a/browser/ui/android/strings/android_chrome_strings.grd b/browser/ui/android/strings/android_chrome_strings.grd index e0018f800de3..cc68aaca9597 100644 --- a/browser/ui/android/strings/android_chrome_strings.grd +++ b/browser/ui/android/strings/android_chrome_strings.grd @@ -2205,9 +2205,6 @@ Your Brave account may have other forms of browsing history like searches and ac Settings - - Apps - Payment methods, offers, and addresses using Google Pay From 88f5691ac3dd0ba7c953f61691b2dc0c82fdace0 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 22 Mar 2024 11:24:01 -0300 Subject: [PATCH 103/130] `URLLoaderThrottle::Delegate::PauseReadingBodyFromNet` deleted This functions were overriden with crashing non-implemented macros on a mock. Chromium change: https://chromium.googlesource.com/chromium/src/+/7030755490ad2bd720402ebc93d3e9de8b592bdc commit 7030755490ad2bd720402ebc93d3e9de8b592bdc Author: Hiroshige Hayashizaki Date: Tue Feb 20 22:24:02 2024 +0000 Remove URLLoaderThrottle::Delegate::PauseReadingBodyFromNet This CL removes PauseReadingBodyFromNet and ResumeReadingBodyFromNet methods from URLLoaderThrottle::Delegate. They were introduced by https://crrev.com/c/679612, and not used anymore after https://crrev.com/c/5121947. Bug: 325314722 --- .../renderer/ai_chat_resource_sniffer_throttle_unittest.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/components/ai_chat/renderer/ai_chat_resource_sniffer_throttle_unittest.cc b/components/ai_chat/renderer/ai_chat_resource_sniffer_throttle_unittest.cc index 19447711d2c0..b8acadf2bc64 100644 --- a/components/ai_chat/renderer/ai_chat_resource_sniffer_throttle_unittest.cc +++ b/components/ai_chat/renderer/ai_chat_resource_sniffer_throttle_unittest.cc @@ -123,8 +123,6 @@ class MockDelegate : public blink::URLLoaderThrottle::Delegate { updated_response_head_ = std::move(new_response_head); body_ = std::move(body); } - void PauseReadingBodyFromNet() override { NOTIMPLEMENTED(); } - void ResumeReadingBodyFromNet() override { NOTIMPLEMENTED(); } void InterceptResponse( mojo::PendingRemote new_loader, mojo::PendingReceiver From 5f52a53c81d6123981490a32c09b67cd11c8c605 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Fri, 22 Mar 2024 18:16:47 -0400 Subject: [PATCH 104/130] Disables RedirectHeuristicTabHelper. The upstream code crashes because we disable kDIPS and RedirectHeuristicTabHelper doesn't expect dips_service_ to be null. Crashes a number of EphemeralStorageDisabledTest and EphemeralStorageTest tests: EphemeralStorageDisabledTest.CookiesAllowedRemotePageNewSession/0 (..\..\brave\browser\ephemeral_storage\ephemeral_storage_qa_browsertest.cc:1067) EphemeralStorageDisabledTest.CookiesAllowedRemotePageNewSession/1 (..\..\brave\browser\ephemeral_storage\ephemeral_storage_qa_browsertest.cc:1067) EphemeralStorageDisabledTest.CookiesAllowedRemotePageSameSession/0 (..\..\brave\browser\ephemeral_storage\ephemeral_storage_qa_browsertest.cc:1051) EphemeralStorageDisabledTest.CookiesAllowedRemotePageSameSession/1 (..\..\brave\browser\ephemeral_storage\ephemeral_storage_qa_browsertest.cc:1051) EphemeralStorageDisabledTest.CrossSiteCookiesBlockedRemotePageNewSession/0 (..\..\brave\browser\ephemeral_storage\ephemeral_storage_qa_browsertest.cc:883) EphemeralStorageDisabledTest.CrossSiteCookiesBlockedRemotePageNewSession/1 (..\..\brave\browser\ephemeral_storage\ephemeral_storage_qa_browsertest.cc:883) EphemeralStorageDisabledTest.CrossSiteCookiesBlockedRemotePageSameSession/0 (..\..\brave\browser\ephemeral_storage\ephemeral_storage_qa_browsertest.cc:867) EphemeralStorageDisabledTest.CrossSiteCookiesBlockedRemotePageSameSession/1 (..\..\brave\browser\ephemeral_storage\ephemeral_storage_qa_browsertest.cc:867) EphemeralStorageTest.CookiesAllowedRemotePageNewSession/0 (..\..\brave\browser\ephemeral_storage\ephemeral_storage_qa_browsertest.cc:749) EphemeralStorageTest.CookiesAllowedRemotePageNewSession/1 (..\..\brave\browser\ephemeral_storage\ephemeral_storage_qa_browsertest.cc:749) EphemeralStorageTest.CookiesAllowedRemotePageSameSession/0 (..\..\brave\browser\ephemeral_storage\ephemeral_storage_qa_browsertest.cc:723) EphemeralStorageTest.CookiesAllowedRemotePageSameSession/1 (..\..\brave\browser\ephemeral_storage\ephemeral_storage_qa_browsertest.cc:723) Chromium change: https://source.chromium.org/chromium/chromium/src/+/17ee54a2d6bcb412bc4b0e357b0374473a36e79f commit 17ee54a2d6bcb412bc4b0e357b0374473a36e79f Author: Ryan Tarpine Date: Wed Feb 21 15:41:16 2024 +0000 [DIPS] Move Redirect Heuristic into its own class. This moves the redirect heuristic out of DIPSWebContentsObserver to a new class, RedirectHeuristicTabHelper, which is also a RedirectChainDetector::Observer. To keep the diff small, I made the minimal changes to the browser tests to allow them to be moved, but left them in dips_bounce_detector_browsertest.cc. A future CL will move them to //chrome/browser/tpcd/heuristics as well. Bug: 40286530, 40883201 --- .../redirect_heuristic_tab_helper.cc | 16 +++++++++ .../redirect_heuristic_tab_helper.h | 35 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 chromium_src/chrome/browser/tpcd/heuristics/redirect_heuristic_tab_helper.cc create mode 100644 chromium_src/chrome/browser/tpcd/heuristics/redirect_heuristic_tab_helper.h diff --git a/chromium_src/chrome/browser/tpcd/heuristics/redirect_heuristic_tab_helper.cc b/chromium_src/chrome/browser/tpcd/heuristics/redirect_heuristic_tab_helper.cc new file mode 100644 index 000000000000..256ed83e8ded --- /dev/null +++ b/chromium_src/chrome/browser/tpcd/heuristics/redirect_heuristic_tab_helper.cc @@ -0,0 +1,16 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#include "chrome/browser/tpcd/heuristics/redirect_heuristic_tab_helper.h" + +#define RedirectHeuristicTabHelper RedirectHeuristicTabHelper_ChromiumImpl +#include "src/chrome/browser/tpcd/heuristics/redirect_heuristic_tab_helper.cc" +#undef RedirectHeuristicTabHelper + +WEB_CONTENTS_USER_DATA_KEY_IMPL(RedirectHeuristicTabHelper); + +RedirectHeuristicTabHelper::RedirectHeuristicTabHelper( + content::WebContents* web_contents) + : content::WebContentsUserData(*web_contents) {} diff --git a/chromium_src/chrome/browser/tpcd/heuristics/redirect_heuristic_tab_helper.h b/chromium_src/chrome/browser/tpcd/heuristics/redirect_heuristic_tab_helper.h new file mode 100644 index 000000000000..ed3855daaaba --- /dev/null +++ b/chromium_src/chrome/browser/tpcd/heuristics/redirect_heuristic_tab_helper.h @@ -0,0 +1,35 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#ifndef BRAVE_CHROMIUM_SRC_CHROME_BROWSER_TPCD_HEURISTICS_REDIRECT_HEURISTIC_TAB_HELPER_H_ +#define BRAVE_CHROMIUM_SRC_CHROME_BROWSER_TPCD_HEURISTICS_REDIRECT_HEURISTIC_TAB_HELPER_H_ + +#define RedirectHeuristicTabHelper RedirectHeuristicTabHelper_ChromiumImpl +#define MaybeRecordRedirectHeuristic virtual MaybeRecordRedirectHeuristic + +#include "src/chrome/browser/tpcd/heuristics/redirect_heuristic_tab_helper.h" // IWYU pragma: export +#undef MaybeRecordRedirectHeuristic +#undef RedirectHeuristicTabHelper + +// Disable RedirectHeuristicTabHelper functionality since we disable kDIPS, so +// the upstream code would not work (and crash because it doesn't check that +// dips_service_ can be a null). +class RedirectHeuristicTabHelper + : public content::WebContentsUserData { + public: + static std::set AllSitesFollowingFirstParty( + content::WebContents* web_contents, + const GURL& first_party_url) { + return {}; + } + + private: + explicit RedirectHeuristicTabHelper(content::WebContents* web_contents); + // So WebContentsUserData::CreateForWebContents() can call the constructor. + friend class content::WebContentsUserData; + WEB_CONTENTS_USER_DATA_KEY_DECL(); +}; + +#endif // BRAVE_CHROMIUM_SRC_CHROME_BROWSER_TPCD_HEURISTICS_REDIRECT_HEURISTIC_TAB_HELPER_H_ From 0acdf5a6e49a36a99632726ef38da4d022471105 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Mon, 25 Mar 2024 11:57:15 -0400 Subject: [PATCH 105/130] Disables crashing upstream unit tests. --- test/filters/unit_tests.filter | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/test/filters/unit_tests.filter b/test/filters/unit_tests.filter index 82058425221d..3f1cffb2eaf9 100644 --- a/test/filters/unit_tests.filter +++ b/test/filters/unit_tests.filter @@ -8,6 +8,7 @@ # These tests crash due to TestingBraveBrowserProcess::greaselion_download_service() # having NOTREACHED which causes an immediate crash # https://github.com/brave/brave-browser/issues/25726 +-AddressBubblesControllerTest.* -All/AppLauncherHandlerTest.HandleClosedWhileUninstallingExtension/OSIntegrationSubManagers_Disabled -All/AppLauncherHandlerTest.HandleClosedWhileUninstallingExtension/OSIntegrationSubManagers_Enabled -All/AppLauncherHandlerTest.HandleClosedWhileUninstallingExtension/OSIntegrationSubManagers_SaveStateToDB @@ -27,10 +28,12 @@ -All/ExtensionContextMenuModelWithUserHostControlsTest.PageAccessItemsVisibility_PolicyInstalled/* -All/ExtensionContextMenuModelWithUserHostControlsTest.PolicyInstalledEntryVisibilityBasedOnSiteSettings/* -All/ExtensionContextMenuModelWithUserHostControlsTest.TestClickingPageAccessPermissionsPage/* +-All/ExtensionContextMenuModelWithUserHostControlsTest.UninstallEntryVisibility/* -All/HighEfficiencyBubbleViewMemorySavingsImprovementsTest.ShowsCorrectLabelsForDifferentSavings/* -All/ManagedUserProfileNoticeHandleProceedTest.HandleProceed/* -All/MemorySaverBubbleViewMemorySavingsImprovementsTest.ShowsCorrectLabelsForDifferentSavings/* -All/MemorySaverBubbleViewTest.ShowsCorrectLabelsForDifferentSavings/* +-All/OidcAuthResponseCaptureNavigationThrottleTest.* -All/PageInfoCookiesContentView3pcdCookieToggleTest.* -All/PageInfoCookiesContentView3pcdTitleAndDescriptionTest.* -All/PageInfoCookiesContentViewTest.* @@ -90,6 +93,7 @@ -DownloadToolbarButtonViewTest.* -EditAddressProfileDialogControllerImplTest.* -EnterpriseProfileWelcomeHandleTest.* +-ExplicitBrowserSigninPeopleHandlerSignoutTest.Signout -ExpsRegistrationSuccessObserverTest.IPHNotShownForChromeUrls -ExtensionActionViewControllerFeatureUnitTest.* -ExtensionActionViewControllerFeatureWithPermittedSitesUnitTest.GetHoverCardStatus @@ -119,6 +123,7 @@ -MandatoryReauthBubbleControllerImplTest.SuccessfullyInvokesAcceptCallback -MandatoryReauthBubbleControllerImplTest.SuccessfullyInvokesCancelCallback -MandatoryReauthBubbleControllerImplTest.SuccessfullyInvokesCloseCallback +-MediaViewControllerBaseTest/MediaViewControllerBaseTestParameterized.* -MediaViewControllerBaseTest.OnDeviceListChanged_* -MediaViewControllerBaseTest.UpdateComboboxEnabledStateTest -MemorySaverBubbleViewMemorySavingsImprovementsTest.* @@ -153,6 +158,7 @@ -ProfileTokenNavigationThrottleTest.* -ProfileTokenWebSigninInterceptorTest.* -ReadAnythingCoordinatorScreen2xDataCollectionModeTest.OnBrowserSetLastActive_SidePanelIsVisible +-SaveCardBubbleControllerImplTestWithCvCStorageAndFilling.* -SaveCardBubbleControllerImplTestWithLoadingAndConfirmation.Metrics_* -SaveCardBubbleControllerImplTestWithLoadingAndConfirmation.Upload_OnSave_HideIconAndBubbleAfterUpload -SaveCardBubbleControllerImplTestWithLoadingAndConfirmation.VisibilityChange_* @@ -172,6 +178,7 @@ -UserNotesPageHandlerTest.CurrentTabUrlChangedWithTabStripModelChanged -VideoStreamCoordinatorTest.ChooseTheClosetFormat -VideoStreamCoordinatorTest.ConnectToFrameHandlerAndReceiveFrames +-VirtualCardEnrollBubbleControllerImplBubbleViewTest.Metric_CloseConfirmationBubble_CardNotEnrolled -VirtualCardEnrollBubbleControllerImplBubbleViewTest.ShowBubble* # These tests crash due to unregistered pref @@ -377,6 +384,7 @@ -PermissionPromptBubbleTwoOriginsViewTest.DiesIfPermissionNotAllowed -PermissionPromptBubbleTwoOriginsViewTest.LinkIsPresent -PermissionPromptBubbleTwoOriginsViewTest.TitleMentionsTwoOriginsAndPermission +-SavedTabGroupBar/SavedTabGroupBarUnitTest.* -SavedTabGroupKeyedServiceUnitTest.* -TabLifecycleUnitTest.CannotDiscardPictureInPictureWindow -TabOrganizationServiceTest.* @@ -603,6 +611,11 @@ -All/OpaqueBrowserFrameViewLayoutTest.WindowWithTitleAndIcon/Maximized -DownloadBubbleRowViewInfoTest.InterruptedInfo +# This test crashes because brave.sidebar.side_panel_width isn't registered by +# SidebarService for the test. +-ExtensionsToolbarButtonFeatureUnitTest.UpdateState +-MemorySaverChipViewTest.MoreThan2GbMemorySavings + # Tests below this point have not been diagnosed or had issues created yet. -AboutFlagsHistogramTest.* -AboutFlagsTest.* From c4cfc5dfa9b9f9133feeff6fe72147df747b15f3 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Mon, 25 Mar 2024 13:45:13 -0400 Subject: [PATCH 106/130] Disables failing upstream unit tests. --- test/filters/unit_tests-linux.filter | 8 +++----- test/filters/unit_tests.filter | 13 +++++++++++++ 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/test/filters/unit_tests-linux.filter b/test/filters/unit_tests-linux.filter index b01ec4f9b13e..1a730626db5b 100644 --- a/test/filters/unit_tests-linux.filter +++ b/test/filters/unit_tests-linux.filter @@ -20,11 +20,9 @@ # These fail because OsIntegrationTestOverride::GetShortcutPath and # OsIntegrationTestOverride::IsRunOnOsLoginEnabled on Linux hard-codes "chrome-" # into the shortcut name but our shortcut starts with "brave-". --All/InstallAppLocallyCommandTest.BasicBehavior/OSIntegrationSubManagers_Disabled --All/InstallAppLocallyCommandTest.BasicBehavior/OSIntegrationSubManagers_SaveStateAndExecute --All/InstallAppLocallyCommandTest.BasicBehavior/OSIntegrationSubManagers_SaveStateToDB --All/RunOnOsLoginSubManagerExecuteTest.* --All/ShortcutSubManagerExecuteTest.* +-RunOnOsLoginSubManagerExecuteTest.* +-ShortcutSubManagerExecuteTest.* +-InstallAppLocallyCommandTest.BasicBehavior -WebAppPolicyForceUnregistrationTest.* -ChromeBrowsingDataRemoverDelegateTest.* diff --git a/test/filters/unit_tests.filter b/test/filters/unit_tests.filter index 3f1cffb2eaf9..10d5b1c0c059 100644 --- a/test/filters/unit_tests.filter +++ b/test/filters/unit_tests.filter @@ -420,6 +420,7 @@ # These tests fail because IdentityManager's primary account has no kSignin # consent level -EnclaveManagerTest.PrimaryUserChange +-PeopleHandlerDiceTest.StoredAccountsList -PeopleHandlerDiceUnifiedConsentTest.StoredAccountsList -SigninManagerSupervisedUserTest.SignoutOnCookiesDeletedAllowed -SigninManagerSupervisedUserTest.SignoutOnCookiesDeletedNotAllowed @@ -470,7 +471,10 @@ -ClientSideDetectionHostTest.* -DownloadBubblePrefsTest.EnhancedProtectionEnabled -EnhancedProtectionDownloadTest.* +-ImmediateDeepScanTest.ESBRequestScan +-ImmediateDeepScanTest.EncryptedArchive -NotificationMetricsLoggerTest.PersistentNotificationSize +-SafeBrowsingServiceTest.WhenUserIsInEPNormallyReturnsFalse -SafetyHubHandlerTest.HandleGetSafeBrowsingCardData_EnabledEnhanced -SafetyHubHandlerTest.HandleGetSafeBrowsingState_EnabledEnhanced @@ -616,6 +620,15 @@ -ExtensionsToolbarButtonFeatureUnitTest.UpdateState -MemorySaverChipViewTest.MoreThan2GbMemorySavings +# These tests fail because we disable kPermissionStorageAccessAPI +-PageInfoTest.NonFactoryDefaultAndRecentlyChangedPermissionsShown +-PageInfoTest.OnPermissionsChanged +-PageInfoTest.ShowAutograntedRWSPermissions +-PageInfoTest.StorageAccessGrantsAreFiltered +-PageInfoTest.StorageAccessGrantsDisplayedWhenDefaultBlocked +-StorageAccessAPIServiceImplTest.PermissionDenial_NotRenewed +-StorageAccessAPIServiceImplTest.RenewPermissionGrant + # Tests below this point have not been diagnosed or had issues created yet. -AboutFlagsHistogramTest.* -AboutFlagsTest.* From e7e2477ac38d630ba3cce1834f765ee6d88cae37 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Mon, 25 Mar 2024 18:18:29 -0400 Subject: [PATCH 107/130] Disables crashing upstream browser tests. --- test/filters/browser_tests.filter | 36 +++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/test/filters/browser_tests.filter b/test/filters/browser_tests.filter index 75964dc871ab..f36ec87d0ff3 100644 --- a/test/filters/browser_tests.filter +++ b/test/filters/browser_tests.filter @@ -156,6 +156,7 @@ -LoginProxyBrowserTest.ProxyAuthHTTPS -NotificationPermissionBrowserTest.DisablePermissionRecordsUkms -NotificationPermissionBrowserTest.NonPersistentNotificationRecordsUkms +-WebHidWebViewTest.PermissionsAPIEmbedderHasAccessCloseWindowHid # This test fails with the message: # Terminating render process for bad Mojo message: Received bad user message: @@ -428,6 +429,9 @@ # signin::ConsentLevel::kSignin -All/SupervisedUserURLFilterPrerenderingTest.OnURLChecked/* -All/SupervisedUserURLFilterTest.* +-ContextMenuForSupervisedUsersBrowserTest.SaveLinkAsEntryIsDisabledForUrlsBlockedByAsyncCheckerForChild +-ContextMenuForSupervisedUsersBrowserTest.SaveLinkAsEntryIsDisabledForUrlsNotAccessibleForChild +-ContextMenuForSupervisedUsersBrowserTest.SaveLinkAsEntryIsEnabledForUrlsAllowedByAsyncCheckerForChild -LocalWebApprovalsEnabled/SupervisedUserIframeFilterTest.*/* -PasswordStatusCheckServiceBaseTest.CheckTimeUpdatedAfterRunScheduledInThePast -PowerBookmarkBubbleViewBrowserTest.InvokeUi_bookmark_details_on_trackable_product @@ -567,6 +571,13 @@ -All/DeclarativeNetRequestAllowAllRequestsBrowserTest.TestPostNavigationMatched/* -All/DeclarativeNetRequestAllowAllRequestsBrowserTest.TestPostNavigationNotMatched/* +# These tests fail because of the shields extension. The tests don't expect +# permission manager to get a request from +# chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/ before the callback is +# set in the tests. +-PermissionManagerBrowserTest.ServiceWorkerPermissionAfterRendererCrash +-PermissionManagerBrowserTest.ServiceWorkerPermissionQueryIncognitoClose + # Tests crash due to a vector allocation failure. This seems to be happening # because the lambda to which the vector is passed is being called after the # test's scope has already been left. @@ -756,6 +767,9 @@ # These tests fail because of the following CHECK in identity_test_utils.cc: # identity_manager->AreRefreshTokensLoaded() +-AvatarToolbarButtonEnterpriseBadgingBrowserTest.WorkBadgeNonTransientModeAndSyncPause +-AvatarToolbarButtonEnterpriseBadgingBrowserTest.WorkBadgeTransientModeAndSyncPause +-AvatarToolbarButtonWithExplicitBrowserSigninBrowserTest.SigninPaused -BrowsingDataRemoverWithPasswordsAccountStorageBrowserTest.ClearSiteData -BrowsingDataRemoverWithPasswordsAccountStorageBrowserTest.ClearingCookiesAlsoClearsPasswordAccountStorageOptIn -BrowsingDataRemoverWithPasswordsAccountStorageBrowserTest.ClearingCookiesWithFilterAlsoClearsPasswordAccountStorageOptIn @@ -777,6 +791,7 @@ -GaiaRemoteConsentFlowParamBrowserTest.* -PasswordRevampedManagementBubbleBrowserTest.InvokeUi_ManagePasswordBubbleWithRevampedDesign/* -PlusAddressServiceBrowserTest.VerifySupportsPlusAddresses +-PrivacyBudgetMetaExperimentBrowserTestWithUkmRecording.ReportsEncounteredSurfacesAndDocumentCreatedMetrics -SyncConfirmationUIDialogPixelTest.InvokeUi_default/* -SyncConfirmationUIWindowPixelTest.InvokeUi_default/* @@ -784,25 +799,27 @@ # !primary_account_info.IsEmpty() -All/OptimizationGuideKeyedServiceBrowserWithModelExecutionFeatureDisabledTest.SettingsNotVisible/* -All/SigninInterceptFirstRunExperienceDialogWithUnoParamBrowserTest.* +-All/SupervisedUserExtensionWebstorePrivateApiTest.* -All/SupervisedUserRegionalURLFilterTest.RegionIsAdded/* --All/SupervisedUserServiceBrowserTest.LocalPolicies/Regular --All/SupervisedUserServiceBrowserTest.LocalPolicies/Supervised --All/SupervisedUserServiceBrowserTest.ProfileName/Regular --All/SupervisedUserServiceBrowserTest.ProfileName/Supervised +-All/SupervisedUserServiceBrowserTest.LocalPolicies/* +-All/SupervisedUserServiceBrowserTest.ProfileName/* -All/SupervisionRemovalExtensionTest.RemoveCustodianApprovalRequirement/* -IpProtectionAuthTokenProviderBrowserTest.NetworkServiceCanRequestTokens -IpProtectionConfigProviderBrowserTest.BackoffTimeResetAfterProfileAvailabilityChange -IpProtectionConfigProviderBrowserTest.ExpectedReceiverSetStateAfterNetworkServiceCrash -IpProtectionConfigProviderBrowserTest.NetworkServiceCanRequestTokens +-IpProtectionConfigProviderIdentityBrowserTest.BackoffTimeResetAfterProfileAvailabilityChange -IpProtectionConfigProviderUserSettingBrowserTest.OnIpProtectionEnabledChanged -KAnonymityServiceClientBrowserTest.TestJoin -KAnonymityServiceClientBrowserTest.TestQuery +-ModelExecutionComposeLoggingDisabledTest.LoggingForFeatureNotEnabled -ModelExecutionNewFeaturesEnabledAutomaticallyTest.NewFeaturesEnabledWhenMainToggleEnabled -ModelExecutionValidationBrowserTest.ModelExecutionFailsServerFailure -ModelExecutionValidationBrowserTest.ModelExecutionSuccess -OptimizationGuideKeyedServiceEnterpriseBrowserTest.CheckUploadWithEnterprisePolicy -PersonalizedHintsFetcherBrowserTest.NoUserSignIn -PersonalizedHintsFetcherBrowserTest.UserSignedIn +-PlusAddressContextMenuManagerTest.* -PlusAddressCreationDialogTest.* -SupervisedUserExtensionWebstorePrivateApiTest.InstallBlockedWhenPermissionsToggleOff -SupervisedUserExtensionWebstorePrivateApiTest.NoParentPermissionRequiredForTheme @@ -900,6 +917,10 @@ -ModelExecutionEnterprisePolicyBrowserTest.DisableThenEnableWallpaperSearch -ModelExecutionEnterprisePolicyBrowserTest.EnableWithoutLogging -ModelExecutionInternalsPageBrowserTest.LoggedInInternalsPage +-PageContentAnnotationsServiceBrowserTest.* +-PageContentAnnotationsServiceNoHistoryTest.* +-PageContentAnnotationsServiceRemoteMetadataBrowserTest.* +-PageContentAnnotationsServiceSalientImageMetadataBrowserTest.* -PageInfoBubbleViewAboutThisSiteAllowNonMsbbBrowserTest.AboutThisSiteWithoutOptinAndWithNonMsbbUsers -SegmentationPlatformTest.NullModelUpdateForUnknownModelShouldBeNoOp -SegmentationPlatformTest.ReceiveModelUpdateFromOptimizationGuide @@ -1292,6 +1313,7 @@ -IsolatedWebAppApplyUpdateCommandBrowserTest.* -IsolatedWebAppExtensionBrowserTest.* -IsolatedWebAppInstallerBrowserTest.* +-IsolatedWebAppInstallerViewUiPixelTest.* -IsolatedWebAppUninstallBrowserTest.* -IsolatedWebAppUpdatePrepareAndStoreCommandBrowserTest.* -IsolatedWebAppURLLoaderFactoryBrowserTest.* @@ -1301,6 +1323,12 @@ -SubAppsPermissionsPolicyBrowserTest.* -SubAppsServiceImplBrowserTest.* +# These tests fail because we disable kPermissionStorageAccessAPI +-StorageAccessAPIBrowserTest.* + +# This test fails because we disable FileSystemAccessAPI +-PageInfoBubbleViewBrowserTest.InteractedWithFileSystemSubpage + # Tests below this point have not been diagnosed or had issues created yet. -_/WebrtcLoggingPrivateApiStartEventLoggingTestFeatureAndPolicyEnabled.* -AccessCodeCastHandlerBrowserTest.* From e0f8a1e720fdfbef3975a69ce3f413f0606b4fed Mon Sep 17 00:00:00 2001 From: mkarolin Date: Tue, 26 Mar 2024 09:56:29 -0400 Subject: [PATCH 108/130] Fixes DCHECK crash in SharedPinnedTabServiceBrowserTest.ActivatePinnedTab The crash was happening because on closing the last browser we were adding the cached shared pinned contents to it via AddRestoredTabFromCache with the select param set to true. Having select set to true lead to activating the tab and SharedPinnedTabService::OnBrowserSetLastActive getting called, which DCHECKs because the activating browser has already been removed from browsers_ list. The solution here is to not set select to true when restoring the pinned tab on the last browser closing. --- browser/ui/tabs/shared_pinned_tab_service.cc | 12 ++++++++---- browser/ui/tabs/shared_pinned_tab_service.h | 4 +++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/browser/ui/tabs/shared_pinned_tab_service.cc b/browser/ui/tabs/shared_pinned_tab_service.cc index e91aa9f7f02b..3ac3de8792f6 100644 --- a/browser/ui/tabs/shared_pinned_tab_service.cc +++ b/browser/ui/tabs/shared_pinned_tab_service.cc @@ -235,7 +235,8 @@ void SharedPinnedTabService::OnBrowserClosing(Browser* browser) { // attach them to this |browser| so that they could be cleaned up. for (auto i = 0u; i < pinned_tab_data_.size(); i++) { if (!pinned_tab_data_.at(i).contents_owner_model) { - MoveSharedWebContentsToBrowser(browser, i); + MoveSharedWebContentsToBrowser(browser, i, + /* is_last_closing_browser */ true); } } } @@ -665,8 +666,10 @@ void SharedPinnedTabService::MoveSharedWebContentsToActiveBrowser(int index) { MoveSharedWebContentsToBrowser(last_active_browser_, index); } -void SharedPinnedTabService::MoveSharedWebContentsToBrowser(Browser* browser, - int index) { +void SharedPinnedTabService::MoveSharedWebContentsToBrowser( + Browser* browser, + int index, + bool is_last_closing_browser) { auto* tab_strip_model = browser->tab_strip_model(); DCHECK_LT(index, tab_strip_model->count()); @@ -714,7 +717,8 @@ void SharedPinnedTabService::MoveSharedWebContentsToBrowser(Browser* browser, chrome::AddRestoredTabFromCache( std::move(unique_shared_contents), browser, index, /* group= */ {}, - /* select */ true, /* pin= */ true, /* user_agent_override= */ {}, + /* select */ !is_last_closing_browser, /* pin= */ true, + /* user_agent_override= */ {}, /* extra_data= */ {}); // In order to prevent browser from being closed, we should close the dummy diff --git a/browser/ui/tabs/shared_pinned_tab_service.h b/browser/ui/tabs/shared_pinned_tab_service.h index 702f19685638..673f1214e962 100644 --- a/browser/ui/tabs/shared_pinned_tab_service.h +++ b/browser/ui/tabs/shared_pinned_tab_service.h @@ -102,7 +102,9 @@ class SharedPinnedTabService : public KeyedService, void SynchronizeNewBrowser(Browser* browser); void MoveSharedWebContentsToActiveBrowser(int index); - void MoveSharedWebContentsToBrowser(Browser* browser, int index); + void MoveSharedWebContentsToBrowser(Browser* browser, + int index, + bool is_last_closing_browser = false); std::unique_ptr CreateDummyWebContents( content::WebContents* shared_contents); From 15b6a67b00cbdb8085d76c92790d65223ea7c5ee Mon Sep 17 00:00:00 2001 From: mkarolin Date: Tue, 26 Mar 2024 16:31:01 -0400 Subject: [PATCH 109/130] Fixes VerticalTabStripRootViewBrowserTest.* tests. --- ...ertical_tab_strip_root_view_browsertest.cc | 67 +++++++++---------- .../ui/views/frame/browser_root_view.h | 16 +++++ 2 files changed, 47 insertions(+), 36 deletions(-) create mode 100644 chromium_src/chrome/browser/ui/views/frame/browser_root_view.h diff --git a/browser/ui/views/frame/vertical_tab_strip_root_view_browsertest.cc b/browser/ui/views/frame/vertical_tab_strip_root_view_browsertest.cc index 0c013937a081..1682142a0831 100644 --- a/browser/ui/views/frame/vertical_tab_strip_root_view_browsertest.cc +++ b/browser/ui/views/frame/vertical_tab_strip_root_view_browsertest.cc @@ -62,17 +62,37 @@ class VerticalTabStripRootViewBrowserTest : public InProcessBrowserTest { } return nullptr; } -}; -#if BUILDFLAG(IS_WIN) -// This test is flaky on Windows. -#define MAYBE_DragAfterCurrentTab DISABLED_DragAfterCurrentTab -#else -#define MAYBE_DragAfterCurrentTab DragAfterCurrentTab -#endif + void StartAndFinishDrag(const ui::OSExchangeData& data, + const gfx::Point& location, + ui::mojom::DragOperation& out_drag_op) { + ui::DropTargetEvent event(data, gfx::PointF(location), + gfx::PointF(location), + ui::DragDropTypes::DRAG_COPY); + VerticalTabStripRootView* root_view = vtab_strip_root_view(); + EXPECT_NE(nullptr, root_view); + + base::RunLoop run_loop; + root_view->SetOnFilteringCompleteClosureForTesting(run_loop.QuitClosure()); + root_view->OnDragEntered(event); + + // At this point, the drag information will have been set, and a background + // task will have been posted to process the dragged URLs + // (`GetURLMimeTypes()` -> `FilterURLs()`). Ensure that all background + // processing is complete before checking the drag operation or invoking the + // drag callback. + run_loop.Run(); + + EXPECT_NE(ui::DragDropTypes::DRAG_NONE, root_view->OnDragUpdated(event)); + + auto drop_cb = root_view->GetDropCallback(event); + std::move(drop_cb).Run(event, out_drag_op, + /*drag_image_layer_owner=*/nullptr); + } +}; IN_PROC_BROWSER_TEST_F(VerticalTabStripRootViewBrowserTest, - MAYBE_DragAfterCurrentTab) { + DragAfterCurrentTab) { ToggleVerticalTabStrip(); ASSERT_TRUE(tabs::utils::ShouldShowVerticalTabs(browser())); @@ -90,17 +110,8 @@ IN_PROC_BROWSER_TEST_F(VerticalTabStripRootViewBrowserTest, // To drag after current tab. location.Offset(0, current_tab->height()); - ui::DropTargetEvent event(data, gfx::PointF(location), gfx::PointF(location), - ui::DragDropTypes::DRAG_COPY); - - VerticalTabStripRootView* root_view = vtab_strip_root_view(); - - EXPECT_NE(root_view, nullptr); - root_view->OnDragUpdated(event); - auto drop_cb = root_view->GetDropCallback(event); ui::mojom::DragOperation output_drag_op = ui::mojom::DragOperation::kNone; - std::move(drop_cb).Run(event, output_drag_op, - /*drag_image_layer_owner=*/nullptr); + StartAndFinishDrag(data, location, output_drag_op); EXPECT_EQ(output_drag_op, ui::mojom::DragOperation::kCopy); EXPECT_EQ(tab_strip_model->count(), 2); @@ -111,14 +122,7 @@ IN_PROC_BROWSER_TEST_F(VerticalTabStripRootViewBrowserTest, .EqualsIgnoringRef(url)); } -#if BUILDFLAG(IS_WIN) -// This test is flaky on Windows. -#define MAYBE_DragOnCurrentTab DISABLED_DragOnCurrentTab -#else -#define MAYBE_DragOnCurrentTab DragOnCurrentTab -#endif -IN_PROC_BROWSER_TEST_F(VerticalTabStripRootViewBrowserTest, - MAYBE_DragOnCurrentTab) { +IN_PROC_BROWSER_TEST_F(VerticalTabStripRootViewBrowserTest, DragOnCurrentTab) { ToggleVerticalTabStrip(); ASSERT_TRUE(tabs::utils::ShouldShowVerticalTabs(browser())); @@ -136,17 +140,8 @@ IN_PROC_BROWSER_TEST_F(VerticalTabStripRootViewBrowserTest, // To drag on the same tab. location.Offset(0, current_tab->height() / 2); - ui::DropTargetEvent event(data, gfx::PointF(location), gfx::PointF(location), - ui::DragDropTypes::DRAG_COPY); - - VerticalTabStripRootView* root_view = vtab_strip_root_view(); - - EXPECT_NE(root_view, nullptr); - root_view->OnDragUpdated(event); - auto drop_cb = root_view->GetDropCallback(event); ui::mojom::DragOperation output_drag_op = ui::mojom::DragOperation::kNone; - std::move(drop_cb).Run(event, output_drag_op, - /*drag_image_layer_owner=*/nullptr); + StartAndFinishDrag(data, location, output_drag_op); EXPECT_EQ(output_drag_op, ui::mojom::DragOperation::kCopy); EXPECT_EQ(tab_strip_model->count(), 1); diff --git a/chromium_src/chrome/browser/ui/views/frame/browser_root_view.h b/chromium_src/chrome/browser/ui/views/frame/browser_root_view.h new file mode 100644 index 000000000000..2f7ba7f6f97d --- /dev/null +++ b/chromium_src/chrome/browser/ui/views/frame/browser_root_view.h @@ -0,0 +1,16 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#ifndef BRAVE_CHROMIUM_SRC_CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_ROOT_VIEW_H_ +#define BRAVE_CHROMIUM_SRC_CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_ROOT_VIEW_H_ + +#define on_filtering_complete_closure_ \ + on_filtering_complete_closure_; \ + friend class VerticalTabStripRootViewBrowserTest + +#include "src/chrome/browser/ui/views/frame/browser_root_view.h" // IWYU pragma: export +#undef on_filtering_complete_closure_ + +#endif // BRAVE_CHROMIUM_SRC_CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_ROOT_VIEW_H_ From c60977e2698a4a1f3b3d67c6d154609475fa2534 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Tue, 26 Mar 2024 20:26:06 -0400 Subject: [PATCH 110/130] Restore vertical alignment of tab icon. Chromium change: https://source.chromium.org/chromium/chromium/src/+/e0918d8228260104dc7f192c4fb727c1302482dc commit e0918d8228260104dc7f192c4fb727c1302482dc Author: David Pennington Date: Thu Mar 14 15:33:16 2024 +0000 fix CheckForExpectedLayoutAndVisibilityOfElements for ChromeRefresh2023 Tab layout changed quite substantially in CR23, therefore the layout tests must be updated to match the new design. Bug: b/41493637 --- chromium_src/chrome/browser/ui/views/tabs/tab.cc | 5 +++++ patches/chrome-browser-ui-views-tabs-tab.cc.patch | 12 ++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/chromium_src/chrome/browser/ui/views/tabs/tab.cc b/chromium_src/chrome/browser/ui/views/tabs/tab.cc index f7f8f7b94f7c..2ac1f8652ea0 100644 --- a/chromium_src/chrome/browser/ui/views/tabs/tab.cc +++ b/chromium_src/chrome/browser/ui/views/tabs/tab.cc @@ -23,6 +23,10 @@ #define BRAVE_UI_VIEWS_TABS_TAB_UPDATE_ICON_VISIBILITY \ showing_close_button_ &= mouse_hovered(); +#define BRAVE_TAB_LAYOUT \ + Center(contents_rect.height(), gfx::kFaviconSize)); \ + if (false) ( + // `UpdateIconVisibility` currently has an early return when the tab view's // height is less than `GetLayoutConstant(TAB_HEIGHT)`. Unfortunately, when in // vertical tabs mode this will prevent the favicon and close button from @@ -37,5 +41,6 @@ #include "src/chrome/browser/ui/views/tabs/tab.cc" #undef GetLayoutConstant +#undef BRAVE_TAB_LAYOUT #undef BRAVE_UI_VIEWS_TABS_TAB_UPDATE_ICON_VISIBILITY #undef BRAVE_UI_VIEWS_TABS_TAB_ALERT_INDICATOR_POSITION diff --git a/patches/chrome-browser-ui-views-tabs-tab.cc.patch b/patches/chrome-browser-ui-views-tabs-tab.cc.patch index 9b3cc83ed7a7..67dad44486c7 100644 --- a/patches/chrome-browser-ui-views-tabs-tab.cc.patch +++ b/patches/chrome-browser-ui-views-tabs-tab.cc.patch @@ -2,7 +2,15 @@ diff --git a/chrome/browser/ui/views/tabs/tab.cc b/chrome/browser/ui/views/tabs/ index 444832f1c6e5fb98cef09887796e8d4cdaba6550..bf3d597c4cb0e2151ed33023d26b46b15f4a3430 100644 --- a/chrome/browser/ui/views/tabs/tab.cc +++ b/chrome/browser/ui/views/tabs/tab.cc -@@ -420,6 +420,7 @@ void Tab::Layout(PassKey) { +@@ -324,6 +324,7 @@ void Tab::Layout(PassKey) { + // Height should go to the bottom of the tab for the crashed tab animation + // to pop out of the bottom. + favicon_bounds.set_y(contents_rect.y() + ++ BRAVE_TAB_LAYOUT + Center(gfx::kFaviconSize, gfx::kFaviconSize)); + if (center_icon_) { + // When centering the favicon, the favicon is allowed to escape the normal +@@ -420,6 +421,7 @@ void Tab::Layout(PassKey) { int title_right = contents_rect.right(); if (showing_alert_indicator_) { title_right = alert_indicator_button_->x() - after_title_padding; @@ -10,7 +18,7 @@ index 444832f1c6e5fb98cef09887796e8d4cdaba6550..bf3d597c4cb0e2151ed33023d26b46b1 } else if (showing_close_button_) { // Allow the title to overlay the close button's empty border padding. title_right = close_x - after_title_padding; -@@ -1088,6 +1089,7 @@ void Tab::UpdateIconVisibility() { +@@ -1088,6 +1090,7 @@ void Tab::UpdateIconVisibility() { } showing_close_button_ = large_enough_for_close_button; From f233ee693f4ca31e6bafb7e68115df14b0d7c909 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Wed, 27 Mar 2024 15:42:04 -0400 Subject: [PATCH 111/130] Disables failing upstream browser tests. --- test/filters/browser_tests.filter | 34 +++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/test/filters/browser_tests.filter b/test/filters/browser_tests.filter index f36ec87d0ff3..525871748101 100644 --- a/test/filters/browser_tests.filter +++ b/test/filters/browser_tests.filter @@ -156,7 +156,9 @@ -LoginProxyBrowserTest.ProxyAuthHTTPS -NotificationPermissionBrowserTest.DisablePermissionRecordsUkms -NotificationPermissionBrowserTest.NonPersistentNotificationRecordsUkms +-WebHidWebViewTest.PermissionsAPIEmbedderHasAccessAllowHid -WebHidWebViewTest.PermissionsAPIEmbedderHasAccessCloseWindowHid +-WebHidWebViewTest.PermissionsAPIEmbedderHasAccessDenyHid # This test fails with the message: # Terminating render process for bad Mojo message: Received bad user message: @@ -382,6 +384,12 @@ -PrivacySandboxSettingsEventReportingBrowserTest/PrivacySandboxSettingsEventReportingBrowserTest.ReportWinDestinationEnrollment/* -PrivacySandboxSettingsEventReportingBrowserTest/PrivacySandboxSettingsEventReportingBrowserTest.ReportResultDestinationEnrollment/* +# These tests fail because we override privacy sandbox settings config +-PrivacySandboxConsentConfirmationTest.ConsentTest/3 +-PrivacySandboxConsentConfirmationTest.ConsentTest/7 +-PrivacySandboxNoticeConfirmationTest.NoticeTest/3 +-PrivacySandboxNoticeConfirmationTest.NoticeTest/7 +-PrivacySandboxNoticeConfirmationTest.NoticeTest/11 # These tests fail because we intentionally disable direct/raw sockets via # policy::policy_prefs::kIsolatedAppsDeveloperModeAllowed. See @@ -736,12 +744,14 @@ -DiceBrowserTestWithWebAuthFlowInBrowserTabOff.DiceExtensionConsent_GetAuthToken -DiceBrowserTestWithWebAuthFlowInBrowserTabOff.NoDiceExtensionConsent_LaunchWebAuthFlow -DiceBrowsingDataRemoverBrowserTest.* +-DiceExplicitSigninBrowserTest.Migration -DiceManageAccountBrowserTest.* -DiceSigninUiUtilBrowserTest.* -DiceWebSigninInterceptionBubbleBrowserTest.* -DiceWebSigninInterceptionBubbleV2BrowserTest.OpenLearnMoreLinkInNewTab -DiceWebSigninInterceptorBrowserTest.* -DiceWebSigninInterceptorEnterpriseBrowserTest.* +-DiceWebSigninInterceptorWithExplicitSigninEnabledBrowserTest.* -DiceWebSigninInterceptorWithUnoDisabledAndPREEnabledBrowserTest.ChromeSignedinWithUnoShouldRevertBackToDefaultWithUnoDisabled -DiceWebSigninInterceptorWithUnoEnabledAndPREDisabledBrowserTest.ChromeSignedInTransitionToUnoEnabled -DiceWebSigninInterceptorWithUnoEnabledBrowserTest.ChromeSigninInterceptAccepted @@ -921,6 +931,7 @@ -PageContentAnnotationsServiceNoHistoryTest.* -PageContentAnnotationsServiceRemoteMetadataBrowserTest.* -PageContentAnnotationsServiceSalientImageMetadataBrowserTest.* +-PageContentAnnotationsServiceValidationBrowserTest.ValidationEnablesService -PageInfoBubbleViewAboutThisSiteAllowNonMsbbBrowserTest.AboutThisSiteWithoutOptinAndWithNonMsbbUsers -SegmentationPlatformTest.NullModelUpdateForUnknownModelShouldBeNoOp -SegmentationPlatformTest.ReceiveModelUpdateFromOptimizationGuide @@ -1174,6 +1185,7 @@ -BreadcrumbManagerTabHelperSecurityStateBrowserTest.BrokenAuthentication # These fail because we disable history_clusters::internal::kJourneys. +-HistoryClustersPolicyTest.HistoryClustersVisible -RenameJourneys/HistoryClustersPolicyTest.HistoryClustersVisible/* # These tests fail because we disable @@ -1197,6 +1209,10 @@ -All/ExtensionTelemetryServiceBrowserTestWithInterceptRemoteHostsContactedInRendererEnabled.DetectsWebRequestFromContentScript/* -All/ExtensionTelemetryServiceBrowserTestWithInterceptRemoteHostsContactedInRendererEnabled.InterceptsRemoteHostContactedSignalInRenderer/* -CheckCompleteAfterNavigationFinish/SafeBrowsingBlockingPageAsyncChecksTimingTest* +-ClientSideDetectionHostPrerenderExclusiveAccessBrowserTest.KeyboardLockClassificationTriggersCSPPPing +-ClientSideDetectionHostPrerenderExclusiveAccessBrowserTest.KeyboardLockTriggersPreclassificationCheck +-ClientSideDetectionHostPrerenderExclusiveAccessBrowserTest.PointerLockClassificationTriggersCSPPPing +-ClientSideDetectionHostPrerenderExclusiveAccessBrowserTest.PointerLockTriggersPreClassificationCheck -ExtensionTelemetryServiceBrowserTest.* -ExtensionTelemetryServiceBrowserTestWithInterceptRemoteHostsContactedInRendererEnabled.InterceptsRemoteHostContactedSignalInRenderer @@ -1233,6 +1249,11 @@ # is not in our prepopulated list. -TemplateURLServiceBrowserTest.LoadKeywordData +# These tests hang due to +# https://source.chromium.org/chromium/chromium/src/+/cb2802e which seems to be +# adding an unnecessary second wait that never completes. +-All/ContextMenuBrowserTest.OpenLinkInProfileEntryPresent/LinkPreview* + # These tests fail because of disabled kCookieDeprecationFacilitatedTesting and/ # or TrackingProtectionOnboarding. -AdHeuristicTPCDBrowserTestHeuristicsGrant.CookieAllowed @@ -1244,6 +1265,9 @@ -AdHeuristicTPCDBrowserTestSkipTrialGrant.CookieBlocked -AdHeuristicTPCDBrowserTestTopLevelTrialGrant.CookieAllowed -All/EligibilityServiceBrowserTest.EligibilityChanged_OnboardingServiceNotified/* +-All/EligibilityServiceBrowserTest.EligibilityChanged_NetworkContextUpdated/* +-All/EligibilityServiceBrowserTest.OnboardingChanged_NetworkContextUpdated/* +-EligibilityServiceSilentOnboardingBrowserTest.OnboardingChanged_NetworkContextUpdated -ExperimentManagerImplDisable3PCsSyntheticTrialTest.RegistersSyntheticTrial -ExperimentManagerImplDisable3PCsSyntheticTrialTest.RegistersSyntheticTrialWhenNoticeRequested -ThirdPartyCookieDeprecationObserverMechanismBrowserTest.ThirdPartyCookiesReadAndWrite/3 @@ -1329,6 +1353,13 @@ # This test fails because we disable FileSystemAccessAPI -PageInfoBubbleViewBrowserTest.InteractedWithFileSystemSubpage +# This test fails because we disable RedirectHeuristicTabHelper (because it +# crashes because we disable kDIPS). +-RedirectHeuristicBrowserTest.RecordsRedirectHeuristicCookieAccessEvent + +# This test fails because the default search engine is Brave instead of Google. +-DevToolsTest.TestOpenSearchResultsInNewTab + # Tests below this point have not been diagnosed or had issues created yet. -_/WebrtcLoggingPrivateApiStartEventLoggingTestFeatureAndPolicyEnabled.* -AccessCodeCastHandlerBrowserTest.* @@ -1628,6 +1659,9 @@ -HeadlessModePrintToPdfCommandBrowserTest.HeadlessTaggedPrintToPdf/* -HeadlessModeScreencastTest.ScreencastBasics -HeadlessModeScreencastTest.ScreencastViewport +-HeadlessModeScreenshotCommandBrowserTest.* +-HeadlessModeScreenshotCommandWithBackgroundBrowserTest.* +-HeadlessModeScreenshotCommandWithWindowSizeBrowserTest.* -HeadlessModeTaggedPrintToPdfCommandBrowserTest.HeadlessTaggedPrintToPdf/* -HintsFetcherBrowserTest.* -HintsFetcherSearchPageBrowserTest.* From bc94bf3521a14316f9b4136680cbc93a8d9e697c Mon Sep 17 00:00:00 2001 From: Max Karolinskiy Date: Wed, 27 Mar 2024 19:11:25 -0400 Subject: [PATCH 112/130] Java formatting fixes. --- .../chrome/browser/BraveIntentHandler.java | 18 +-- .../chrome/browser/app/BraveActivity.java | 21 ++- .../browser/crypto_wallet/util/Utils.java | 3 +- .../firstrun/BraveFirstRunFlowSequencer.java | 1 - .../settings/BraveThemePreferences.java | 45 +++--- .../browser/ntp/BraveNewTabPageLayout.java | 7 +- .../chrome/browser/ntp/BraveNtpAdapter.java | 25 ++-- .../BraveAutocompleteMediator.java | 1 - .../onboarding/OnboardingPrefManager.java | 3 +- .../SearchEngineOnboardingFragment.java | 2 +- .../website/BraveShieldsContentSettings.java | 67 ++++++--- .../settings/BravePrivacySettings.java | 39 +++-- .../BravePrivacySettingsIPFSUtils.java | 10 +- .../browser/rewards/BraveRewardsPanel.java | 10 +- .../AdaptiveCaptchaHelper.java | 3 +- .../settings/AppearancePreferences.java | 5 +- .../settings/BackgroundImagesPreferences.java | 8 +- .../settings/BraveMainPreferencesBase.java | 2 +- .../BravePreferenceDialogFragment.java | 135 ++++++++++-------- .../developer/BraveQAPreferences.java | 5 +- ...tonGroupCustomHomepageThemePreference.java | 11 +- .../speedreader/BraveSpeedReaderManager.java | 5 +- .../suggestions/tile/BraveTileView.java | 1 - .../browser/tabmodel/BraveTabCreator.java | 8 +- .../browser/vpn/utils/BraveVpnPrefUtils.java | 3 +- ...ActionSearchAndBookmarkWidgetProvider.java | 41 +++--- .../chromium/chrome/browser/BytecodeTest.java | 41 ++++-- .../dialogs/BraveAdsNotificationDialog.java | 8 +- .../tab_groups/BraveTabGroupModelFilter.java | 13 +- .../BraveTabGroupModelFilterClassAdapter.java | 4 +- 30 files changed, 334 insertions(+), 211 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/BraveIntentHandler.java b/android/java/org/chromium/chrome/browser/BraveIntentHandler.java index 1594e6daefc8..f003a23d321e 100644 --- a/android/java/org/chromium/chrome/browser/BraveIntentHandler.java +++ b/android/java/org/chromium/chrome/browser/BraveIntentHandler.java @@ -12,7 +12,6 @@ import org.chromium.base.IntentUtils; import org.chromium.base.Log; import org.chromium.base.ThreadUtils; -import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.content_public.browser.BrowserStartupController; @@ -66,14 +65,15 @@ protected static String getWebSearchUrl(Intent intent) { } try { - return ThreadUtils.runOnUiThreadBlocking(new Callable() { - @Override - public String call() { - return TemplateUrlServiceFactory - .getForProfile(ProfileManager.getLastUsedRegularProfile()) - .getUrlForSearchQuery(query); - } - }); + return ThreadUtils.runOnUiThreadBlocking( + new Callable() { + @Override + public String call() { + return TemplateUrlServiceFactory.getForProfile( + ProfileManager.getLastUsedRegularProfile()) + .getUrlForSearchQuery(query); + } + }); } catch (ExecutionException e) { Log.e(TAG, "Could not retrieve search query: " + e); } diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index 1a9123709ba0..118b39522faa 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -789,8 +789,11 @@ public void initializeState() { } if (isClearBrowsingDataOnExit()) { - List dataTypes = Arrays.asList( - BrowsingDataType.HISTORY, BrowsingDataType.SITE_DATA, BrowsingDataType.CACHE); + List dataTypes = + Arrays.asList( + BrowsingDataType.HISTORY, + BrowsingDataType.SITE_DATA, + BrowsingDataType.CACHE); int[] dataTypesArray = CollectionUtil.integerCollectionToIntArray(dataTypes); @@ -908,7 +911,8 @@ public void onPreferenceChange() { UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getString(BravePref.SCHEDULED_CAPTCHA_PAYMENT_ID); if (BraveQAPreferences.shouldVlogRewards()) { - Log.e(AdaptiveCaptchaHelper.TAG, + Log.e( + AdaptiveCaptchaHelper.TAG, "captchaID : " + captchaID + " Payment ID : " + paymentID); } maybeSolveAdaptiveCaptcha(); @@ -936,7 +940,8 @@ public void maybeSolveAdaptiveCaptcha() { String paymentID = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getString(BravePref.SCHEDULED_CAPTCHA_PAYMENT_ID); - if (!TextUtils.isEmpty(captchaID) && !TextUtils.isEmpty(paymentID) + if (!TextUtils.isEmpty(captchaID) + && !TextUtils.isEmpty(paymentID) && !BravePrefServiceBridge.getInstance().getSafetynetCheckFailed()) { AdaptiveCaptchaHelper.startAttestation(captchaID, paymentID); } @@ -1457,11 +1462,13 @@ private void checkForYandexSE() { String countryCode = Locale.getDefault().getCountry(); if (sYandexRegions.contains(countryCode)) { Profile lastUsedRegularProfile = ProfileManager.getLastUsedRegularProfile(); - TemplateUrl yandexTemplateUrl = BraveSearchEngineUtils.getTemplateUrlByShortName( - lastUsedRegularProfile, OnboardingPrefManager.YANDEX); + TemplateUrl yandexTemplateUrl = + BraveSearchEngineUtils.getTemplateUrlByShortName( + lastUsedRegularProfile, OnboardingPrefManager.YANDEX); if (yandexTemplateUrl != null) { BraveSearchEngineUtils.setDSEPrefs(yandexTemplateUrl, lastUsedRegularProfile); - BraveSearchEngineUtils.setDSEPrefs(yandexTemplateUrl, + BraveSearchEngineUtils.setDSEPrefs( + yandexTemplateUrl, lastUsedRegularProfile.getPrimaryOTRProfile(/* createIfNeeded= */ true)); } } diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/util/Utils.java b/android/java/org/chromium/chrome/browser/crypto_wallet/util/Utils.java index 96a70709781f..b53bb10cb8ad 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/util/Utils.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/util/Utils.java @@ -1071,7 +1071,8 @@ public static Profile getProfile(boolean isIncognito) { Log.e(TAG, "getProfile " + e); } if (chromeActivity == null) chromeActivity = BraveActivity.getChromeTabbedActivity(); - if (chromeActivity == null) return ProfileManager.getLastUsedRegularProfile(); // Last resort + if (chromeActivity == null) + return ProfileManager.getLastUsedRegularProfile(); // Last resort return chromeActivity.getTabModelSelector().getModel(isIncognito).getProfile(); } diff --git a/android/java/org/chromium/chrome/browser/firstrun/BraveFirstRunFlowSequencer.java b/android/java/org/chromium/chrome/browser/firstrun/BraveFirstRunFlowSequencer.java index 85168b5a02eb..1c9e4fd1620f 100644 --- a/android/java/org/chromium/chrome/browser/firstrun/BraveFirstRunFlowSequencer.java +++ b/android/java/org/chromium/chrome/browser/firstrun/BraveFirstRunFlowSequencer.java @@ -5,7 +5,6 @@ package org.chromium.chrome.browser.firstrun; - import org.chromium.base.supplier.OneshotSupplier; import org.chromium.chrome.browser.profiles.ProfileProvider; import org.chromium.components.signin.AccountManagerFacadeProvider; diff --git a/android/java/org/chromium/chrome/browser/night_mode/settings/BraveThemePreferences.java b/android/java/org/chromium/chrome/browser/night_mode/settings/BraveThemePreferences.java index 305c63ecbf7c..ea5bf1588eab 100644 --- a/android/java/org/chromium/chrome/browser/night_mode/settings/BraveThemePreferences.java +++ b/android/java/org/chromium/chrome/browser/night_mode/settings/BraveThemePreferences.java @@ -37,12 +37,14 @@ public void onCreatePreferences(@Nullable Bundle savedInstanceState, String root getActivity().setTitle(getResources().getString(R.string.theme_settings)); Profile mProfile = ProfileManager.getLastUsedRegularProfile(); - NTPBackgroundImagesBridge mNTPBackgroundImagesBridge = NTPBackgroundImagesBridge.getInstance(mProfile); + NTPBackgroundImagesBridge mNTPBackgroundImagesBridge = + NTPBackgroundImagesBridge.getInstance(mProfile); if (!NTPBackgroundImagesBridge.enableSponsoredImages() || (mNTPBackgroundImagesBridge != null - && !mNTPBackgroundImagesBridge.isSuperReferral()) + && !mNTPBackgroundImagesBridge.isSuperReferral()) || Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP) { - Preference superReferralPreference = getPreferenceScreen().findPreference(SUPER_REFERRAL); + Preference superReferralPreference = + getPreferenceScreen().findPreference(SUPER_REFERRAL); if (superReferralPreference != null) { getPreferenceScreen().removePreference(superReferralPreference); } @@ -59,26 +61,29 @@ public void onCreatePreferences(@Nullable Bundle savedInstanceState, String root : ThemeType.LIGHT; } - mWebContentsDarkModeEnabled = WebContentsDarkModeController.isGlobalUserSettingsEnabled( - ProfileManager.getLastUsedRegularProfile()); + mWebContentsDarkModeEnabled = + WebContentsDarkModeController.isGlobalUserSettingsEnabled( + ProfileManager.getLastUsedRegularProfile()); radioButtonGroupThemePreference.initialize( sharedPreferencesManager.readInt(UI_THEME_SETTING, defaultThemePref), mWebContentsDarkModeEnabled); - radioButtonGroupThemePreference.setOnPreferenceChangeListener((preference, newValue) -> { - if (ChromeFeatureList.isEnabled( - ChromeFeatureList.DARKEN_WEBSITES_CHECKBOX_IN_THEMES_SETTING)) { - if (radioButtonGroupThemePreference.isDarkenWebsitesEnabled() - != mWebContentsDarkModeEnabled) { - mWebContentsDarkModeEnabled = - radioButtonGroupThemePreference.isDarkenWebsitesEnabled(); - WebContentsDarkModeController.setGlobalUserSettings( - ProfileManager.getLastUsedRegularProfile(), mWebContentsDarkModeEnabled); - } - } - int theme = (int) newValue; - sharedPreferencesManager.writeInt(UI_THEME_SETTING, theme); - return true; - }); + radioButtonGroupThemePreference.setOnPreferenceChangeListener( + (preference, newValue) -> { + if (ChromeFeatureList.isEnabled( + ChromeFeatureList.DARKEN_WEBSITES_CHECKBOX_IN_THEMES_SETTING)) { + if (radioButtonGroupThemePreference.isDarkenWebsitesEnabled() + != mWebContentsDarkModeEnabled) { + mWebContentsDarkModeEnabled = + radioButtonGroupThemePreference.isDarkenWebsitesEnabled(); + WebContentsDarkModeController.setGlobalUserSettings( + ProfileManager.getLastUsedRegularProfile(), + mWebContentsDarkModeEnabled); + } + } + int theme = (int) newValue; + sharedPreferencesManager.writeInt(UI_THEME_SETTING, theme); + return true; + }); } } diff --git a/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java b/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java index 54e2c72eff57..56ff9935bd6c 100644 --- a/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java +++ b/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java @@ -1233,8 +1233,9 @@ private void showNTPImage(NTPImage ntpImage) { setBackgroundImage(ntpImage); } else if (UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE) - && mSponsoredTab != null && NTPUtil.shouldEnableNTPFeature()) { + .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE) + && mSponsoredTab != null + && NTPUtil.shouldEnableNTPFeature()) { setBackgroundImage(ntpImage); } } @@ -1489,7 +1490,7 @@ protected boolean isScrollableMvtEnabled() { return ChromeFeatureList.isEnabled(ChromeFeatureList.SHOW_SCROLLABLE_MVT_ON_NTP_ANDROID) && !DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext) && UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE); + .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE); } @Override diff --git a/android/java/org/chromium/chrome/browser/ntp/BraveNtpAdapter.java b/android/java/org/chromium/chrome/browser/ntp/BraveNtpAdapter.java index cdc2aa7203b7..6f3824525632 100644 --- a/android/java/org/chromium/chrome/browser/ntp/BraveNtpAdapter.java +++ b/android/java/org/chromium/chrome/browser/ntp/BraveNtpAdapter.java @@ -199,19 +199,22 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi ImageViewCompat.setImageTintList( imageCreditViewHolder.superReferralLogo, ColorStateList.valueOf(mActivity.getColor(floatingButtonIconColor))); - imageCreditViewHolder.superReferralLogo.setOnClickListener(view -> { - QRCodeShareDialogFragment qRCodeShareDialogFragment = - new QRCodeShareDialogFragment(); - qRCodeShareDialogFragment.setQRCodeText(BraveConstants.BRAVE_REF_URL - + mNTPBackgroundImagesBridge.getSuperReferralCode()); - qRCodeShareDialogFragment.show( - ((BraveActivity) mActivity).getSupportFragmentManager(), - "QRCodeShareDialogFragment"); - }); + imageCreditViewHolder.superReferralLogo.setOnClickListener( + view -> { + QRCodeShareDialogFragment qRCodeShareDialogFragment = + new QRCodeShareDialogFragment(); + qRCodeShareDialogFragment.setQRCodeText( + BraveConstants.BRAVE_REF_URL + + mNTPBackgroundImagesBridge.getSuperReferralCode()); + qRCodeShareDialogFragment.show( + ((BraveActivity) mActivity).getSupportFragmentManager(), + "QRCodeShareDialogFragment"); + }); } else if (UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE) - && mSponsoredTab != null && NTPUtil.shouldEnableNTPFeature()) { + .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE) + && mSponsoredTab != null + && NTPUtil.shouldEnableNTPFeature()) { if (mNtpImage instanceof BackgroundImage) { BackgroundImage backgroundImage = (BackgroundImage) mNtpImage; imageCreditViewHolder.sponsoredLogo.setVisibility(View.GONE); diff --git a/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediator.java b/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediator.java index d227962c1e9a..5206486eb723 100644 --- a/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediator.java +++ b/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediator.java @@ -19,7 +19,6 @@ import org.chromium.chrome.browser.omnibox.LocationBarDataProvider; import org.chromium.chrome.browser.omnibox.UrlBarEditingTextStateProvider; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; -import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; diff --git a/android/java/org/chromium/chrome/browser/onboarding/OnboardingPrefManager.java b/android/java/org/chromium/chrome/browser/onboarding/OnboardingPrefManager.java index 23e9dd5eaa4d..9126241f01d8 100644 --- a/android/java/org/chromium/chrome/browser/onboarding/OnboardingPrefManager.java +++ b/android/java/org/chromium/chrome/browser/onboarding/OnboardingPrefManager.java @@ -216,7 +216,8 @@ public void updateUrlFocusCount() { } public boolean isAdsAvailable() { - return BraveAdsNativeHelper.nativeIsSupportedRegion(ProfileManager.getLastUsedRegularProfile()); + return BraveAdsNativeHelper.nativeIsSupportedRegion( + ProfileManager.getLastUsedRegularProfile()); } public void showOnboarding(Context context) { diff --git a/android/java/org/chromium/chrome/browser/onboarding/SearchEngineOnboardingFragment.java b/android/java/org/chromium/chrome/browser/onboarding/SearchEngineOnboardingFragment.java index 4d0a5159dae9..4d579ebde82d 100644 --- a/android/java/org/chromium/chrome/browser/onboarding/SearchEngineOnboardingFragment.java +++ b/android/java/org/chromium/chrome/browser/onboarding/SearchEngineOnboardingFragment.java @@ -58,7 +58,7 @@ public void onCreate(Bundle savedInstanceState) { @Override public View onCreateView( - LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View root = inflater.inflate(R.layout.fragment_search_engine_onboarding, container, false); diff --git a/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java b/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java index 3d6778d522de..2011be98685d 100644 --- a/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java +++ b/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java @@ -149,58 +149,91 @@ public static String getShieldsValue(Profile profile, String host, String resour } public static void setFingerprintingPref(String value) { - setShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", - BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING, value, false); + setShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", + BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING, + value, + false); } public static void setHttpsUpgradePref(String value) { - setShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", - BraveShieldsContentSettings.RESOURCE_IDENTIFIER_HTTPS_UPGRADE, value, false); + setShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", + BraveShieldsContentSettings.RESOURCE_IDENTIFIER_HTTPS_UPGRADE, + value, + false); } public static void setCookiesPref(String value) { - setShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", - BraveShieldsContentSettings.RESOURCE_IDENTIFIER_COOKIES, value, false); + setShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", + BraveShieldsContentSettings.RESOURCE_IDENTIFIER_COOKIES, + value, + false); } public static void setTrackersPref(String value) { - setShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", - BraveShieldsContentSettings.RESOURCE_IDENTIFIER_TRACKERS, value, false); + setShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", + BraveShieldsContentSettings.RESOURCE_IDENTIFIER_TRACKERS, + value, + false); } public static void setJavascriptPref(boolean value) { - setShields(ProfileManager.getLastUsedRegularProfile(), "", - BraveShieldsContentSettings.RESOURCE_IDENTIFIER_JAVASCRIPTS, value, false); + setShields( + ProfileManager.getLastUsedRegularProfile(), + "", + BraveShieldsContentSettings.RESOURCE_IDENTIFIER_JAVASCRIPTS, + value, + false); } public static void setForgetFirstPartyStoragePref(boolean value) { - setShields(ProfileManager.getLastUsedRegularProfile(), "", - BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FORGET_FIRST_PARTY_STORAGE, value, + setShields( + ProfileManager.getLastUsedRegularProfile(), + "", + BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FORGET_FIRST_PARTY_STORAGE, + value, false); } public static boolean getJavascriptPref() { - return getShields(ProfileManager.getLastUsedRegularProfile(), "", + return getShields( + ProfileManager.getLastUsedRegularProfile(), + "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_JAVASCRIPTS); } public static String getTrackersPref() { - return getShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", + return getShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_TRACKERS); } public static String getFingerprintingPref() { - return getShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", + return getShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING); } public static String getHttpsUpgradePref() { - return getShieldsValue(ProfileManager.getLastUsedRegularProfile(), "", + return getShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_HTTPS_UPGRADE); } public static boolean getForgetFirstPartyStoragePref() { - return getShields(ProfileManager.getLastUsedRegularProfile(), "", + return getShields( + ProfileManager.getLastUsedRegularProfile(), + "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FORGET_FIRST_PARTY_STORAGE); } diff --git a/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java b/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java index 3f904b731988..f2a0d6a8e0bc 100644 --- a/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java +++ b/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java @@ -745,23 +745,32 @@ private void updateBravePreferences() { mClearBrowsingDataOnExit.setChecked( sharedPreferences.getBoolean(BravePreferenceKeys.BRAVE_CLEAR_ON_EXIT, false)); - boolean autocompleteEnabled = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .getBoolean(BravePref.AUTOCOMPLETE_ENABLED); + boolean autocompleteEnabled = + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getBoolean(BravePref.AUTOCOMPLETE_ENABLED); mShowAutocompleteInAddressBar.setChecked(autocompleteEnabled); mSearchSuggestions.setEnabled(autocompleteEnabled); mAutocompleteTopSites.setEnabled(autocompleteEnabled); - mFingerprntLanguagePref.setChecked(UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .getBoolean(BravePref.REDUCE_LANGUAGE_ENABLED)); + mFingerprntLanguagePref.setChecked( + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getBoolean(BravePref.REDUCE_LANGUAGE_ENABLED)); if (mFilterListAndroidHandler != null) { - mFilterListAndroidHandler.isFilterListEnabled(FilterListConstants.COOKIE_LIST_UUID, - isEnabled -> { mBlockCookieConsentNoticesPref.setChecked(isEnabled); }); - mFilterListAndroidHandler.isFilterListEnabled(FilterListConstants.SWITCH_TO_APP_UUID, - isEnabled -> { mBlockSwitchToAppNoticesPref.setChecked(isEnabled); }); + mFilterListAndroidHandler.isFilterListEnabled( + FilterListConstants.COOKIE_LIST_UUID, + isEnabled -> { + mBlockCookieConsentNoticesPref.setChecked(isEnabled); + }); + mFilterListAndroidHandler.isFilterListEnabled( + FilterListConstants.SWITCH_TO_APP_UUID, + isEnabled -> { + mBlockSwitchToAppNoticesPref.setChecked(isEnabled); + }); } // Debounce if (mDebouncePref != null) { - mDebouncePref.setChecked(UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .getBoolean(BravePref.DEBOUNCE_ENABLED)); + mDebouncePref.setChecked( + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getBoolean(BravePref.DEBOUNCE_ENABLED)); } // Social blocking @@ -787,8 +796,9 @@ private void updateBravePreferences() { } if (mDeAmpPref != null) { - mDeAmpPref.setChecked(UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .getBoolean(BravePref.DE_AMP_PREF_ENABLED)); + mDeAmpPref.setChecked( + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getBoolean(BravePref.DE_AMP_PREF_ENABLED)); } if (!ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_REQUEST_OTR_TAB)) { @@ -799,8 +809,9 @@ private void updateBravePreferences() { } private void updateRequestOtrPref() { - int requestOtrPrefValue = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .getInteger(BravePref.REQUEST_OTR_ACTION_OPTION); + int requestOtrPrefValue = + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getInteger(BravePref.REQUEST_OTR_ACTION_OPTION); if (requestOtrPrefValue == BraveShieldsContentSettings.ALWAYS) { mRequestOtrPref.setCheckedIndex(0); mRequestOtrPref.setSummary( diff --git a/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsIPFSUtils.java b/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsIPFSUtils.java index 2ee874e6477c..85ce4bb70940 100644 --- a/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsIPFSUtils.java +++ b/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettingsIPFSUtils.java @@ -14,16 +14,18 @@ public class BravePrivacySettingsIPFSUtils { public static void setIPFSGatewayPref(boolean preference) { if (BraveConfig.IPFS_ENABLED) { UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .setInteger(BravePref.IPFS_RESOLVE_METHOD, - preference ? IPFSResolveMethodTypes.IPFS_ASK - : IPFSResolveMethodTypes.IPFS_DISABLED); + .setInteger( + BravePref.IPFS_RESOLVE_METHOD, + preference + ? IPFSResolveMethodTypes.IPFS_ASK + : IPFSResolveMethodTypes.IPFS_DISABLED); } } public static boolean getIPFSGatewayPref() { if (BraveConfig.IPFS_ENABLED) { return UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .getInteger(BravePref.IPFS_RESOLVE_METHOD) + .getInteger(BravePref.IPFS_RESOLVE_METHOD) != IPFSResolveMethodTypes.IPFS_DISABLED; } else { return false; diff --git a/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java b/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java index 648b020d1699..d79dbefd007e 100644 --- a/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java +++ b/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java @@ -1,7 +1,7 @@ - /* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at https://mozilla.org/MPL/2.0/. */ +/* Copyright (c) 2021 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ package org.chromium.chrome.browser.rewards; @@ -1482,7 +1482,7 @@ public void onClick(View v) { BraveTouchUtils.ensureMinTouchTarget(learnMoreUnverifiedText); if (BraveAdsNativeHelper.nativeIsOptedInToNotificationAds( - ProfileManager.getLastUsedRegularProfile())) { + ProfileManager.getLastUsedRegularProfile())) { if (mRewardsMainLayout != null) { mRewardsMainLayout.setVisibility(View.GONE); } diff --git a/android/java/org/chromium/chrome/browser/rewards/adaptive_captcha/AdaptiveCaptchaHelper.java b/android/java/org/chromium/chrome/browser/rewards/adaptive_captcha/AdaptiveCaptchaHelper.java index ad7662c54e1b..2487147eaeb7 100644 --- a/android/java/org/chromium/chrome/browser/rewards/adaptive_captcha/AdaptiveCaptchaHelper.java +++ b/android/java/org/chromium/chrome/browser/rewards/adaptive_captcha/AdaptiveCaptchaHelper.java @@ -225,7 +225,8 @@ private static void clearCaptchaPrefs() { private static void recordFailureAttempt() { UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .setInteger(BravePref.SCHEDULED_CAPTCHA_FAILED_ATTEMPTS, + .setInteger( + BravePref.SCHEDULED_CAPTCHA_FAILED_ATTEMPTS, UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .getInteger(BravePref.SCHEDULED_CAPTCHA_FAILED_ATTEMPTS) + 1); diff --git a/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java b/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java index 5ab53f77319e..57920b8158f1 100644 --- a/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java @@ -147,8 +147,9 @@ public void onActivityCreated(Bundle savedInstanceState) { enableSpeedreader.setOnPreferenceChangeListener(this); if (enableSpeedreader instanceof ChromeSwitchPreference) { ((ChromeSwitchPreference) enableSpeedreader) - .setChecked(UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .getBoolean(BravePref.SPEEDREADER_PREF_ENABLED)); + .setChecked( + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getBoolean(BravePref.SPEEDREADER_PREF_ENABLED)); } } } diff --git a/android/java/org/chromium/chrome/browser/settings/BackgroundImagesPreferences.java b/android/java/org/chromium/chrome/browser/settings/BackgroundImagesPreferences.java index 15c51ec13a01..b316405f6f0c 100644 --- a/android/java/org/chromium/chrome/browser/settings/BackgroundImagesPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BackgroundImagesPreferences.java @@ -107,9 +107,13 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { public static void setOnPreferenceValue(String preferenceName, boolean newValue) { if (PREF_SHOW_BACKGROUND_IMAGES.equals(preferenceName)) { - UserPrefs.get(ProfileManager.getLastUsedRegularProfile()).setBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE, newValue); + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .setBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE, newValue); } else if (PREF_SHOW_SPONSORED_IMAGES.equals(preferenceName)) { - UserPrefs.get(ProfileManager.getLastUsedRegularProfile()).setBoolean(BravePref.NEW_TAB_PAGE_SHOW_SPONSORED_IMAGES_BACKGROUND_IMAGE, (boolean)newValue); + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .setBoolean( + BravePref.NEW_TAB_PAGE_SHOW_SPONSORED_IMAGES_BACKGROUND_IMAGE, + (boolean) newValue); } else { SharedPreferences sharedPreferences = ContextUtils.getAppSharedPreferences(); SharedPreferences.Editor sharedPreferencesEditor = sharedPreferences.edit(); diff --git a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java index 43868afdaa25..c62a6c1f1636 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java @@ -402,7 +402,7 @@ private void updatePreferenceIcons() { private void updateSearchEnginePreference() { if (!TemplateUrlServiceFactory.getForProfile(ProfileManager.getLastUsedRegularProfile()) - .isLoaded()) { + .isLoaded()) { ChromeBasePreference searchEnginePref = (ChromeBasePreference) findPreference(PREF_BRAVE_SEARCH_ENGINES); searchEnginePref.setEnabled(false); diff --git a/android/java/org/chromium/chrome/browser/settings/BravePreferenceDialogFragment.java b/android/java/org/chromium/chrome/browser/settings/BravePreferenceDialogFragment.java index 1bd033a20d71..a46ccfac147b 100644 --- a/android/java/org/chromium/chrome/browser/settings/BravePreferenceDialogFragment.java +++ b/android/java/org/chromium/chrome/browser/settings/BravePreferenceDialogFragment.java @@ -59,14 +59,18 @@ public void onDialogClosed(boolean positiveResult) { if (onPreferenceChangeListener != null) { SharedPreferences sharedPreferences = ContextUtils.getAppSharedPreferences(); if (currentPreference.equals(BravePrivacySettings.PREF_FINGERPRINTING_PROTECTION)) { - onPreferenceChangeListener.onPreferenceChange(dialogPreference, + onPreferenceChangeListener.onPreferenceChange( + dialogPreference, BraveShieldsContentSettings.getShieldsValue( - ProfileManager.getLastUsedRegularProfile(), "", + ProfileManager.getLastUsedRegularProfile(), + "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING)); } else if (currentPreference.equals(BravePrivacySettings.PREF_BLOCK_TRACKERS_ADS)) { - onPreferenceChangeListener.onPreferenceChange(dialogPreference, + onPreferenceChangeListener.onPreferenceChange( + dialogPreference, BraveShieldsContentSettings.getShieldsValue( - ProfileManager.getLastUsedRegularProfile(), "", + ProfileManager.getLastUsedRegularProfile(), + "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_TRACKERS)); } else { onPreferenceChangeListener.onPreferenceChange( @@ -80,59 +84,78 @@ protected void onPrepareDialogBuilder(AlertDialog.Builder builder) { super.onPrepareDialogBuilder(builder); builder.setCancelable(false); if (mRadioGroup != null) { - mRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(RadioGroup group, int checkedId) { - newValue = checkedId; - SharedPreferences.Editor sharedPreferencesEditor = - ContextUtils.getAppSharedPreferences().edit(); - if (currentPreference.equals( - BravePrivacySettings.PREF_FINGERPRINTING_PROTECTION)) { - if ((int) newValue == 0) { - BraveShieldsContentSettings.setShieldsValue( - ProfileManager.getLastUsedRegularProfile(), "", - BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING, - BraveShieldsContentSettings.BLOCK_RESOURCE, false); - } else if ((int) newValue == 1) { - BraveShieldsContentSettings.setShieldsValue( - ProfileManager.getLastUsedRegularProfile(), "", - BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING, - BraveShieldsContentSettings.DEFAULT, false); - } else { - BraveShieldsContentSettings.setShieldsValue( - ProfileManager.getLastUsedRegularProfile(), "", - BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING, - BraveShieldsContentSettings.ALLOW_RESOURCE, false); + mRadioGroup.setOnCheckedChangeListener( + new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup group, int checkedId) { + newValue = checkedId; + SharedPreferences.Editor sharedPreferencesEditor = + ContextUtils.getAppSharedPreferences().edit(); + if (currentPreference.equals( + BravePrivacySettings.PREF_FINGERPRINTING_PROTECTION)) { + if ((int) newValue == 0) { + BraveShieldsContentSettings.setShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", + BraveShieldsContentSettings + .RESOURCE_IDENTIFIER_FINGERPRINTING, + BraveShieldsContentSettings.BLOCK_RESOURCE, + false); + } else if ((int) newValue == 1) { + BraveShieldsContentSettings.setShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", + BraveShieldsContentSettings + .RESOURCE_IDENTIFIER_FINGERPRINTING, + BraveShieldsContentSettings.DEFAULT, + false); + } else { + BraveShieldsContentSettings.setShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", + BraveShieldsContentSettings + .RESOURCE_IDENTIFIER_FINGERPRINTING, + BraveShieldsContentSettings.ALLOW_RESOURCE, + false); + } + } else if (currentPreference.equals( + BravePrivacySettings.PREF_BLOCK_TRACKERS_ADS)) { + switch ((int) newValue) { + case 0: + BraveShieldsContentSettings.setShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", + BraveShieldsContentSettings + .RESOURCE_IDENTIFIER_TRACKERS, + BraveShieldsContentSettings.BLOCK_RESOURCE, + false); + break; + case 1: + BraveShieldsContentSettings.setShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", + BraveShieldsContentSettings + .RESOURCE_IDENTIFIER_TRACKERS, + BraveShieldsContentSettings.DEFAULT, + false); + break; + default: + BraveShieldsContentSettings.setShieldsValue( + ProfileManager.getLastUsedRegularProfile(), + "", + BraveShieldsContentSettings + .RESOURCE_IDENTIFIER_TRACKERS, + BraveShieldsContentSettings.ALLOW_RESOURCE, + false); + break; + } + } else { + sharedPreferencesEditor.putInt(currentPreference, (int) newValue); + } + + sharedPreferencesEditor.apply(); } - } else if (currentPreference.equals( - BravePrivacySettings.PREF_BLOCK_TRACKERS_ADS)) { - switch ((int) newValue) { - case 0: - BraveShieldsContentSettings.setShieldsValue( - ProfileManager.getLastUsedRegularProfile(), "", - BraveShieldsContentSettings.RESOURCE_IDENTIFIER_TRACKERS, - BraveShieldsContentSettings.BLOCK_RESOURCE, false); - break; - case 1: - BraveShieldsContentSettings.setShieldsValue( - ProfileManager.getLastUsedRegularProfile(), "", - BraveShieldsContentSettings.RESOURCE_IDENTIFIER_TRACKERS, - BraveShieldsContentSettings.DEFAULT, false); - break; - default: - BraveShieldsContentSettings.setShieldsValue( - ProfileManager.getLastUsedRegularProfile(), "", - BraveShieldsContentSettings.RESOURCE_IDENTIFIER_TRACKERS, - BraveShieldsContentSettings.ALLOW_RESOURCE, false); - break; - } - } else { - sharedPreferencesEditor.putInt(currentPreference, (int) newValue); - } - - sharedPreferencesEditor.apply(); - } - }); + }); } builder.setPositiveButton(null, null); diff --git a/android/java/org/chromium/chrome/browser/settings/developer/BraveQAPreferences.java b/android/java/org/chromium/chrome/browser/settings/developer/BraveQAPreferences.java index 0efb54572296..c25913cf3adf 100644 --- a/android/java/org/chromium/chrome/browser/settings/developer/BraveQAPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/developer/BraveQAPreferences.java @@ -110,8 +110,9 @@ public void onCreate(Bundle savedInstanceState) { if (mIsStagingServer != null) { mIsStagingServer.setOnPreferenceChangeListener(this); } - mIsStagingServer.setChecked(UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .getBoolean(BravePref.USE_REWARDS_STAGING_SERVER)); + mIsStagingServer.setChecked( + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getBoolean(BravePref.USE_REWARDS_STAGING_SERVER)); mIsSyncStagingServer = (ChromeSwitchPreference) findPreference(PREF_USE_SYNC_STAGING_SERVER); diff --git a/android/java/org/chromium/chrome/browser/settings/themes/BraveRadioButtonGroupCustomHomepageThemePreference.java b/android/java/org/chromium/chrome/browser/settings/themes/BraveRadioButtonGroupCustomHomepageThemePreference.java index cc6e18b1565d..0b53978c12e2 100644 --- a/android/java/org/chromium/chrome/browser/settings/themes/BraveRadioButtonGroupCustomHomepageThemePreference.java +++ b/android/java/org/chromium/chrome/browser/settings/themes/BraveRadioButtonGroupCustomHomepageThemePreference.java @@ -44,7 +44,11 @@ public void onBindViewHolder(PreferenceViewHolder holder) { RadioButtonWithDescription refView = (RadioButtonWithDescription)holder.findViewById(R.id.dark); if (mNTPBackgroundImagesBridge != null && mNTPBackgroundImagesBridge.isSuperReferral()) { refView.setPrimaryText(mNTPBackgroundImagesBridge.getSuperReferralThemeName()); - if(UserPrefs.get(ProfileManager.getLastUsedRegularProfile()).getInteger(BravePref.NEW_TAB_PAGE_SUPER_REFERRAL_THEMES_OPTION) == 1 ? true : false) { + if (UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getInteger(BravePref.NEW_TAB_PAGE_SUPER_REFERRAL_THEMES_OPTION) + == 1 + ? true + : false) { refView.setChecked(true); braveDefaultView.setChecked(false); } else { @@ -59,7 +63,10 @@ public void onBindViewHolder(PreferenceViewHolder holder) { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { super.onCheckedChanged(group, checkedId); - UserPrefs.get(ProfileManager.getLastUsedRegularProfile()).setInteger(BravePref.NEW_TAB_PAGE_SUPER_REFERRAL_THEMES_OPTION, checkedId == R.id.light ? 0 : 1 ); + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .setInteger( + BravePref.NEW_TAB_PAGE_SUPER_REFERRAL_THEMES_OPTION, + checkedId == R.id.light ? 0 : 1); BraveRelaunchUtils.askForRelaunch(getContext()); } } diff --git a/android/java/org/chromium/chrome/browser/speedreader/BraveSpeedReaderManager.java b/android/java/org/chromium/chrome/browser/speedreader/BraveSpeedReaderManager.java index 449a2ea4c63b..363f703b3457 100644 --- a/android/java/org/chromium/chrome/browser/speedreader/BraveSpeedReaderManager.java +++ b/android/java/org/chromium/chrome/browser/speedreader/BraveSpeedReaderManager.java @@ -174,8 +174,9 @@ public static boolean isEnabled() { boolean isFeatureEnabled = ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_SPEEDREADER); if (!isFeatureEnabled) return false; - boolean isPrefEnabled = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .getBoolean(BravePref.SPEEDREADER_PREF_ENABLED); + boolean isPrefEnabled = + UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) + .getBoolean(BravePref.SPEEDREADER_PREF_ENABLED); return isPrefEnabled; } } diff --git a/android/java/org/chromium/chrome/browser/suggestions/tile/BraveTileView.java b/android/java/org/chromium/chrome/browser/suggestions/tile/BraveTileView.java index 546b746ef7d9..23a652473abc 100644 --- a/android/java/org/chromium/chrome/browser/suggestions/tile/BraveTileView.java +++ b/android/java/org/chromium/chrome/browser/suggestions/tile/BraveTileView.java @@ -13,7 +13,6 @@ import org.chromium.base.Log; import org.chromium.chrome.R; import org.chromium.chrome.browser.preferences.BravePref; -import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.components.browser_ui.widget.tile.TileView; import org.chromium.components.user_prefs.UserPrefs; diff --git a/android/java/org/chromium/chrome/browser/tabmodel/BraveTabCreator.java b/android/java/org/chromium/chrome/browser/tabmodel/BraveTabCreator.java index 44ba735e7cf5..4f3e3c30d6db 100644 --- a/android/java/org/chromium/chrome/browser/tabmodel/BraveTabCreator.java +++ b/android/java/org/chromium/chrome/browser/tabmodel/BraveTabCreator.java @@ -66,9 +66,11 @@ public Tab launchUrl(String url, @TabLaunchType int type) { TabModel tabModel = chromeTabbedActivity.getCurrentTabModel(); if (tabModel.getCount() >= SponsoredImageUtil.MAX_TABS && UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE)) { - Tab tab = BraveActivity.class.cast(chromeTabbedActivity) - .selectExistingTab(UrlConstants.NTP_URL); + .getBoolean(BravePref.NEW_TAB_PAGE_SHOW_BACKGROUND_IMAGE)) { + Tab tab = + BraveActivity.class + .cast(chromeTabbedActivity) + .selectExistingTab(UrlConstants.NTP_URL); if (tab != null) { BraveReflectionUtil.InvokeMethod( ChromeTabbedActivity.class, chromeTabbedActivity, "hideOverview"); diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnPrefUtils.java b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnPrefUtils.java index 3f9f9386f8ab..436ee996e473 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnPrefUtils.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnPrefUtils.java @@ -139,7 +139,8 @@ public static void setPurchaseToken(String value) { UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) .setString(BravePref.BRAVE_VPN_PURCHASE_TOKEN_ANDROID, value); UserPrefs.get(ProfileManager.getLastUsedRegularProfile()) - .setString(BravePref.BRAVE_VPN_PACKAGE_ANDROID, + .setString( + BravePref.BRAVE_VPN_PACKAGE_ANDROID, ContextUtils.getApplicationContext().getPackageName()); } diff --git a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java index 87d82864a6f7..efb3d5e226a9 100644 --- a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java +++ b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java @@ -293,11 +293,14 @@ private static void updateAppWidgets(int[] appWidgetIds) { private static void setDefaultSearchEngineString(RemoteViews views) { final Profile profile = ProfileManager.getLastUsedRegularProfile(); - TemplateUrl templateUrl = BraveSearchEngineUtils.getTemplateUrlByShortName( - profile, BraveSearchEngineUtils.getDSEShortName(profile, false)); + TemplateUrl templateUrl = + BraveSearchEngineUtils.getTemplateUrlByShortName( + profile, BraveSearchEngineUtils.getDSEShortName(profile, false)); if (templateUrl != null) { - String searchWithDefaultSearchEngine = ContextUtils.getApplicationContext().getString( - R.string.search_with_search_engine, templateUrl.getShortName()); + String searchWithDefaultSearchEngine = + ContextUtils.getApplicationContext() + .getString( + R.string.search_with_search_engine, templateUrl.getShortName()); views.setTextViewText(R.id.tvSearchWithBrave, searchWithDefaultSearchEngine); } } @@ -344,18 +347,24 @@ private static void setTopTiles( } private static void fetchGurlIcon(final int imageViewId, GURL gurl) { - LargeIconBridge largeIconBridge = new LargeIconBridge(ProfileManager.getLastUsedRegularProfile()); - LargeIconCallback callback = new LargeIconCallback() { - @Override - public void onLargeIconAvailable(Bitmap icon, int fallbackColor, - boolean isFallbackColorDefault, @IconType int iconType) { - if (icon == null) - updateTileIcon(imageViewId, - getTileIconFromColor(gurl, fallbackColor, isFallbackColorDefault)); - else - updateTileIcon(imageViewId, getRoundedTileIconFromBitmap(icon)); - } - }; + LargeIconBridge largeIconBridge = + new LargeIconBridge(ProfileManager.getLastUsedRegularProfile()); + LargeIconCallback callback = + new LargeIconCallback() { + @Override + public void onLargeIconAvailable( + Bitmap icon, + int fallbackColor, + boolean isFallbackColorDefault, + @IconType int iconType) { + if (icon == null) + updateTileIcon( + imageViewId, + getTileIconFromColor( + gurl, fallbackColor, isFallbackColorDefault)); + else updateTileIcon(imageViewId, getRoundedTileIconFromBitmap(icon)); + } + }; largeIconBridge.getLargeIconForUrl(gurl, DESIRED_ICON_SIZE, callback); } diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index 67c0653495e1..befbcc1d82b3 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -850,20 +850,35 @@ public void testConstructorsExistAndMatch() throws Exception { OneshotSupplier.class, Supplier.class)); Assert.assertTrue( - constructorsMatch("org/chromium/chrome/browser/settings/SettingsLauncherImpl", + constructorsMatch( + "org/chromium/chrome/browser/settings/SettingsLauncherImpl", "org/chromium/chrome/browser/settings/BraveSettingsLauncherImpl")); - Assert.assertTrue(constructorsMatch( - "org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator", - "org/chromium/chrome/browser/tasks/tab_management/BraveTabGroupUiCoordinator", - Activity.class, ViewGroup.class, BrowserControlsStateProvider.class, - IncognitoStateProvider.class, ScrimCoordinator.class, ObservableSupplier.class, - BottomSheetController.class, ActivityLifecycleDispatcher.class, Supplier.class, - TabModelSelector.class, TabContentManager.class, ViewGroup.class, Supplier.class, - TabCreatorManager.class, OneshotSupplier.class, SnackbarManager.class)); - Assert.assertTrue(constructorsMatch( - "org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate", - "org/chromium/chrome/browser/site_settings/BraveSiteSettingsDelegate", - Context.class, Profile.class)); + Assert.assertTrue( + constructorsMatch( + "org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator", + "org/chromium/chrome/browser/tasks/tab_management/BraveTabGroupUiCoordinator", + Activity.class, + ViewGroup.class, + BrowserControlsStateProvider.class, + IncognitoStateProvider.class, + ScrimCoordinator.class, + ObservableSupplier.class, + BottomSheetController.class, + ActivityLifecycleDispatcher.class, + Supplier.class, + TabModelSelector.class, + TabContentManager.class, + ViewGroup.class, + Supplier.class, + TabCreatorManager.class, + OneshotSupplier.class, + SnackbarManager.class)); + Assert.assertTrue( + constructorsMatch( + "org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate", + "org/chromium/chrome/browser/site_settings/BraveSiteSettingsDelegate", + Context.class, + Profile.class)); Assert.assertTrue( constructorsMatch( "org/chromium/components/browser_ui/notifications/NotificationManagerProxyImpl", diff --git a/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsNotificationDialog.java b/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsNotificationDialog.java index cfcf88a13354..75c429cdde09 100644 --- a/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsNotificationDialog.java +++ b/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsNotificationDialog.java @@ -1,7 +1,7 @@ - /* Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at https://mozilla.org/MPL/2.0/. */ +/* Copyright (c) 2020 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ package org.chromium.chrome.browser.dialogs; diff --git a/browser/tab_group/java/src/org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter.java b/browser/tab_group/java/src/org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter.java index 3b551608da53..7a5f063fe552 100644 --- a/browser/tab_group/java/src/org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter.java +++ b/browser/tab_group/java/src/org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter.java @@ -4,7 +4,6 @@ * You can obtain one at https://mozilla.org/MPL/2.0/. */ package org.chromium.chrome.browser.tasks.tab_groups; - import androidx.annotation.NonNull; import org.chromium.base.BravePreferenceKeys; @@ -16,13 +15,11 @@ import org.chromium.chrome.browser.tabmodel.TabModel; import org.chromium.chrome.browser.tabmodel.TabModelFilter; -/** - * Brave's super class for {@link TabGroupModelFilter} - */ +/** Brave's super class for {@link TabGroupModelFilter} */ public abstract class BraveTabGroupModelFilter extends TabModelFilter { /** - * This variable will be used instead of {@link - * TabGroupModelFilter}'s variable, that will be deleted in bytecode. + * This variable will be used instead of {@link TabGroupModelFilter}'s variable, that will be + * deleted in bytecode. */ protected boolean mIsResetting; @@ -45,9 +42,7 @@ && isTabModelRestored() TabGroupModelFilter.class, this, "shouldUseParentIds", Tab.class, tab); } - /** - * Determine if a launch type is the result of linked being clicked. - */ + /** Determine if a launch type is the result of linked being clicked. */ private boolean linkClicked(@TabLaunchType int type) { return type == TabLaunchType.FROM_LINK || type == TabLaunchType.FROM_LONGPRESS_FOREGROUND; } diff --git a/build/android/bytecode/java/org/brave/bytecode/BraveTabGroupModelFilterClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BraveTabGroupModelFilterClassAdapter.java index 3fc59fe488e2..c2b4a038eefc 100644 --- a/build/android/bytecode/java/org/brave/bytecode/BraveTabGroupModelFilterClassAdapter.java +++ b/build/android/bytecode/java/org/brave/bytecode/BraveTabGroupModelFilterClassAdapter.java @@ -21,6 +21,8 @@ public BraveTabGroupModelFilterClassAdapter(ClassVisitor visitor) { deleteField(sTabGroupModelFilterClassName, "mIsResetting"); changeMethodOwner( - sTabGroupModelFilterClassName, "shouldUseParentIds", sBraveTabGroupModelFilterClassName); + sTabGroupModelFilterClassName, + "shouldUseParentIds", + sBraveTabGroupModelFilterClassName); } } From 1af8d1f28394e52810b14a83ee09b0d06d37e820 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Thu, 28 Mar 2024 09:57:28 -0400 Subject: [PATCH 113/130] Workaroud for NotificationAdPopupBrowserTest.CheckThemeChanged tests. The tests fail on Windows and Linux because of misalignment. This change gets the alignment fixed, but the ads team will follow up to investigate the cause later, if necessary. --- browser/ui/views/brave_ads/notification_ad_popup.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/browser/ui/views/brave_ads/notification_ad_popup.cc b/browser/ui/views/brave_ads/notification_ad_popup.cc index bbf9121de21e..f7e689dd4ba5 100644 --- a/browser/ui/views/brave_ads/notification_ad_popup.cc +++ b/browser/ui/views/brave_ads/notification_ad_popup.cc @@ -331,11 +331,11 @@ void NotificationAdPopup::CreatePopup(gfx::NativeWindow browser_native_window, notification_ad_view_ = container_view->AddChildView( NotificationAdViewFactory::Create(notification_ad_)); + CreateWidgetView(browser_native_window, browser_native_view); + const gfx::Point point(GetWidgetMargin().top(), GetWidgetMargin().left()); container_view->SetPosition(point); container_view->SetSize(notification_ad_view_->size()); - - CreateWidgetView(browser_native_window, browser_native_view); } bool NotificationAdPopup::DidChangePopupPosition() const { From 7fb1466f9ca94bcbd5ea51adc39de283e272e90b Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Thu, 28 Mar 2024 10:04:29 -0400 Subject: [PATCH 114/130] [Android] Add Sync toggle for WebAPKs Chromium change: https://source.chromium.org/chromium/chromium/src/+/13d31e3391d690184c1a35f3a52e05bacf824042 Add Sync toggle for WebAPKs Bug: 41494049 --- android/java/res/xml/manage_sync_preferences.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/android/java/res/xml/manage_sync_preferences.xml b/android/java/res/xml/manage_sync_preferences.xml index 7db012bc1db4..541f9839de69 100644 --- a/android/java/res/xml/manage_sync_preferences.xml +++ b/android/java/res/xml/manage_sync_preferences.xml @@ -62,6 +62,11 @@ android:title="@string/sync_settings" android:persistent="false"/> + + Date: Thu, 28 Mar 2024 16:16:52 -0400 Subject: [PATCH 115/130] Fixes hiding of Chrome certificate management link in Settings. Chromium change: https://source.chromium.org/chromium/chromium/src/+/659fd1a6f93bf13263138af8ea1263e53dbc76b5 commit 659fd1a6f93bf13263138af8ea1263e53dbc76b5 Author: Hubert Chao Date: Fri Feb 23 15:53:58 2024 +0000 Android CCV/CRS cleanup: remove feature flag allowing toggle of CCV/CRS. Bug: 1493152 --- .../settings/brave_overrides/security_page.ts | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/browser/resources/settings/brave_overrides/security_page.ts b/browser/resources/settings/brave_overrides/security_page.ts index a264e612f573..98ea389ee5dc 100644 --- a/browser/resources/settings/brave_overrides/security_page.ts +++ b/browser/resources/settings/brave_overrides/security_page.ts @@ -52,14 +52,8 @@ RegisterPolymerTemplateModifications({ } else { link.setAttribute('hidden', 'true') } - const certsTemplate = templateContent.querySelector( - 'template[is=dom-if][if="[[showChromeRootStoreCertificates_]]"]') - if (!certsTemplate) { - console.error('[Brave Settings Overrides] Could not find certs template') - return - } - const chromeCertificates = certsTemplate.content. - getElementById('chromeCertificates') + const chromeCertificates = templateContent.getElementById( + 'chromeCertificates') if (!chromeCertificates) { console.error( '[Brave Settings Overrides] Could not find chromeCertificates id ' + From 620de6b3f5c5478a3b26f702dd17efc95c669aee Mon Sep 17 00:00:00 2001 From: mkarolin Date: Thu, 28 Mar 2024 16:39:22 -0400 Subject: [PATCH 116/130] Fixes Clear Browsing Data dialog's On Exit page. Chromium change: https://source.chromium.org/chromium/chromium/src/+/3e72b7c50426b1311b6ccf22c31821ac982fc0a6 commit 3e72b7c50426b1311b6ccf22c31821ac982fc0a6 Author: dpapad Date: Thu Feb 29 21:23:19 2024 +0000 WebUI: Migrate cr-tabs to LitElement. Bug: 40943652 --- ...ave_clear_browsing_data_dialog_behavior.ts | 28 +++++++++---------- .../clear_browsing_data_dialog.ts | 8 +++--- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/browser/resources/settings/brave_clear_browsing_data_dialog/brave_clear_browsing_data_dialog_behavior.ts b/browser/resources/settings/brave_clear_browsing_data_dialog/brave_clear_browsing_data_dialog_behavior.ts index 5ea41e6a5ea4..512c8792650f 100644 --- a/browser/resources/settings/brave_clear_browsing_data_dialog/brave_clear_browsing_data_dialog_behavior.ts +++ b/browser/resources/settings/brave_clear_browsing_data_dialog/brave_clear_browsing_data_dialog_behavior.ts @@ -27,9 +27,9 @@ export class BraveSettingsClearBrowsingDataDialogElement extends BaseElement { override connectedCallback() { super.connectedCallback() - this.onSelectedTabChangedCallback_ = this.onSelectedTabChanged_.bind(this); - this.$.tabs.addEventListener('selected-item-changed', - this.onSelectedTabChangedCallback_); + this.onSelectedPageChangedCallback_ = this.onSelectedPageChanged_.bind(this); + this.$.pages.addEventListener('selected-item-changed', + this.onSelectedPageChangedCallback_); this.updateSaveButtonStateCallback_ = this.updateSaveButtonState_.bind(this); this.shadowRoot.querySelector('#on-exit-tab').addEventListener( @@ -43,10 +43,10 @@ export class BraveSettingsClearBrowsingDataDialogElement extends BaseElement { override disconnectedCallback() { super.disconnectedCallback() - if (this.onSelectedTabChangedCallback_) { - this.$.tabs.removeEventListener('selected-item-changed', - this.onSelectedTabChangedCallback_); - this.onSelectedTabChangedCallback_ = null; + if (this.onSelectedPageChangedCallback_) { + this.$.pages.removeEventListener('selected-item-changed', + this.onSelectedPageChangedCallback_); + this.onSelectedPageChangedCallback_ = null; } if (this.saveOnExitSettingsCallback_) { @@ -62,7 +62,7 @@ export class BraveSettingsClearBrowsingDataDialogElement extends BaseElement { } } - private onSelectedTabChangedCallback_: (() => void) | null = null + private onSelectedPageChangedCallback_: (() => void) | null = null private updateSaveButtonStateCallback_: (() => void) | null = null private saveOnExitSettingsCallback_: (() => void) | null = null @@ -84,14 +84,14 @@ export class BraveSettingsClearBrowsingDataDialogElement extends BaseElement { * Updates Clear and Save buttons visibility based on the selected tab. * @private */ - onSelectedTabChanged_() { - const tab = this.$.tabs.selectedItem; - if (!tab) { + onSelectedPageChanged_() { + const page = this.$.pages.selectedItem; + if (!page) { return; } - const isOnExitTab = (tab.id === 'on-exit-tab'); - this.$.clearBrowsingDataConfirm.hidden = isOnExitTab; - this.shadowRoot.querySelector('#saveOnExitSettingsConfirm').hidden = !isOnExitTab; + const isOnExitPage = (page.id === 'on-exit-tab'); + this.$.clearBrowsingDataConfirm.hidden = isOnExitPage; + this.shadowRoot.querySelector('#saveOnExitSettingsConfirm').hidden = !isOnExitPage; } /** diff --git a/browser/resources/settings/brave_overrides/clear_browsing_data_dialog.ts b/browser/resources/settings/brave_overrides/clear_browsing_data_dialog.ts index d3220a315838..d8398cf85353 100644 --- a/browser/resources/settings/brave_overrides/clear_browsing_data_dialog.ts +++ b/browser/resources/settings/brave_overrides/clear_browsing_data_dialog.ts @@ -32,12 +32,12 @@ RegisterPolymerComponentReplacement( RegisterPolymerTemplateModifications({ 'settings-clear-browsing-data-dialog': (templateContent: HTMLTemplateElement) => { // Append On exit tab page. - const tabsElement = templateContent.querySelector('#tabs') - if (!tabsElement) { - console.error(`[Brave Settings Overrides] cannot find #tabs in clear-browsing-data-dialog`) + const pagesElement = templateContent.querySelector('#pages') + if (!pagesElement) { + console.error(`[Brave Settings Overrides] cannot find #pages in clear-browsing-data-dialog`) return } - tabsElement.insertAdjacentHTML( + pagesElement.insertAdjacentHTML( 'beforeend', getTrustedHTML` Date: Fri, 29 Mar 2024 17:03:44 +0700 Subject: [PATCH 117/130] Fix SolanaProviderRendererTest --- .../solana_provider_renderer_browsertest.cc | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/browser/brave_wallet/solana_provider_renderer_browsertest.cc b/browser/brave_wallet/solana_provider_renderer_browsertest.cc index 788010fdaf25..d3c7771a9662 100644 --- a/browser/brave_wallet/solana_provider_renderer_browsertest.cc +++ b/browser/brave_wallet/solana_provider_renderer_browsertest.cc @@ -33,6 +33,7 @@ #include "chrome/test/base/ui_test_utils.h" #include "components/grit/brave_components_resources.h" #include "components/grit/brave_components_strings.h" +#include "content/public/browser/global_routing_id.h" #include "content/public/common/content_client.h" #include "content/public/test/browser_test.h" #include "content/public/test/browser_test_utils.h" @@ -483,11 +484,11 @@ class TestBraveContentBrowserClient : public BraveContentBrowserClient { } TestSolanaProvider* GetProvider(content::RenderFrameHost* frame_host) { - if (!provider_map_.contains(frame_host)) { + if (!provider_map_.contains(frame_host->GetGlobalId())) { return nullptr; } return static_cast( - provider_map_.at(frame_host)->impl()); + provider_map_.at(frame_host->GetGlobalId())->impl()); } bool WaitForBinding(content::RenderFrameHost* render_frame_host, base::OnceClosure callback) { @@ -498,7 +499,7 @@ class TestBraveContentBrowserClient : public BraveContentBrowserClient { return true; } bool IsBound(content::RenderFrameHost* frame_host) { - return provider_map_.contains(frame_host); + return provider_map_.contains(frame_host->GetGlobalId()); } private: @@ -507,21 +508,21 @@ class TestBraveContentBrowserClient : public BraveContentBrowserClient { mojo::PendingReceiver receiver) { auto provider = mojo::MakeSelfOwnedReceiver( std::make_unique(), std::move(receiver)); - provider->set_connection_error_handler( - base::BindOnce(&TestBraveContentBrowserClient::OnDisconnect, - weak_ptr_factory_.GetWeakPtr(), frame_host)); - provider_map_[frame_host] = provider; + provider->set_connection_error_handler(base::BindOnce( + &TestBraveContentBrowserClient::OnDisconnect, + weak_ptr_factory_.GetWeakPtr(), frame_host->GetGlobalId())); + provider_map_[frame_host->GetGlobalId()] = provider; if (quit_on_binding_) { std::move(quit_on_binding_).Run(); } } - void OnDisconnect(content::RenderFrameHost* frame_host) { - provider_map_.erase(frame_host); + void OnDisconnect(content::GlobalRenderFrameHostId frame_host_id) { + provider_map_.erase(frame_host_id); } base::OnceClosure quit_on_binding_; base::flat_map< - content::RenderFrameHost*, + content::GlobalRenderFrameHostId, mojo::SelfOwnedReceiverRef> provider_map_; base::WeakPtrFactory weak_ptr_factory_{this}; From b39c27459f5c34d61a95019547ef676f8dc70e38 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Fri, 29 Mar 2024 15:58:43 -0400 Subject: [PATCH 118/130] Fixes side panel colors for bookmarks and reading list. --- browser/ui/color/brave_color_mixer.cc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/browser/ui/color/brave_color_mixer.cc b/browser/ui/color/brave_color_mixer.cc index b39253416aed..d2b9f2a52257 100644 --- a/browser/ui/color/brave_color_mixer.cc +++ b/browser/ui/color/brave_color_mixer.cc @@ -16,6 +16,8 @@ #include "brave/components/playlist/common/buildflags/buildflags.h" #include "brave/components/speedreader/common/buildflags/buildflags.h" #include "chrome/browser/ui/color/chrome_color_id.h" +#include "chrome/browser/ui/color/material_side_panel_color_mixer.h" +#include "ui/base/ui_base_features.h" #include "ui/color/color_id.h" #include "ui/color/color_provider.h" #include "ui/color/color_recipe.h" @@ -234,6 +236,10 @@ void AddChromeLightThemeColorMixer(ui::ColorProvider* provider, mixer[kColorTabFocusRingActive] = {ui::kColorFocusableBorderFocused}; mixer[kColorTabFocusRingInactive] = {ui::kColorFocusableBorderFocused}; + // Sidebar tweaks + mixer[kColorSidePanelContentBackground] = {SK_ColorWHITE}; + mixer[ui::kColorListItemUrlFaviconBackground] = {gfx::kGoogleGrey050}; + // Upstream uses tab's background color as omnibox chip background color. // In our light mode, there is no difference between location bar's bg // color and tab's bg color. So, it looks like chip's bg color is transparent. @@ -287,6 +293,10 @@ void AddChromeDarkThemeColorMixer(ui::ColorProvider* provider, ui::kColorFocusableBorderFocused}; mixer[kColorTabFocusRingActive] = {ui::kColorFocusableBorderFocused}; mixer[kColorTabFocusRingInactive] = {ui::kColorFocusableBorderFocused}; + + // Sidebar tweaks + mixer[kColorSidePanelContentBackground] = {gfx::kGoogleGrey900}; + mixer[ui::kColorListItemUrlFaviconBackground] = {gfx::kGoogleGrey800}; } void AddChromeColorMixerForAllThemes(ui::ColorProvider* provider, @@ -386,6 +396,12 @@ void AddBravifiedChromeThemeColorMixer(ui::ColorProvider* provider, return; } + // This is behind features::IsChromeRefresh2023 upstream, but without it the + // colors are not set correctly. + if (!features::IsChromeRefresh2023()) { + AddMaterialSidePanelColorMixer(provider, key); + } + key.color_mode == ui::ColorProviderKey::ColorMode::kDark ? AddChromeDarkThemeColorMixer(provider, key) : AddChromeLightThemeColorMixer(provider, key); From 6bcbefbd891cb7474523ff8f7b03925fa8aafbd5 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Mon, 1 Apr 2024 11:54:52 -0400 Subject: [PATCH 119/130] base::EraseIf -> std::erase_if Chromium change: https://source.chromium.org/chromium/chromium/src/+/4384ef7d38df3d8e68691fe435c20544a0d7b744 commit 4384ef7d38df3d8e68691fe435c20544a0d7b744 Author: Andrew Rayskiy Date: Wed Feb 28 20:41:58 2024 +0000 [base] Update Erase()/EraseIf() calls for std::vector<> in components/ They're now replaced with C++20 std::erase()/std::erase_if(). Script: ``` * extract files referencing Erase()/EraseIf() on cs via css selectors * 1. Run sed replacements: 's/base::EraseIf/std::erase_if/g' 's/base::Erase/std::erase/g' 's/#include "b/c/cxx20_erase.h"/#include /g' 's/#include "b/c/cxx20_erase_vector.h"/#include /g' 2. Run git cl format to sieve include upwards 3. Run sed with -z to separate include from quoted includes (above and below) 's/\n\n#include \n/\n#include \n\n/g' 's/"\n#include /"\n\n#include /g' 4. Run sed with -z to force includes on the remaining files: 's/#include <(\w+)>/#include <\1>\n#include /g' 5. Run git cl format to collapse duplicate includes 6. Fix outliers by hand :) ``` Bug: 40256229 --- components/body_sniffer/body_sniffer_throttle.cc | 4 ++-- components/body_sniffer/body_sniffer_url_loader.cc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/body_sniffer/body_sniffer_throttle.cc b/components/body_sniffer/body_sniffer_throttle.cc index 1d6d8a95e0f6..589136b267c6 100644 --- a/components/body_sniffer/body_sniffer_throttle.cc +++ b/components/body_sniffer/body_sniffer_throttle.cc @@ -39,7 +39,7 @@ void BodySnifferThrottle::WillStartRequest(network::ResourceRequest* request, handler.reset(); } } - base::EraseIf(body_handlers_, [](auto& h) { return !h; }); + std::erase_if(body_handlers_, [](auto& h) { return !h; }); } void BodySnifferThrottle::WillProcessResponse( @@ -55,7 +55,7 @@ void BodySnifferThrottle::WillProcessResponse( handler->UpdateResponseHead(response_head); } } - base::EraseIf(body_handlers_, [](auto& h) { return !h; }); + std::erase_if(body_handlers_, [](auto& h) { return !h; }); if (body_handlers_.empty() && !producer_) { return; } diff --git a/components/body_sniffer/body_sniffer_url_loader.cc b/components/body_sniffer/body_sniffer_url_loader.cc index dfd2a651ebfd..7258d2d6098f 100644 --- a/components/body_sniffer/body_sniffer_url_loader.cc +++ b/components/body_sniffer/body_sniffer_url_loader.cc @@ -295,7 +295,7 @@ void BodySnifferURLLoader::OnBodyReadable(MojoResult) { complete_handlers_.push_back(std::move(handler)); } } - base::EraseIf(body_handlers, [](auto& handler) { return !handler; }); + std::erase_if(body_handlers, [](auto& handler) { return !handler; }); CompleteSniffing(false, std::move(buffered_body_)); break; } From 78372cdd18879f8197eba088ad54b1e0ca00a07c Mon Sep 17 00:00:00 2001 From: mkarolin Date: Mon, 1 Apr 2024 13:09:20 -0400 Subject: [PATCH 120/130] Revert "[Android] Removed unused string" This reverts commit 43347b5c480b98ef88e5fc8c0984b4f0c70e5b25. --- browser/ui/android/strings/android_chrome_strings.grd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/browser/ui/android/strings/android_chrome_strings.grd b/browser/ui/android/strings/android_chrome_strings.grd index cc68aaca9597..e0018f800de3 100644 --- a/browser/ui/android/strings/android_chrome_strings.grd +++ b/browser/ui/android/strings/android_chrome_strings.grd @@ -2205,6 +2205,9 @@ Your Brave account may have other forms of browsing history like searches and ac Settings + + Apps + Payment methods, offers, and addresses using Google Pay From 8e32d7d1f588e0dcae378ac4da2e8118ae8994ec Mon Sep 17 00:00:00 2001 From: mkarolin Date: Tue, 2 Apr 2024 12:23:48 -0400 Subject: [PATCH 121/130] base::MakeFixedFlatSet requires constexpr elements. https://source.chromium.org/chromium/chromium/src/+/00436d28afe641a5ef65add4939db43074969dab commit 00436d28afe641a5ef65add4939db43074969dab Author: Daniel Cheng Date: Mon Mar 18 17:31:19 2024 +0000 Mark base::MakeFixedFlatSet as consteval. FixedFlatSet is intended as a compile-time construct only, so restrict it as such. Also add nocompile tests to replace the lost coverage from the unit test. Bug: 41486252 --- .../browser/playlist_background_web_contentses.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/components/playlist/browser/playlist_background_web_contentses.cc b/components/playlist/browser/playlist_background_web_contentses.cc index 9a0d502f6484..abd2e3cf51db 100644 --- a/components/playlist/browser/playlist_background_web_contentses.cc +++ b/components/playlist/browser/playlist_background_web_contentses.cc @@ -8,10 +8,11 @@ #include #include -#include "base/containers/fixed_flat_set.h" +#include "base/containers/flat_set.h" #include "base/feature_list.h" #include "base/functional/bind.h" #include "base/functional/callback_helpers.h" +#include "base/no_destructor.h" #include "brave/components/playlist/browser/playlist_background_web_contents_helper.h" #include "brave/components/playlist/common/features.h" #include "content/public/browser/navigation_controller.h" @@ -32,11 +33,11 @@ const char* GetUserAgentOverride(const GURL& url) { return kUserAgentOverride; } - static const auto kSites = base::MakeFixedFlatSet( - base::sorted_unique, {net::SchemefulSite(GURL("https://ted.com"))}); + static const base::NoDestructor> kSites{ + {net::SchemefulSite(GURL("https://ted.com"))}}; - return kSites.contains(net::SchemefulSite(url)) ? kUserAgentOverride - : nullptr; + return kSites->contains(net::SchemefulSite(url)) ? kUserAgentOverride + : nullptr; } } // namespace From 7b59d972516c3812fa753d0bf9013dea2de744da Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Sun, 3 Mar 2024 17:07:20 +0000 Subject: [PATCH 122/130] Reader mode deleted upstream Chromium change: https://chromium.googlesource.com/chromium/src/+/9f3ebdf359c2bb1b3b6a098bc969b8da91cdaab4 commit 9f3ebdf359c2bb1b3b6a098bc969b8da91cdaab4 Author: Abigail Klein Date: Wed Feb 28 21:31:34 2024 +0000 Remove reader mode icon. This is part of a larger effort to remove the desktop kReaderMode flag from the codebase. Bug: 40258128 --- .../speedreader/speedreader_browsertest.cc | 3 ++- browser/speedreader/speedreader_tab_helper.cc | 4 +++- .../page_action/brave_page_action_icon_type.h | 1 + .../brave_page_action_icon_container_view.cc | 18 +++++++++++++++++ .../speedreader/speedreader_icon_view.cc | 6 +++--- .../views/speedreader/speedreader_icon_view.h | 9 ++------- .../page_action_icon_controller.cc | 20 +++++++++++++++---- 7 files changed, 45 insertions(+), 16 deletions(-) diff --git a/browser/speedreader/speedreader_browsertest.cc b/browser/speedreader/speedreader_browsertest.cc index e416af9a2fd9..b17218df33eb 100644 --- a/browser/speedreader/speedreader_browsertest.cc +++ b/browser/speedreader/speedreader_browsertest.cc @@ -19,6 +19,7 @@ #include "brave/browser/speedreader/page_distiller.h" #include "brave/browser/speedreader/speedreader_service_factory.h" #include "brave/browser/speedreader/speedreader_tab_helper.h" +#include "brave/browser/ui/page_action/brave_page_action_icon_type.h" #include "brave/browser/ui/views/frame/brave_browser_view.h" #include "brave/browser/ui/webui/speedreader/speedreader_toolbar_data_handler_impl.h" #include "brave/components/ai_chat/core/common/buildflags/buildflags.h" @@ -173,7 +174,7 @@ class SpeedReaderBrowserTest : public InProcessBrowserTest { PageActionIconView* GetReaderButton() { return BrowserView::GetBrowserViewForBrowser(browser()) ->toolbar_button_provider() - ->GetPageActionIconView(PageActionIconType::kReaderMode); + ->GetPageActionIconView(brave::kSpeedreaderPageActionIconType); } void WaitDistilled(speedreader::SpeedreaderTabHelper* th = nullptr) { diff --git a/browser/speedreader/speedreader_tab_helper.cc b/browser/speedreader/speedreader_tab_helper.cc index 92571dacd4e8..bd60f9bda92f 100644 --- a/browser/speedreader/speedreader_tab_helper.cc +++ b/browser/speedreader/speedreader_tab_helper.cc @@ -19,6 +19,7 @@ #include "brave/browser/brave_browser_process.h" #include "brave/browser/speedreader/page_distiller.h" #include "brave/browser/speedreader/speedreader_service_factory.h" +#include "brave/browser/ui/page_action/brave_page_action_icon_type.h" #include "brave/browser/ui/speedreader/speedreader_bubble_view.h" #include "brave/components/l10n/common/localization_util.h" #include "brave/components/speedreader/common/features.h" @@ -338,7 +339,8 @@ void SpeedreaderTabHelper::UpdateUI() { ->ShowReaderModeToolbar(); } - browser->window()->UpdatePageActionIcon(PageActionIconType::kReaderMode); + browser->window()->UpdatePageActionIcon( + brave::kSpeedreaderPageActionIconType); } #endif } diff --git a/browser/ui/page_action/brave_page_action_icon_type.h b/browser/ui/page_action/brave_page_action_icon_type.h index 520e2b3d4410..0d41b88ddc34 100644 --- a/browser/ui/page_action/brave_page_action_icon_type.h +++ b/browser/ui/page_action/brave_page_action_icon_type.h @@ -18,6 +18,7 @@ DECLARE_BRAVE_PAGE_ACTION_ICON_TYPE(kUndefinedPageActionIconType, -1); DECLARE_BRAVE_PAGE_ACTION_ICON_TYPE(kPlaylistPageActionIconType, -2); DECLARE_BRAVE_PAGE_ACTION_ICON_TYPE(kBravePlayerPageActionIconType, -3); DECLARE_BRAVE_PAGE_ACTION_ICON_TYPE(kWaybackMachineActionIconType, -4); +DECLARE_BRAVE_PAGE_ACTION_ICON_TYPE(kSpeedreaderPageActionIconType, -5); #undef DECLARE_BRAVE_PAGE_ACTION_ICON_TYPE diff --git a/browser/ui/views/page_action/brave_page_action_icon_container_view.cc b/browser/ui/views/page_action/brave_page_action_icon_container_view.cc index 2d6f27efacb0..8bc7b55e571a 100644 --- a/browser/ui/views/page_action/brave_page_action_icon_container_view.cc +++ b/browser/ui/views/page_action/brave_page_action_icon_container_view.cc @@ -9,6 +9,7 @@ #include "brave/browser/ui/page_action/brave_page_action_icon_type.h" #include "brave/components/brave_player/common/buildflags/buildflags.h" #include "brave/components/playlist/common/features.h" +#include "brave/components/speedreader/common/buildflags/buildflags.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/views/page_action/page_action_icon_params.h" @@ -18,6 +19,10 @@ #include "brave/components/brave_player/common/features.h" #endif +#if BUILDFLAG(ENABLE_SPEEDREADER) +#include "brave/components/speedreader/common/features.h" +#endif + namespace { PageActionIconParams& ModifyIconParamsForBrave(PageActionIconParams& params) { @@ -58,6 +63,19 @@ PageActionIconParams& ModifyIconParamsForBrave(PageActionIconParams& params) { } #endif +#if BUILDFLAG(ENABLE_SPEEDREADER) + if (base::FeatureList::IsEnabled(speedreader::kSpeedreaderFeature)) { + if (params.browser) { + params.types_enabled.insert( + base::ranges::find( + params.types_enabled, + PageActionIconType::kCookieControls), // The place where + // kReaderMode was. + brave::kSpeedreaderPageActionIconType); + } + } +#endif + return params; } diff --git a/browser/ui/views/speedreader/speedreader_icon_view.cc b/browser/ui/views/speedreader/speedreader_icon_view.cc index e4126716f308..16af241b1171 100644 --- a/browser/ui/views/speedreader/speedreader_icon_view.cc +++ b/browser/ui/views/speedreader/speedreader_icon_view.cc @@ -26,13 +26,13 @@ SpeedreaderIconView::SpeedreaderIconView( CommandUpdater* command_updater, IconLabelBubbleView::Delegate* icon_label_bubble_delegate, - PageActionIconView::Delegate* page_action_icon_delegate, - PrefService* pref_service) + PageActionIconView::Delegate* page_action_icon_delegate) : PageActionIconView(command_updater, IDC_SPEEDREADER_ICON_ONCLICK, icon_label_bubble_delegate, page_action_icon_delegate, - "SpeedReader") { + "SpeedReader", + /*ephemeral*/ false) { SetVisible(false); } diff --git a/browser/ui/views/speedreader/speedreader_icon_view.h b/browser/ui/views/speedreader/speedreader_icon_view.h index 3692921ad637..7dccec46beec 100644 --- a/browser/ui/views/speedreader/speedreader_icon_view.h +++ b/browser/ui/views/speedreader/speedreader_icon_view.h @@ -10,20 +10,17 @@ #include "chrome/browser/ui/views/page_action/page_action_icon_view.h" #include "ui/base/metadata/metadata_header_macros.h" -class PrefService; - class SpeedreaderIconView : public PageActionIconView { METADATA_HEADER(SpeedreaderIconView, PageActionIconView) public: SpeedreaderIconView(CommandUpdater* command_updater, IconLabelBubbleView::Delegate* icon_label_bubble_delegate, - PageActionIconView::Delegate* page_action_icon_delegate, - PrefService* pref_service); + PageActionIconView::Delegate* page_action_icon_delegate); SpeedreaderIconView(const SpeedreaderIconView&) = delete; SpeedreaderIconView& operator=(const SpeedreaderIconView&) = delete; ~SpeedreaderIconView() override; - protected: + private: // PageActionIconView: const gfx::VectorIcon& GetVectorIcon() const override; void OnExecuting(PageActionIconView::ExecuteSource execute_source) override; @@ -31,8 +28,6 @@ class SpeedreaderIconView : public PageActionIconView { std::u16string GetTextForTooltipAndAccessibleName() const override; void UpdateImpl() override; bool OnMousePressed(const ui::MouseEvent& event) override; - - private: speedreader::DistillState GetDistillState() const; }; diff --git a/chromium_src/chrome/browser/ui/views/page_action/page_action_icon_controller.cc b/chromium_src/chrome/browser/ui/views/page_action/page_action_icon_controller.cc index 9235cec2a829..b8581ff0aed7 100644 --- a/chromium_src/chrome/browser/ui/views/page_action/page_action_icon_controller.cc +++ b/chromium_src/chrome/browser/ui/views/page_action/page_action_icon_controller.cc @@ -6,11 +6,10 @@ #include "brave/browser/ui/page_action/brave_page_action_icon_type.h" #include "brave/browser/ui/views/location_bar/brave_star_view.h" #include "brave/browser/ui/views/page_action/wayback_machine_action_icon_view.h" -#include "brave/browser/ui/views/speedreader/speedreader_icon_view.h" #include "brave/components/brave_player/common/buildflags/buildflags.h" #include "brave/components/playlist/common/buildflags/buildflags.h" +#include "brave/components/speedreader/common/buildflags/buildflags.h" #include "chrome/browser/ui/page_action/page_action_icon_type.h" -#include "chrome/browser/ui/views/reader_mode/reader_mode_icon_view.h" #if BUILDFLAG(ENABLE_PLAYLIST_WEBUI) #include "brave/browser/ui/views/playlist/playlist_action_icon_view.h" @@ -26,6 +25,13 @@ constexpr bool kSupportsBravePlayerActionIconView = true; constexpr bool kSupportsBravePlayerActionIconView = false; #endif +#if BUILDFLAG(ENABLE_SPEEDREADER) +#include "brave/browser/ui/views/speedreader/speedreader_icon_view.h" +constexpr bool kSupportsSpeedreaderActionIconView = true; +#else +constexpr bool kSupportsSpeedreaderActionIconView = false; +#endif + // Circumvent creation of CookieControlsIconView in // PageActionIconController::Init's switch statement by injecting a case // with a non-existent value created above. @@ -55,13 +61,19 @@ constexpr bool kSupportsBravePlayerActionIconView = false; params.page_action_icon_delegate)); \ } \ break; \ + case brave::kSpeedreaderPageActionIconType: \ + if constexpr (kSupportsSpeedreaderActionIconView) { \ + add_page_action_icon( \ + type, std::make_unique( \ + params.command_updater, params.icon_label_bubble_delegate, \ + params.page_action_icon_delegate)); \ + } \ + break; \ case brave::kUndefinedPageActionIconType -#define ReaderModeIconView SpeedreaderIconView #define StarView BraveStarView #include "src/chrome/browser/ui/views/page_action/page_action_icon_controller.cc" #undef StarView -#undef ReaderModeIconView #undef kCookieControls PageActionIconView* PageActionIconController::GetPlaylistActionIconView() { From d2231dd4c80a5b3c56f12c495bdd813341d0407a Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Thu, 14 Mar 2024 17:04:24 +0000 Subject: [PATCH 123/130] Avoid `Read`/`WriteBigEndian` These functions are getting deleted by upstream and getting replaced by safer version from `//base/numerics`. This change corrects all occurrences of these functions. Chromium change: https://chromium.googlesource.com/chromium/src/+/437342e0e2e8759f07c7de53e7512d202d761a83 commit 437342e0e2e8759f07c7de53e7512d202d761a83 Author: danakj Date: Tue Mar 12 14:35:27 2024 +0000 Remove base::{Read,Write}BigEndian These are now dead code, and replaced by base::numerics byte conversions. R=tsepez@chromium.org Bug: 40284755 --- .../brave_private_cdn/private_cdn_helper.cc | 8 ++++---- .../test/common/rewards_browsertest_response.cc | 6 ++++-- .../database_publisher_prefix_list_unittest.cc | 6 ++++-- .../get_publisher/get_publisher_unittest.cc | 6 ++++-- .../browser/zcash/zcash_grpc_utils.cc | 9 ++++----- components/brave_wallet/common/zcash_utils.cc | 15 +++++---------- .../public/cpp/utils/protobuf_utils.cc | 11 ++++++----- 7 files changed, 31 insertions(+), 30 deletions(-) diff --git a/components/brave_private_cdn/private_cdn_helper.cc b/components/brave_private_cdn/private_cdn_helper.cc index 3163588f08d0..60cd44c8d90d 100644 --- a/components/brave_private_cdn/private_cdn_helper.cc +++ b/components/brave_private_cdn/private_cdn_helper.cc @@ -7,8 +7,9 @@ #include -#include "base/big_endian.h" +#include "base/containers/span.h" #include "base/no_destructor.h" +#include "base/numerics/byte_conversions.h" namespace brave { @@ -28,9 +29,8 @@ bool PrivateCdnHelper::RemovePadding(std::string_view* padded_string) const { } // Read payload length from the header. - uint32_t data_length; - base::ReadBigEndian(reinterpret_cast(padded_string->data()), - &data_length); + uint32_t data_length = base::numerics::U32FromBigEndian( + base::as_byte_span(*padded_string).first<4u>()); // Remove length header. padded_string->remove_prefix(sizeof(uint32_t)); diff --git a/components/brave_rewards/browser/test/common/rewards_browsertest_response.cc b/components/brave_rewards/browser/test/common/rewards_browsertest_response.cc index c3efa93b00c1..e3b6563b3a98 100644 --- a/components/brave_rewards/browser/test/common/rewards_browsertest_response.cc +++ b/components/brave_rewards/browser/test/common/rewards_browsertest_response.cc @@ -6,10 +6,11 @@ #include #include -#include "base/big_endian.h" #include "base/containers/contains.h" +#include "base/containers/span.h" #include "base/files/file_path.h" #include "base/files/file_util.h" +#include "base/numerics/byte_conversions.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_split.h" #include "brave/components/brave_rewards/browser/test/common/rewards_browsertest_network_util.h" @@ -119,7 +120,8 @@ std::string GetPublisherChannelResponse( // Add padding header uint32_t length = out.length(); out.insert(0, 4, ' '); - base::WriteBigEndian(&out[0], length); + base::as_writable_byte_span(out).first<4u>().copy_from( + base::numerics::U32ToBigEndian(length)); return out; } diff --git a/components/brave_rewards/core/database/database_publisher_prefix_list_unittest.cc b/components/brave_rewards/core/database/database_publisher_prefix_list_unittest.cc index 19789ac29e07..d972a636b4df 100644 --- a/components/brave_rewards/core/database/database_publisher_prefix_list_unittest.cc +++ b/components/brave_rewards/core/database/database_publisher_prefix_list_unittest.cc @@ -7,7 +7,8 @@ #include #include -#include "base/big_endian.h" +#include "base/containers/span.h" +#include "base/numerics/byte_conversions.h" #include "base/test/mock_callback.h" #include "base/test/task_environment.h" #include "brave/components/brave_rewards/core/database/database_publisher_prefix_list.h" @@ -33,7 +34,8 @@ class DatabasePublisherPrefixListTest : public ::testing::Test { std::string prefixes; prefixes.resize(prefix_count * 4); for (uint32_t i = 0; i < prefix_count; ++i) { - base::WriteBigEndian(&prefixes[i * 4], i); + base::as_writable_byte_span(prefixes).subspan(i * 4).first<4>().copy_from( + base::numerics::U32ToBigEndian(i)); } publishers_pb::PublisherPrefixList message; diff --git a/components/brave_rewards/core/endpoint/private_cdn/get_publisher/get_publisher_unittest.cc b/components/brave_rewards/core/endpoint/private_cdn/get_publisher/get_publisher_unittest.cc index 6cbc839824e2..b5b196fd6457 100644 --- a/components/brave_rewards/core/endpoint/private_cdn/get_publisher/get_publisher_unittest.cc +++ b/components/brave_rewards/core/endpoint/private_cdn/get_publisher/get_publisher_unittest.cc @@ -6,7 +6,8 @@ #include #include -#include "base/big_endian.h" +#include "base/containers/span.h" +#include "base/numerics/byte_conversions.h" #include "brave/components/brave_rewards/core/common/environment_config.h" #include "brave/components/brave_rewards/core/endpoint/private_cdn/get_publisher/get_publisher.h" #include "brave/components/brave_rewards/core/publisher/protos/channel_response.pb.h" @@ -52,7 +53,8 @@ class GetPublisherTest : public RewardsEngineTest { // Add padding header uint32_t length = out.length(); out.insert(0, 4, ' '); - base::WriteBigEndian(&out[0], length); + base::as_writable_byte_span(out).first<4u>().copy_from( + base::numerics::U32ToBigEndian(length)); return out; } diff --git a/components/brave_wallet/browser/zcash/zcash_grpc_utils.cc b/components/brave_wallet/browser/zcash/zcash_grpc_utils.cc index 5ae5a30522ee..ec2e7b19e899 100644 --- a/components/brave_wallet/browser/zcash/zcash_grpc_utils.cc +++ b/components/brave_wallet/browser/zcash/zcash_grpc_utils.cc @@ -7,8 +7,9 @@ #include -#include "base/big_endian.h" +#include "base/containers/span.h" #include "base/functional/callback.h" +#include "base/numerics/byte_conversions.h" namespace brave_wallet { @@ -34,10 +35,8 @@ void GRrpcMessageStreamHandler::OnDataReceived(std::string_view string_piece, OnComplete(false); return; } - uint32_t size = 0; - base::ReadBigEndian(reinterpret_cast(&(data_view[1])), - &size); - message_body_size = size; + message_body_size = base::numerics::U32FromBigEndian( + base::as_byte_span(data_view).subspan<1, 4u>()); if (*message_body_size > kMaxMessageSizeBytes) { // Too large message OnComplete(false); diff --git a/components/brave_wallet/common/zcash_utils.cc b/components/brave_wallet/common/zcash_utils.cc index 040801bb00b7..082cc0e1cb74 100644 --- a/components/brave_wallet/common/zcash_utils.cc +++ b/components/brave_wallet/common/zcash_utils.cc @@ -10,7 +10,8 @@ #include #include -#include "base/big_endian.h" +#include "base/containers/span.h" +#include "base/numerics/byte_conversions.h" #include "base/types/expected.h" #include "brave/components/brave_wallet/common/btc_like_serializer_stream.h" #include "brave/components/brave_wallet/common/encoding_utils.h" @@ -48,19 +49,13 @@ std::optional ReadCompactSize(base::span& data) { value = type; data = data.subspan(1); } else if (type == 253 && data.size() >= 3) { - uint16_t val = 0; - base::ReadBigEndian(&data[1], &val); - value = val; + value = base::numerics::U16FromBigEndian(data.subspan<1, 2u>()); data = data.subspan(1 + 2); } else if (type <= 254 && data.size() >= 5) { - uint32_t val = 0; - base::ReadBigEndian(&data[1], &val); - value = val; + value = base::numerics::U32FromBigEndian(data.subspan<1, 4u>()); data = data.subspan(1 + 4); } else if (data.size() >= 9) { - uint64_t val = 0; - base::ReadBigEndian(&data[1], &val); - value = val; + value = base::numerics::U64FromBigEndian(data.subspan<1, 8u>()); data = data.subspan(1 + 8); } else { return std::nullopt; diff --git a/components/services/brave_wallet/public/cpp/utils/protobuf_utils.cc b/components/services/brave_wallet/public/cpp/utils/protobuf_utils.cc index 5d7ddb75ac86..dfc4b387ce9c 100644 --- a/components/services/brave_wallet/public/cpp/utils/protobuf_utils.cc +++ b/components/services/brave_wallet/public/cpp/utils/protobuf_utils.cc @@ -7,8 +7,9 @@ #include -#include "base/big_endian.h" +#include "base/containers/span.h" #include "base/functional/callback.h" +#include "base/numerics/byte_conversions.h" namespace brave_wallet { @@ -20,7 +21,8 @@ constexpr char kNoCompression = 0; std::string GetPrefixedProtobuf(const std::string& serialized_proto) { std::string result(kGrpcHeaderSize, 0); result[0] = kNoCompression; - base::WriteBigEndian(&result[1], serialized_proto.size()); + base::as_writable_byte_span(result).subspan<1u, 4u>().copy_from( + base::numerics::U32ToBigEndian(serialized_proto.size())); result.append(serialized_proto); return result; } @@ -34,9 +36,8 @@ std::optional ResolveSerializedMessage( // Compression is not supported yet return std::nullopt; } - uint32_t size = 0; - base::ReadBigEndian( - reinterpret_cast(&(grpc_response_body[1])), &size); + uint32_t size = base::numerics::U32FromBigEndian( + base::as_byte_span(grpc_response_body).subspan<1, 4u>()); if (grpc_response_body.size() != size + kGrpcHeaderSize) { return std::nullopt; From 7e6d7b79140e3ccf1237ec6fcace299c4d16b7e6 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Wed, 3 Apr 2024 15:33:07 +0100 Subject: [PATCH 124/130] `ContentsLayoutManager::Layout` not overridable anymore Upstream has provided a `LayoutImpl` alternative for such event. Chromium change: https://chromium.googlesource.com/chromium/src/+/49b9e53e94a4a464a4b1ec12b449fb4be602edf3 commit 49b9e53e94a4a464a4b1ec12b449fb4be602edf3 Author: Dana Fried Date: Wed Nov 6 19:03:43 2019 +0000 Prevent layout manager from being invalidated during layout. Fixes potential hard crash when arbitrary View subclass calls InvalidateLayout() during OnBoundsChanged(), etc. (We saw this in at least one example in the wild.) Change-Id: I639fcaf0198fa899989b36a6264d1caa74ef8404 --- browser/ui/views/frame/brave_contents_layout_manager.cc | 8 ++++---- browser/ui/views/frame/brave_contents_layout_manager.h | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/browser/ui/views/frame/brave_contents_layout_manager.cc b/browser/ui/views/frame/brave_contents_layout_manager.cc index 32bafb57425e..a3270b3b23cd 100644 --- a/browser/ui/views/frame/brave_contents_layout_manager.cc +++ b/browser/ui/views/frame/brave_contents_layout_manager.cc @@ -12,11 +12,11 @@ BraveContentsLayoutManager::~BraveContentsLayoutManager() = default; -void BraveContentsLayoutManager::Layout(views::View* contents_container) { +void BraveContentsLayoutManager::LayoutImpl() { if (!base::FeatureList::IsEnabled(tabs::features::kBraveSplitView) || !secondary_contents_view_ || !devtools_view_ || !secondary_contents_view_->GetVisible()) { - ContentsLayoutManager::Layout(contents_container); + ContentsLayoutManager::LayoutImpl(); return; } @@ -37,7 +37,7 @@ void BraveContentsLayoutManager::Layout(views::View* contents_container) { devtools_view->SetBoundsRect(new_devtools_bounds); }; - gfx::Rect bounds = contents_container->GetLocalBounds(); + gfx::Rect bounds = host_view()->GetLocalBounds(); bounds.set_width(bounds.width() / 2); if (show_main_web_contents_at_tail_) { layout_web_contents_and_devtools(bounds, secondary_contents_view_, @@ -49,7 +49,7 @@ void BraveContentsLayoutManager::Layout(views::View* contents_container) { // In case of odd width, give the remaining // width to the secondary contents view. bounds.set_x(bounds.width()); - bounds.set_width(contents_container->width() - bounds.width()); + bounds.set_width(host_view()->width() - bounds.width()); if (show_main_web_contents_at_tail_) { layout_web_contents_and_devtools(bounds, contents_view_, devtools_view_); } else { diff --git a/browser/ui/views/frame/brave_contents_layout_manager.h b/browser/ui/views/frame/brave_contents_layout_manager.h index 9732b237dcca..134b2272bdf7 100644 --- a/browser/ui/views/frame/brave_contents_layout_manager.h +++ b/browser/ui/views/frame/brave_contents_layout_manager.h @@ -34,8 +34,9 @@ class BraveContentsLayoutManager : public ContentsLayoutManager { show_main_web_contents_at_tail_ = tail; } + protected: // ContentsLayoutManager: - void Layout(views::View* host) override; + void LayoutImpl() override; private: friend class BraveContentsLayoutManagerUnitTest; From 2a4560eda813db700fc7d38f5ca0be2849409813 Mon Sep 17 00:00:00 2001 From: mkarolin Date: Wed, 3 Apr 2024 10:06:23 -0400 Subject: [PATCH 125/130] Disables upstream features flagged by security/privacy teams. --- .../core/page_content_annotations_features.cc | 19 +++++++++++++++++++ .../interest_group/interest_group_features.cc | 18 ++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 chromium_src/components/page_content_annotations/core/page_content_annotations_features.cc create mode 100644 chromium_src/content/browser/interest_group/interest_group_features.cc diff --git a/chromium_src/components/page_content_annotations/core/page_content_annotations_features.cc b/chromium_src/components/page_content_annotations/core/page_content_annotations_features.cc new file mode 100644 index 000000000000..adba280ee653 --- /dev/null +++ b/chromium_src/components/page_content_annotations/core/page_content_annotations_features.cc @@ -0,0 +1,19 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#include "src/components/page_content_annotations/core/page_content_annotations_features.cc" + +#include "base/feature_override.h" + +namespace page_content_annotations::features { + +OVERRIDE_FEATURE_DEFAULT_STATES({{ + {kPageContentAnnotations, base::FEATURE_DISABLED_BY_DEFAULT}, + {kPageVisibilityBatchAnnotations, base::FEATURE_DISABLED_BY_DEFAULT}, + {kPageVisibilityPageContentAnnotations, base::FEATURE_DISABLED_BY_DEFAULT}, + {kRemotePageMetadata, base::FEATURE_DISABLED_BY_DEFAULT}, +}}); + +} // namespace page_content_annotations::features diff --git a/chromium_src/content/browser/interest_group/interest_group_features.cc b/chromium_src/content/browser/interest_group/interest_group_features.cc new file mode 100644 index 000000000000..e1808de4524f --- /dev/null +++ b/chromium_src/content/browser/interest_group/interest_group_features.cc @@ -0,0 +1,18 @@ +/* Copyright (c) 2024 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#include "src/content/browser/interest_group/interest_group_features.cc" + +#include "base/feature_override.h" + +namespace features { + +OVERRIDE_FEATURE_DEFAULT_STATES({{ + {kEnableUpdatingExecutionModeToFrozenContext, + base::FEATURE_DISABLED_BY_DEFAULT}, + {kEnableUpdatingUserBiddingSignals, base::FEATURE_DISABLED_BY_DEFAULT}, +}}); + +} // namespace features From 1ddca08eda622274fbaf2d4e262873f671fce926 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Wed, 3 Apr 2024 15:24:52 -0400 Subject: [PATCH 126/130] [Android] Adjustments for the Read Aloud feature Chromium changes: https://source.chromium.org/chromium/chromium/src/+/bfcf11b488c2d0156367fadbe184c18496bc69f1 M124: Read Aloud: fix browser controls position issues after theme change If the theme is changed during playback, the player UI is recreated while the main activity isn't visible the settings activity is on screen instead. * The top toolbar control container height is 0, so when called back with browser controls offset changes, getToolbarExtraYOffset() gives the wrong result, placing the toolbar too low. * The bottom controls need to be translated to match the bottom controls min height whenever the real view becomes visible, not just at the end of min height animations. * Plumb the Read Aloud mini player show status over to BottomControlsMediator to help with positioning the bottom controls after restore when the usual height change animation callback won't be called. (cherry picked from commit dc98643c9f66679b69636a5138e345338de3b758) Bug: 329823963 --- android/java/apk_for_test.flags | 1 + .../browser/toolbar/BraveToolbarManager.java | 7 ++++- .../BraveBottomControlsCoordinator.java | 7 +++-- .../chromium/chrome/browser/BytecodeTest.java | 28 +++++++++++++------ .../bottom/BraveBottomControlsMediator.java | 7 +++-- .../BraveToolbarManagerClassAdapter.java | 3 ++ 6 files changed, 40 insertions(+), 13 deletions(-) diff --git a/android/java/apk_for_test.flags b/android/java/apk_for_test.flags index 7e7ee9e249c1..65d09f6e1644 100644 --- a/android/java/apk_for_test.flags +++ b/android/java/apk_for_test.flags @@ -140,6 +140,7 @@ *** mTabCreatorManager; *** mSnackbarManager; *** mTabObscuringHandler; + *** mReadAloudControllerSupplier; *** onOrientationChange(...); *** updateBookmarkButtonStatus(...); *** updateReloadState(...); diff --git a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java index 82292338e43e..d293251d7064 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java +++ b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java @@ -113,6 +113,7 @@ public class BraveToolbarManager extends ToolbarManager { private TabObscuringHandler mTabObscuringHandler; private LayoutStateProvider.LayoutStateObserver mLayoutStateObserver; private LayoutStateProvider mLayoutStateProvider; + private ObservableSupplier mReadAloudControllerSupplier; // Own members. private boolean mIsBottomToolbarVisible; @@ -311,7 +312,11 @@ public void enableBottomControls() { mTabGroupUi, mTabObscuringHandler, mOverlayPanelVisibilitySupplier, - getConstraintsProxy())); + getConstraintsProxy(), + /* readAloudRestoringSupplier= */ () -> { + final var readAloud = mReadAloudControllerSupplier.get(); + return readAloud != null && readAloud.isRestoringPlayer(); + })); mBottomControls.setBottomControlsCoordinatorSupplier( mBottomControlsCoordinatorSupplier); updateBottomToolbarVisibility(); diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java index 3404a3b73ac3..d29c3fddae1b 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsCoordinator.java @@ -16,6 +16,7 @@ import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.ObservableSupplierImpl; import org.chromium.base.supplier.OneshotSupplier; +import org.chromium.base.supplier.Supplier; import org.chromium.chrome.R; import org.chromium.chrome.browser.ActivityTabProvider; import org.chromium.chrome.browser.bookmarks.BookmarkModel; @@ -73,7 +74,8 @@ public BraveBottomControlsCoordinator( BottomControlsContentDelegate contentDelegate, TabObscuringHandler tabObscuringHandler, ObservableSupplier overlayPanelVisibilitySupplier, - ObservableSupplier constraintsSupplier) { + ObservableSupplier constraintsSupplier, + Supplier readAloudRestoringSupplier) { super( activity, windowAndroid, @@ -86,7 +88,8 @@ public BraveBottomControlsCoordinator( contentDelegate, tabObscuringHandler, overlayPanelVisibilitySupplier, - constraintsSupplier); + constraintsSupplier, + readAloudRestoringSupplier); mTabSwitcherLongclickListener = tabSwitcherLongclickListener; mTabProvider = tabProvider; diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index befbcc1d82b3..41532f6c9082 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -834,7 +834,8 @@ public void testConstructorsExistAndMatch() throws Exception { TabObscuringHandler.class, int.class, ObservableSupplier.class, - ObservableSupplier.class)); + ObservableSupplier.class, + Supplier.class)); Assert.assertTrue( constructorsMatch( "org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl", @@ -1362,14 +1363,25 @@ public void testFieldsExist() throws Exception { "org/chromium/chrome/browser/password_manager/settings/PasswordAccessReauthenticationHelper", // presubmit: ignore-long-line "mFragmentManager")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/toolbar/bottom/BottomControlsCoordinator", + fieldExists( + "org/chromium/chrome/browser/toolbar/bottom/BottomControlsCoordinator", "mMediator")); - Assert.assertTrue(fieldExists("org/chromium/chrome/browser/toolbar/ToolbarManager", - "mBottomControlsCoordinatorSupplier")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mCallbackController")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mBrowserControlsSizer")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mBottomControlsCoordinatorSupplier")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mReadAloudControllerSupplier")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mCallbackController")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mBrowserControlsSizer")); Assert.assertTrue(fieldExists( "org/chromium/chrome/browser/toolbar/ToolbarManager", "mFullscreenManager")); Assert.assertTrue(fieldExists( diff --git a/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java b/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java index cbb8dd4ae4f8..c3fdecf9745d 100644 --- a/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java +++ b/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BraveBottomControlsMediator.java @@ -7,6 +7,7 @@ import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.ObservableSupplierImpl; +import org.chromium.base.supplier.Supplier; import org.chromium.chrome.browser.browser_controls.BrowserControlsSizer; import org.chromium.chrome.browser.fullscreen.FullscreenManager; import org.chromium.chrome.browser.tab.TabObscuringHandler; @@ -36,7 +37,8 @@ class BraveBottomControlsMediator extends BottomControlsMediator { TabObscuringHandler tabObscuringHandler, int bottomControlsHeight, ObservableSupplier overlayPanelVisibilitySupplier, - ObservableSupplier edgeToEdgeControllerSupplier) { + ObservableSupplier edgeToEdgeControllerSupplier, + Supplier readAloudRestoringSupplier) { super( windowAndroid, model, @@ -45,7 +47,8 @@ class BraveBottomControlsMediator extends BottomControlsMediator { tabObscuringHandler, bottomControlsHeight, overlayPanelVisibilitySupplier, - edgeToEdgeControllerSupplier); + edgeToEdgeControllerSupplier, + readAloudRestoringSupplier); mTabGroupUiVisibleSupplier.set(false); mBottomToolbarVisibleSupplier.set(false); diff --git a/build/android/bytecode/java/org/brave/bytecode/BraveToolbarManagerClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BraveToolbarManagerClassAdapter.java index 6ddd59a284ff..1fc63beb2f9e 100644 --- a/build/android/bytecode/java/org/brave/bytecode/BraveToolbarManagerClassAdapter.java +++ b/build/android/bytecode/java/org/brave/bytecode/BraveToolbarManagerClassAdapter.java @@ -98,6 +98,9 @@ public BraveToolbarManagerClassAdapter(ClassVisitor visitor) { deleteField(sBraveToolbarManagerClassName, "mTabObscuringHandler"); makeProtectedField(sToolbarManagerClassName, "mTabObscuringHandler"); + deleteField(sBraveToolbarManagerClassName, "mReadAloudControllerSupplier"); + makeProtectedField(sToolbarManagerClassName, "mReadAloudControllerSupplier"); + makePublicMethod(sToolbarManagerClassName, "onOrientationChange"); addMethodAnnotation( sBraveToolbarManagerClassName, "onOrientationChange", "Ljava/lang/Override;"); From 80535c756fab327e309c70b78d8feddb66d7399e Mon Sep 17 00:00:00 2001 From: Max Karolinskiy Date: Thu, 4 Apr 2024 13:03:01 -0400 Subject: [PATCH 127/130] Formatting fixes. --- .../chromium/chrome/browser/BytecodeTest.java | 243 ++++++++++++------ 1 file changed, 159 insertions(+), 84 deletions(-) diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index 41532f6c9082..561b255e472e 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -1382,123 +1382,198 @@ public void testFieldsExist() throws Exception { fieldExists( "org/chromium/chrome/browser/toolbar/ToolbarManager", "mBrowserControlsSizer")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mFullscreenManager")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mActivityTabProvider")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mAppThemeColorProvider")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mScrimCoordinator")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mShowStartSurfaceSupplier")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mMenuButtonCoordinator")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mToolbarTabController")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mFullscreenManager")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mActivityTabProvider")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mAppThemeColorProvider")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", "mScrimCoordinator")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mShowStartSurfaceSupplier")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mMenuButtonCoordinator")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mToolbarTabController")); Assert.assertTrue( fieldExists("org/chromium/chrome/browser/toolbar/ToolbarManager", "mLocationBar")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mActionModeController")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mLocationBarModel")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mActionModeController")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", "mLocationBarModel")); Assert.assertTrue( fieldExists("org/chromium/chrome/browser/toolbar/ToolbarManager", "mToolbar")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mBookmarkModelSupplier")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mLayoutManager")); - Assert.assertTrue(fieldExists("org/chromium/chrome/browser/toolbar/ToolbarManager", - "mOverlayPanelVisibilitySupplier")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mTabModelSelector")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mIncognitoStateProvider")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mBookmarkModelSupplier")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", "mLayoutManager")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mOverlayPanelVisibilitySupplier")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", "mTabModelSelector")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mIncognitoStateProvider")); Assert.assertTrue( fieldExists("org/chromium/chrome/browser/toolbar/ToolbarManager", "mTabGroupUi")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mBottomSheetController")); - Assert.assertTrue(fieldExists("org/chromium/chrome/browser/toolbar/ToolbarManager", - "mActivityLifecycleDispatcher")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mIsWarmOnResumeSupplier")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mTabContentManager")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mTabCreatorManager")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mSnackbarManager")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/ToolbarManager", "mTabObscuringHandler")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator", + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mBottomSheetController")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mActivityLifecycleDispatcher")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mIsWarmOnResumeSupplier")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mTabContentManager")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mTabCreatorManager")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", "mSnackbarManager")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mTabObscuringHandler")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator", "mTabSwitcherModeCoordinator")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator", + fieldExists( + "org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator", "mOptionalButtonController")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator", + fieldExists( + "org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator", "mToolbarColorObserverManager")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/toolbar/top/TabSwitcherModeTTCoordinator", + fieldExists( + "org/chromium/chrome/browser/toolbar/top/TabSwitcherModeTTCoordinator", "mActiveTabSwitcherToolbar")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/toolbar/top/TabSwitcherModeTopToolbar", + fieldExists( + "org/chromium/chrome/browser/toolbar/top/TabSwitcherModeTopToolbar", "mNewTabViewButton")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/toolbar/top/TabSwitcherModeTopToolbar", + fieldExists( + "org/chromium/chrome/browser/toolbar/top/TabSwitcherModeTopToolbar", "mNewTabImageButton")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/toolbar/top/TabSwitcherModeTopToolbar", + fieldExists( + "org/chromium/chrome/browser/toolbar/top/TabSwitcherModeTopToolbar", "mShouldShowNewTabVariation")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/toolbar/top/TabSwitcherModeTopToolbar", + fieldExists( + "org/chromium/chrome/browser/toolbar/top/TabSwitcherModeTopToolbar", "mIsIncognito")); - Assert.assertTrue(fieldExists("org/chromium/chrome/browser/app/ChromeActivity", - "mBrowserControlsManagerSupplier")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator", + fieldExists( + "org/chromium/chrome/browser/app/ChromeActivity", + "mBrowserControlsManagerSupplier")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator", "mBottomControlsHeight")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator", "mModel")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator", + fieldExists( + "org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator", + "mModel")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator", "mBrowserControlsSizer")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/toolbar/IncognitoToggleTabLayout", + fieldExists( + "org/chromium/chrome/browser/toolbar/IncognitoToggleTabLayout", "mIncognitoButtonIcon")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator", - "mToolbarView")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter", - "mProfile")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/search_engines/settings/SearchEngineSettings", - "mProfile")); - Assert.assertTrue(fieldExists( - "org/chromium/chrome/browser/search_engines/settings/SearchEngineSettings", - "mSearchEngineAdapter")); - Assert.assertTrue(fieldExists( - "org/chromium/components/browser_ui/site_settings/SingleCategorySettings", - "mCategory", true, SiteSettingsCategory.class)); - Assert.assertTrue(fieldExists( - "org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings", "mSite", - true, Website.class)); Assert.assertTrue( - fieldExists("org/chromium/components/variations/firstrun/VariationsSeedFetcher", - "sLock", true, Object.class)); + fieldExists( + "org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator", + "mToolbarView")); Assert.assertTrue( - fieldExists("org/chromium/components/variations/firstrun/VariationsSeedFetcher", - "DEFAULT_VARIATIONS_SERVER_URL", true, String.class)); + fieldExists( + "org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter", + "mProfile")); Assert.assertTrue( - fieldExists("org/chromium/components/variations/firstrun/VariationsSeedFetcher", - "DEFAULT_FAST_VARIATIONS_SERVER_URL", true, String.class)); + fieldExists( + "org/chromium/chrome/browser/search_engines/settings/SearchEngineSettings", + "mProfile")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator", - "mNativeInitialized", true, boolean.class)); + fieldExists( + "org/chromium/chrome/browser/search_engines/settings/SearchEngineSettings", + "mSearchEngineAdapter")); Assert.assertTrue( - fieldExists("org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator", + fieldExists( + "org/chromium/components/browser_ui/site_settings/SingleCategorySettings", + "mCategory", + true, + SiteSettingsCategory.class)); + Assert.assertTrue( + fieldExists( + "org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings", + "mSite", + true, + Website.class)); + Assert.assertTrue( + fieldExists( + "org/chromium/components/variations/firstrun/VariationsSeedFetcher", + "sLock", + true, + Object.class)); + Assert.assertTrue( + fieldExists( + "org/chromium/components/variations/firstrun/VariationsSeedFetcher", + "DEFAULT_VARIATIONS_SERVER_URL", + true, + String.class)); + Assert.assertTrue( + fieldExists( + "org/chromium/components/variations/firstrun/VariationsSeedFetcher", + "DEFAULT_FAST_VARIATIONS_SERVER_URL", + true, + String.class)); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator", + "mNativeInitialized", + true, + boolean.class)); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator", "mDropdownViewInfoListManager")); Assert.assertTrue( fieldExists( From c1c85319b12d29697ca138875ef2781fc468d50a Mon Sep 17 00:00:00 2001 From: mkarolin Date: Fri, 5 Apr 2024 00:26:30 -0400 Subject: [PATCH 128/130] Convert StorageAccessAPIBrowserTest to PlatformBrowserTest. --- browser/storage_access_api/BUILD.gn | 14 +++-- browser/storage_access_api/api_browsertest.cc | 51 +++++++++---------- test/BUILD.gn | 3 +- 3 files changed, 36 insertions(+), 32 deletions(-) diff --git a/browser/storage_access_api/BUILD.gn b/browser/storage_access_api/BUILD.gn index a3dab103f2ca..8afb11c28833 100644 --- a/browser/storage_access_api/BUILD.gn +++ b/browser/storage_access_api/BUILD.gn @@ -4,8 +4,6 @@ # You can obtain one at https://mozilla.org/MPL/2.0/. */ source_set("browser_tests") { - assert(!is_android) - testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] @@ -14,9 +12,15 @@ source_set("browser_tests") { deps = [ "//base", "//chrome/browser", - "//chrome/browser/policy:test_support", - "//chrome/browser/ui", - "//chrome/test:test_support_ui", + "//chrome/test:test_support", + "//components/content_settings/core/browser", "//components/permissions:test_support", + "//net:test_support", ] + + if (is_android) { + deps += [ "//chrome/test:test_support_ui_android" ] + } else { + deps += [ "//chrome/test:test_support_ui" ] + } } diff --git a/browser/storage_access_api/api_browsertest.cc b/browser/storage_access_api/api_browsertest.cc index 68bd82a9b18f..3ca260bed633 100644 --- a/browser/storage_access_api/api_browsertest.cc +++ b/browser/storage_access_api/api_browsertest.cc @@ -9,17 +9,14 @@ #include "base/path_service.h" #include "base/strings/strcat.h" #include "base/strings/string_piece.h" -#include "chrome/browser/policy/policy_test_utils.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/ui/browser.h" -#include "chrome/browser/ui/tabs/tab_strip_model.h" -#include "chrome/test/base/in_process_browser_test.h" -#include "chrome/test/base/ui_test_utils.h" +#include "chrome/test/base/chrome_test_utils.h" #include "components/content_settings/core/browser/cookie_settings.h" #include "components/content_settings/core/common/pref_names.h" #include "components/permissions/test/permission_request_observer.h" #include "components/prefs/pref_service.h" #include "content/public/browser/render_frame_host.h" +#include "content/public/browser/web_contents.h" #include "content/public/common/content_paths.h" #include "content/public/test/browser_test.h" #include "content/public/test/browser_test_utils.h" @@ -75,14 +72,14 @@ std::string CookieAttributes(std::string_view domain) { } // namespace // The test is based on Chromium's StorageAccessAPIBrowserTest. -class StorageAccessAPIBrowserTest : public policy::PolicyTest { +class StorageAccessAPIBrowserTest : public PlatformBrowserTest { public: StorageAccessAPIBrowserTest() : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {} void SetUpOnMainThread() override { host_resolver()->AddRule("*", "127.0.0.1"); - base::FilePath path = base::PathService::CheckedGet(content::DIR_TEST_DATA); + base::FilePath path = GetChromeTestDataDir(); https_server_.SetSSLConfig(net::EmbeddedTestServer::CERT_TEST_NAMES); https_server_.ServeFilesFromDirectory(path); https_server_.AddDefaultHandlers(GetChromeTestDataDir()); @@ -100,44 +97,49 @@ class StorageAccessAPIBrowserTest : public policy::PolicyTest { EnsureUserInteractionOn(kHostB); } + base::FilePath GetChromeTestDataDir() const { + return base::FilePath(FILE_PATH_LITERAL("chrome/test/data")); + } + + content::WebContents* web_contents() { + return chrome_test_utils::GetActiveWebContents(this); + } + + Profile* profile() { return chrome_test_utils::GetProfile(this); } + void SetCrossSiteCookieOnDomain(std::string_view domain) { GURL domain_url = GetURL(domain); std::string cookie = base::StrCat({"cross-site=", domain}); - content::SetCookie(browser()->profile(), domain_url, + content::SetCookie(profile(), domain_url, base::StrCat({cookie, CookieAttributes(domain)})); - ASSERT_THAT(content::GetCookies(browser()->profile(), domain_url), + ASSERT_THAT(content::GetCookies(profile(), domain_url), testing::HasSubstr(cookie)); } GURL GetURL(std::string_view host) { return https_server_.GetURL(host, "/"); } void EnsureUserInteractionOn(std::string_view host) { - ASSERT_TRUE(ui_test_utils::NavigateToURL( - browser(), https_server_.GetURL(host, "/empty.html"))); + ASSERT_TRUE(content::NavigateToURL( + web_contents(), https_server_.GetURL(host, "/empty.html"))); // ExecJs runs with a synthetic user interaction (by default), which is all // we need, so our script is a no-op. - ASSERT_TRUE(content::ExecJs( - browser()->tab_strip_model()->GetActiveWebContents(), "")); + ASSERT_TRUE(content::ExecJs(web_contents(), "")); } void SetBlockThirdPartyCookies() { - browser()->profile()->GetPrefs()->SetInteger( + profile()->GetPrefs()->SetInteger( prefs::kCookieControlsMode, static_cast( content_settings::CookieControlsMode::kBlockThirdParty)); } - void NavigateToPageWithFrame(const std::string& host, - Browser* browser_ptr = nullptr) { + void NavigateToPageWithFrame(const std::string& host) { GURL main_url(https_server_.GetURL(host, "/iframe.html")); - ASSERT_TRUE(ui_test_utils::NavigateToURL( - browser_ptr ? browser_ptr : browser(), main_url)); + ASSERT_TRUE(content::NavigateToURL(web_contents(), main_url)); } void NavigateFrameTo(const GURL& url) { - content::WebContents* web_contents = - browser()->tab_strip_model()->GetActiveWebContents(); - EXPECT_TRUE(NavigateIframeToURL(web_contents, "test", url)); + EXPECT_TRUE(NavigateIframeToURL(web_contents(), "test", url)); } GURL EchoCookiesURL(std::string_view host) { @@ -149,9 +151,7 @@ class StorageAccessAPIBrowserTest : public policy::PolicyTest { } content::RenderFrameHost* GetPrimaryMainFrame() { - content::WebContents* web_contents = - browser()->tab_strip_model()->GetActiveWebContents(); - return web_contents->GetPrimaryMainFrame(); + return web_contents()->GetPrimaryMainFrame(); } private: @@ -165,8 +165,7 @@ IN_PROC_BROWSER_TEST_F(StorageAccessAPIBrowserTest, EnsureNoPrompt) { // Because we set storage-access content setting to be CONTENT_SETTING_BLOCK // by default, we should not see a prompt. - permissions::PermissionRequestObserver pre_observer( - browser()->tab_strip_model()->GetActiveWebContents()); + permissions::PermissionRequestObserver pre_observer(web_contents()); ASSERT_FALSE(pre_observer.request_shown()); ASSERT_FALSE(content::ExecJs(GetFrame(), "document.requestStorageAccess()")); ASSERT_FALSE(pre_observer.request_shown()); diff --git a/test/BUILD.gn b/test/BUILD.gn index 513683c9795c..1af79becab71 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -846,6 +846,7 @@ test("brave_browser_tests") { "//brave/browser/script_injector:browser_tests", "//brave/browser/sessions:browser_tests", "//brave/browser/skus/test:browser_tests", + "//brave/browser/storage_access_api:browser_tests", "//brave/browser/test:browser_tests", "//brave/browser/themes", "//brave/browser/ui:browser_tests", @@ -1127,7 +1128,6 @@ test("brave_browser_tests") { "//brave/app/theme:brave_theme_resources_grit", "//brave/app/theme:brave_unscaled_resources_grit", "//brave/browser/sharing_hub:browser_tests", - "//brave/browser/storage_access_api:browser_tests", "//brave/browser/ui/whats_new:browser_test", "//brave/components/brave_wallet/browser:test_support", "//chrome/browser/apps/app_service:app_service", @@ -1190,6 +1190,7 @@ test("brave_browser_tests") { "$root_gen_dir/components/dev_ui_components_resources.pak", "//brave/components/brave_perf_predictor/resources/entities-httparchive-nostats.json", "//brave/test/data", + "//chrome/test/data", ] deps -= android_test_exception_deps From a14b2e5290781904ce1e494f497d0d9e40baf0f0 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Fri, 5 Apr 2024 15:57:25 +0100 Subject: [PATCH 129/130] Extend `ContentSettingsType` with mojom extensions This enum can be extended with a mojom extension, rather than relying on some patch. This change adds the override for it. Additionally, the module error message has been updated to indicate that override scope mismatches might involve more than the namespace name. --- .../core/common/content_settings_types.mojom | 27 +++++++++++++++++++ .../mojo/public/tools/mojom/mojom_parser.py | 3 ++- ...-common-content_settings_types.mojom.patch | 26 ------------------ 3 files changed, 29 insertions(+), 27 deletions(-) create mode 100644 chromium_src/components/content_settings/core/common/content_settings_types.mojom delete mode 100644 patches/components-content_settings-core-common-content_settings_types.mojom.patch diff --git a/chromium_src/components/content_settings/core/common/content_settings_types.mojom b/chromium_src/components/content_settings/core/common/content_settings_types.mojom new file mode 100644 index 000000000000..bb3c1868ea99 --- /dev/null +++ b/chromium_src/components/content_settings/core/common/content_settings_types.mojom @@ -0,0 +1,27 @@ +// Copyright (c) 2024 The Brave Authors. All rights reserved. +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at https://mozilla.org/MPL/2.0/. + +[JavaPackage="org.chromium.components.content_settings"] +module content_settings.mojom; + +[BraveExtend] +enum ContentSettingsType { + BRAVE_START, + BRAVE_ADS = BRAVE_START, + BRAVE_COSMETIC_FILTERING, + BRAVE_TRACKERS, + BRAVE_HTTP_UPGRADABLE_RESOURCES, + BRAVE_FINGERPRINTING_V2, + BRAVE_SHIELDS, + BRAVE_REFERRERS, + BRAVE_COOKIES, + BRAVE_SPEEDREADER, + BRAVE_ETHEREUM, + BRAVE_SOLANA, + BRAVE_GOOGLE_SIGN_IN, + BRAVE_HTTPS_UPGRADE, + BRAVE_REMEMBER_1P_STORAGE, + BRAVE_LOCALHOST_ACCESS, +}; diff --git a/chromium_src/mojo/public/tools/mojom/mojom_parser.py b/chromium_src/mojo/public/tools/mojom/mojom_parser.py index b03c991e5392..c9330ac0401c 100644 --- a/chromium_src/mojo/public/tools/mojom/mojom_parser.py +++ b/chromium_src/mojo/public/tools/mojom/mojom_parser.py @@ -121,7 +121,8 @@ def _ApplyBraveAstChanges(brave_ast, parsed_ast): raise ValueError( f"Mojo module ids are not equal while trying to patch: " f"{brave_ast.module.mojom_namespace} vs " - f"{ast.module.mojom_namespace}") + f"{parsed_ast.module.mojom_namespace}. " + "(Maybe missing an attribute?)") # Add new imports. for brave_import in brave_ast.import_list: diff --git a/patches/components-content_settings-core-common-content_settings_types.mojom.patch b/patches/components-content_settings-core-common-content_settings_types.mojom.patch deleted file mode 100644 index b4c2664bb4d2..000000000000 --- a/patches/components-content_settings-core-common-content_settings_types.mojom.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/components/content_settings/core/common/content_settings_types.mojom b/components/content_settings/core/common/content_settings_types.mojom -index 406f182232279b9a5accaa530891de906455b1a1..905f1a7c92e2de5b7186b27c7f3e25e0322ee836 100644 ---- a/components/content_settings/core/common/content_settings_types.mojom -+++ b/components/content_settings/core/common/content_settings_types.mojom -@@ -408,4 +408,21 @@ enum ContentSettingsType { - // Pointer Lock API allows a site to hide the cursor and have exclusive access - // to mouse inputs. - POINTER_LOCK, -+ -+ BRAVE_START, -+ BRAVE_ADS = BRAVE_START, -+ BRAVE_COSMETIC_FILTERING, -+ BRAVE_TRACKERS, -+ BRAVE_HTTP_UPGRADABLE_RESOURCES, -+ BRAVE_FINGERPRINTING_V2, -+ BRAVE_SHIELDS, -+ BRAVE_REFERRERS, -+ BRAVE_COOKIES, -+ BRAVE_SPEEDREADER, -+ BRAVE_ETHEREUM, -+ BRAVE_SOLANA, -+ BRAVE_GOOGLE_SIGN_IN, -+ BRAVE_HTTPS_UPGRADE, -+ BRAVE_REMEMBER_1P_STORAGE, -+ BRAVE_LOCALHOST_ACCESS, - }; From da8a21bb4cac59a1ad17128e72a28f706cffd8e3 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Mon, 8 Apr 2024 07:29:07 -0400 Subject: [PATCH 130/130] [Android] Added missing import --- .../browser/omnibox/suggestions/BraveAutocompleteMediator.java | 1 + 1 file changed, 1 insertion(+) diff --git a/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediator.java b/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediator.java index 5206486eb723..d227962c1e9a 100644 --- a/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediator.java +++ b/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediator.java @@ -19,6 +19,7 @@ import org.chromium.chrome.browser.omnibox.LocationBarDataProvider; import org.chromium.chrome.browser.omnibox.UrlBarEditingTextStateProvider; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; +import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab;