The accessor is now gone, and `BrowserView::GetBrowserViewForBrowser` is
used in its place.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/aaed67f345e86a74c60a9f666cd19fe898d23605
commit aaed67f345e86a74c60a9f666cd19fe898d23605
Author: Thomas Lukaszewicz <tluk@chromium.org>
Date: Wed Apr 15 11:32:42 2026 -0700
[bedrock] Move bookmark-related methods to BookmarkBarController
This CL re-homes bookmark-related methods on BrowserWindow to the
BookmarkBarController browser window feature. Test-specific methods
that only have a BrowserView impl have been removed and test code
updated to check the BrowserView directly.
This is part of an effort to slim BrowserWindow and better modularize
browser feature code.
Bug: 502745808
Change-Id: I4046786862ff822a6a11c278e25948f478340aa2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7763260
Reviewed-by: David Yeung <dayeung@chromium.org>
Commit-Queue: Thomas Lukaszewicz <tluk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1615305}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/4650246ccb09055bd278e075fb26055343174087https://chromium.googlesource.com/chromium/src/+/830564b5f14f755a81fa9f9d5f1e171b568dfc6a
commit 4650246ccb09055bd278e075fb26055343174087
Author: Kun Wang <kunwang@microsoft.com>
Date: Tue Apr 14 20:46:35 2026 -0700
[bedrock] Remove FindAllTabbedBrowsersWithProfile() from BrowserFinder
Bug: 494010890
Change-Id: I7d237edf67693e11d23397813f06d4e32d27d5a4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7738568
Reviewed-by: Thomas Lukaszewicz <tluk@chromium.org>
Reviewed-by: Qikai Zhong <qikaizhong@microsoft.com>
Commit-Queue: Kun Wang <kunwang@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1614924}
commit 830564b5f14f755a81fa9f9d5f1e171b568dfc6a
Author: Yu He <yhe@microsoft.com>
Date: Thu Mar 19 12:08:13 2026 -0700
Reland "[bedrock] FindAllTabbedBrowsersWithProfile() function call point refactoring"
This is a reland of commit e1e46c26f73c2b52e384e7ea0b59d312ab6399c5
The original CL was reverted because it caused
ActorLoadAndExtractContentToolBrowserTest.WindowClosedPrematurely to
fail on linux-wayland-mutter-rel-tests.
Root cause: GetActiveWindowId() used ProfileBrowserCollection::ForEach()
with the default kCreation order. On Wayland, when a new browser window
is shown via BrowserView::Show(), DidBecomeActive() is called
synchronously for the new window, but DidBecomeInactive() for the
previous window only fires asynchronously when the compositor sends a
"lost focus" event. This means both windows can have IsActive()==true
simultaneously. With kCreation order, the older (wrong) window was found
first. The original FindAllTabbedBrowsersWithProfile() iterated in
activation order, so the most recently shown window was always checked
first.
Fix: Pass BrowserCollection::Order::kActivation to ForEach() in
GetActiveWindowId() to match the original iteration order.
Also re-enables the WindowClosedPrematurely test on Linux, which was
disabled by a gardener after the original CL landed.
Patchset 3 fixes the issue and has been verified locally by running the
test 50 times under mutter/Wayland without failure.
Original change's description:
> [bedrock] FindAllTabbedBrowsersWithProfile() function call point refactoring
>
> Migrate all non-test call sites of FindAllTabbedBrowsersWithProfile()
> from Browser* to BrowserWindowInterface*, adapting downstream method
> calls accordingly.
>
> Call sites migrated:
> - actor_proto_conversion.cc: session_id() → GetSessionID()
> - load_and_extract_content_tool_request.cc: session_id() → GetSessionID()
> - tab_sensitivity_cache.cc: tab_strip_model() → GetTabStripModel()
>
> The function still returns std::vector<Browser*>; each call site uses
> BrowserWindowInterface* as the range-based for loop variable, relying
> on the implicit upcast from Browser* to BrowserWindowInterface*.
>
> Bug: 431671320
> Change-Id: Ie621746798e54642981b5d2330a653a5f2501821
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7665417
> Auto-Submit: Yu He <yhe@microsoft.com>
> Reviewed-by: Qikai Zhong <qikaizhong@microsoft.com>
> Reviewed-by: Tom Lukaszewicz <tluk@chromium.org>
> Commit-Queue: Qikai Zhong <qikaizhong@microsoft.com>
> Cr-Commit-Position: refs/heads/main@{#1600308}
Bug: 431671320
Change-Id: I35bd2cc00fc4411c61570be4b906dc3b4dab5dba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7678191
Reviewed-by: Qikai Zhong <qikaizhong@microsoft.com>
Commit-Queue: Tom Lukaszewicz <tluk@chromium.org>
Reviewed-by: Tom Lukaszewicz <tluk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1602148}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/c93c5d88e4f60a6586e10ff1ce4a8feeaf3f4248
commit c93c5d88e4f60a6586e10ff1ce4a8feeaf3f4248
Author: Chris Fredrickson <cfredric@chromium.org>
Date: Wed Apr 15 12:37:06 2026 -0700
Add LoadAndExtractContent's tabs to ActorTask's tab set
This ensures that LoadAndExtractContent does not bypass the enterprise
policy blocklist, sensitive site list, or static navigation blocklist.
This CL also adds the ability to add a tab to the controlled tabs set
without stopping the ActorTask when that tab is detached/closed. This is
needed for the ephemeral tabs created by the LoadAndExtractContent tool.
Fixed: 497342466
Change-Id: I355e2bc4ab9a27d52281de10ce6bdc98b50cc43a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7727485
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Auto-Submit: Chris Fredrickson <cfredric@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Chris Fredrickson <cfredric@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1615339}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8f97262a2cc5aa37fcd710c3c141eb7f08c01f92
commit 8f97262a2cc5aa37fcd710c3c141eb7f08c01f92
Author: dpapad <dpapad@chromium.org>
Date: Wed Apr 15 15:03:48 2026 -0700
WebUI: Enable @typescript-eslint/no-explicit-any where possible.
Since there are too many violations across the codebase, enabling this
check by default will take a while. Instead of waiting until all
violations are fixed before the check is enabled anywhere, enabling it
for all targets that already don't exhibit any violations.
As the remaining offending targets are fixed they will be removed from
the exception list to ensure they can no longer regress after being
fixed.
The new check is skipped on Ash-only WebUI targets for now.
Bug: 494464740
Change-Id: Iadaa8718b1bb6e0188b80615cf2aff4ec3193588
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7763564
Reviewed-by: John Lee <johntlee@chromium.org>
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1615435}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/98defbb5fe4cd74acc53e9f8d3b3ad9443adda65
commit 98defbb5fe4cd74acc53e9f8d3b3ad9443adda65
Author: Kent Tamura <tkent@chromium.org>
Date: Wed Apr 15 01:28:25 2026 -0700
Reland "Remove blink::WebString::FromUTF8()"
This is a reland of commit 64bea51a34e9a0f68769c2275e939d986f918495
Differences from the original commit:
Update `FromUTF8()` in the following files too:
* chromecast/renderer/activity_filtering_websocket_handshake_throttle.cc
* components/translate/content/renderer/translate_agent.cc
* third_party/blink/renderer/core/script_tools/model_context_test.cc
Original change's description:
> Remove blink::WebString::FromUTF8()
>
> We prefer FromUtf8().
> This CL has no behavior changes.
>
> Bug: 492927412
> Change-Id: I3976e85012e2189dd4377a7cd49148771970d158
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7760402
> Commit-Queue: Fredrik Söderquist <fs@opera.com>
> Owners-Override: Kent Tamura <tkent@chromium.org>
> Auto-Submit: Kent Tamura <tkent@chromium.org>
> Reviewed-by: Fredrik Söderquist <fs@opera.com>
> Cr-Commit-Position: refs/heads/main@{#1614316}
Bug: 492927412
Change-Id: I36fa1420e10759ad581bf8d2ccf7552831e10205
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7760406
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Owners-Override: Kent Tamura <tkent@chromium.org>
Auto-Submit: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1614993}
Due to transient header inclusions and with `Init` being a common token,
we've got another unwanted substitution which this preemptive header
inclusion prevents.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/979202122d8d2ae3fffd4ffc027bdb86b78b7232
commit 979202122d8d2ae3fffd4ffc027bdb86b78b7232
Author: Qingxin Wu <qingxinwu@google.com>
Date: Tue Apr 14 05:40:00 2026 -0700
[WebUI LLBC] Introduce PermissionChip Interfaces.
This CL is Phase 1 of decoupling the Left-Hand Side (LHS) location bar
chips from native Views, preparing for a WebUI implementation.
It introduces an abstract interfaces: `PermissionChipInterface`.
The native `PermissionChipView` now inherit from this interface. C++
controllers (`ChipController` and `PermissionDashboardController`) have
been refactored to hold pointers to the interfaces rather than concrete
View classes.
Bug: 495419742
Change-Id: I8451110f6c28d267528fa8ed2ead22dbb485e0a9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7705932
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Paul Jensen <pauljensen@chromium.org>
Reviewed-by: Elias Klim <elklm@chromium.org>
Reviewed-by: Thomas Lukaszewicz <tluk@chromium.org>
Commit-Queue: Qingxin Wu <qingxinwu@google.com>
Cr-Commit-Position: refs/heads/main@{#1614388}
We are now accessing this value through a private accessor with the
parent class.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0800caaa61eb1b551c622e41025def941ea6f0c9
commit 0800caaa61eb1b551c622e41025def941ea6f0c9
Author: Youssef Bourouphael <ybourouphael@google.com>
Date: Tue Apr 14 06:30:17 2026 -0700
Refactor: Extract AppMenuControl interface
This change extracts the core functionalities of the app menu button
into a new `AppMenuControl` interface.
- Introduced `AppMenuControl` interface defining methods to interact with the app menu button.
- Updated `AppMenuButton` to implement the new `AppMenuControl` interface.
- Modified `ToolbarButtonProvider` to expose the `AppMenuControl` interface instead of directly returning `AppMenuButton`.
- Migrated all call sites that previously accessed `AppMenuButton` directly to use the `AppMenuControl` interface.
- Updated bubble anchoring logic to utilize `views::BubbleAnchor`, allowing for more flexible anchoring options.
- Many existing calls to `GetAppMenuButton()` were migrated to use `views::ElementTrackerViews` to get the button view.
This refactoring is a prerequisite for future work on a Web UI version
of the app menu.
Bug: 470045312
Change-Id: I01d722ad76687e0f1e409f04a4feef4d0386540e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7722207
Reviewed-by: Paul Jensen <pauljensen@chromium.org>
Reviewed-by: Eshwar Stalin <estalin@chromium.org>
Commit-Queue: Youseff Bourouphel <ybourouphael@google.com>
Cr-Commit-Position: refs/heads/main@{#1614401}
We don't need to add test_browser_dialog_mac.h|mm into
brave_browser_tests directly because they are now built by
chrome/browser/ui/test:dialog target which is pulled into our executable
via
//brave/test:brave_browser_tests --[public]-->
//brave/test:browser_tests_runner --[public]-->
//brave/test:browser_test_support --[public]-->
//chrome/test:test_support --[public]-->
//chrome/test:test_support_ui --[public]-->
//chrome/browser/ui/test:dialog
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/e0cd9afb25e911c62c8c096ef55816bd9e3b665e
commit e0cd9afb25e911c62c8c096ef55816bd9e3b665e
Author: Tiago Vignatti <tvignatti@igalia.com>
Date: Thu Apr 9 07:28:31 2026 -0700
Componentize chrome/browser/ui/test/
This changes create chrome/browser/ui/test/BUILD.gn with dedicated
targets for all test files in this directory, which were previously
scattered across chrome/test/BUILD.gn and chrome/browser/ui/BUILD.gn.
Some of the files were duplicated in multiple targets, and has now
fixed.
New targets:
- :dialog — moved from //chrome/test:test_support and de-duplicated from
browser_tests/interactive_ui_tests
- :closed_waiter — moved from //chrome/test:test_support_ui
- :test_support — de-duplicated and moved from browser_tests,
interactive_ui_tests, and //chrome/browser/ui:test_support
- :confirm_bubble — moved from //chrome/browser/ui:test_support
- :browser_tests — browser test files
- :interactive_ui_tests — interactive UI test files
- :app_window — moved from //chrome/browser/ui:test_support
Bug: 353332589
This change only removes a inclusion to the header for this class that
was left behind in our code.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/dd0cca1d9573996058b06159d99ef55904eae2a0
commit dd0cca1d9573996058b06159d99ef55904eae2a0
Author: Tiago Vignatti <tvignatti@igalia.com>
Date: Mon Apr 13 05:30:29 2026 -0700
Remove deprecated TestBrowserClosedWaiter
Delete TestBrowserClosedWaiter and migrate all callers to use
ui_test_utils::BrowserDestroyedObserver directly, as the class
was already marked deprecated. The ASSERT_TRUE wrappers around
WaitUntilClosed() are dropped since it unconditionally returned
true.
This also removes the circular dependency between
//chrome/browser/ui/test:closed_waiter and
//chrome/test:test_support_ui.
Bug: 353332589
Change-Id: I2685dba2a589870fcf1e6639f511932b2a051178
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7706499
Reviewed-by: Darryl James <dljames@chromium.org>
Commit-Queue: Tiago Vignatti <tvignatti@igalia.com>
Cr-Commit-Position: refs/heads/main@{#1613640}
This function has been replaced with a more accurately named one,
`GetIndexOfExistingTabMatchingURL`, which has been declared in a
different header.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/3d5e08bc7b5649ff297b7a4026224b1040328de5
commit 3d5e08bc7b5649ff297b7a4026224b1040328de5
Author: Jack Thiesen <jthiesen@chromium.org>
Date: Mon Apr 13 13:14:15 2026 -0700
Move Navigation Helpers to Shared Location
WML's Navigate() implementation relies on helpers inside of
singleton_tabs.h that are not strictly used for singleton tabs and are
not used by other code. This change updates these helpers to use
platform-agnostic abstractions and moves them to a location that allows
for easy sharing between platforms. New unit tests are added.
Bug: 469764907
Change-Id: I7f503ea505adc480037e363abe8534f38e7c8d7b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7747634
Commit-Queue: Jack Thiesen <jthiesen@chromium.org>
Reviewed-by: Elly <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1613927}
Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/83dc1d0f04002ced129aeae4a63de7069b43cfba
commit 83dc1d0f04002ced129aeae4a63de7069b43cfba
Author: Mitsuru Oshima <oshima@chromium.org>
Date: Tue Apr 7 23:06:31 2026 -0700
Disable reentrancy by default except for Android and iOS
Android and iOS needs more work but I need help from platform
expert as the readable stack isn't available.
(see crrev.com/c/7604991)
Include-Ci-Only-Tests: chromium.mac:mac15-x64-rel-tests|browser_tests
Bug: 40562847, 484371187
Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/83dc1d0f04002ced129aeae4a63de7069b43cfba
commit 83dc1d0f04002ced129aeae4a63de7069b43cfba
Author: Mitsuru Oshima <oshima@chromium.org>
Date: Tue Apr 7 23:06:31 2026 -0700
Disable reentrancy by default except for Android and iOS
Android and iOS needs more work but I need help from platform
expert as the readable stack isn't available.
(see crrev.com/c/7604991)
Include-Ci-Only-Tests: chromium.mac:mac15-x64-rel-tests|browser_tests
Bug: 40562847, 484371187
The symbol we used to anchor the override is now used elsewhere in the
file.
Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/2dd959bfa7b3d
commit 2dd959bfa7b3d307941fb29e3a479f067262762d
Author: Steven Luong <stluong@chromium.org>
Date: Thu Apr 9 15:08:16 2026 -0700
[CUJService] Add journey tracking clear browser history
Adds the user journey to track when the browser history is cleared via
the app menu button or through the keyboard accelerator.
Fixed: 495493456
All the fixes in this change are cases where we are converting a
property to a function as more appropriate.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/9d25d0387044e57a67892521a2863a87c31b9cc9
commit 9d25d0387044e57a67892521a2863a87c31b9cc9
Author: rbpotter <rbpotter@chromium.org>
Date: Thu Apr 9 23:38:18 2026 -0700
WebUI: Validate that properties referenced in Lit template are reactive
Adding an automated check to ensure that if a class property
"this.someProp" is referenced in the HTML template, it is also properly
declared as a reactive property so that Lit will re-render the element
correctly when it changes.
Bug: 500066216
Change-Id: Ieb9989fc672d03cb2b20f2bd43301a688b42f270
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7731479
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1612640}
Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/4ea909abd3a14
commit 4ea909abd3a14b4f8def504120ac4b267244c66a
Author: YiwenQian <yiwenqian@google.com>
Date: Tue Apr 7 17:59:36 2026 -0700
[Scancard IOS] Relocate Autofill UI utilities for better sharing
This CL moves Autofill UI utility files to dedicated or shared locations
to improve codebase structure and allow sharing between settings and
other Autofill features.
- Moved `autofill_credit_card_util` (.h/.mm), `autofill_settings_util` (.h/.mm) and its unit test to `ios/chrome/browser/autofill/ui_bundled/util/`.
- Updated all referencing `BUILD.gn` files and `#import` statements across the codebase.
Bug: 484102792
Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/8ae932c696b02
commit 8ae932c696b025ee7fe02fa650d9438f7936a696
Author: Erik Chen <erikchen@chromium.org>
Date: Thu Apr 9 12:01:18 2026 -0700
Reland 1: Modularize //chrome/browser/ui/cocoa
The initial CL broke chrome-branded builds on CI.
> Modularize //chrome/browser/ui/cocoa
>
> Extract the cocoa UI sources from //chrome/browser/ui:ui into a new
> //chrome/browser/ui/cocoa build target. Update all dependent BUILD.gn
> files to add the new dependency and allow circular includes where
> needed.
>
> Bug: 353332589
The content of the function was inlined into call sites.
We already override both call sites with returning false, so
we can just remove our override of ShouldShowSyncPromo.
Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/461ee6c1264e2
commit 461ee6c1264e2cc599182c2562d24445778a21ad
Author: Paris <pmeuleman@chromium.org>
Date: Thu Apr 9 06:26:36 2026 -0700
Decouple sign-in promos from legacy sync checks
This patch removes ShouldShowSyncPromo and inlines its core validation
logic directly into ShouldShowSignInPromoCommon to simplify the sign-in
promo infrastructure.
Removing the explicit ConsentLevel::kSync check is safe because
ShouldShowSignInPromoCommon relies on signin_util::GetSignedInState(),
which already suppresses the promo for users who are syncing or
sync-paused.
Additionally, this cleanup removes redundant platform guards (#if
!BUILDFLAG(IS_ANDROID) and #if BUILDFLAG(IS_CHROMEOS)) since the code is
already compiled only when ENABLE_DICE_SUPPORT is true (which is false
on Android and ChromeOS).
Bug: 40890809
Also, verbose param has been removed from the print_rust_log function
signature.
Chromium changes:
https://chromium.googlesource.com/chromium/src.git/+/fafff21
commit fafff21030e1c11d6bbb1acccd6b28013cfd887f
Author: Lukasz Anforowicz <lukasza@chromium.org>
Date: Tue Apr 7 17:28:03 2026 -0700
[rust] Split the `rust_logger` crate into smaller modules.
This helps to hide some implementation details as private items of
the new, smaller modules. In addition to moving the new modules into
`//base/logging/rust_logger` subdirectory, this CL also moves tests
into the same directory. Summary of the changes/moves:
* `base/logging/logger.rs` has been split into 4 modules:
- `base/logging/rust_logger/lib.rs` (entry point via C API)
- `base/logging/rust_logger/log_crate_integration.rs` and
`base/logging/rust_logger/custom_panic_hook.rs`
- `base/logging/rust_logger/print_rust_log.rs` (low-level
implementation for invoking `LOG(...)` from Rust).
* `base/logging/rust_log_integration.h/.cc` has been moved to
`base/logging/rust_logger/print_rust_log_ffi.h/.cc`
* `base/test/logging/test_rust_logger_consumer.rs` has been moved to
`base/logging/rust_logger/test_support.rs`
* `base/logging/rust_log_integration_unittest.cc` has been moved to
`base/logging/rust_logger/unittests.cc`
Bug: 495537792
https://chromium.googlesource.com/chromium/src.git/+/750f91c315307c59cb4f4b2445642e97187e620f
commit 750f91c315307c59cb4f4b2445642e97187e620f
Author: Lukasz Anforowicz <lukasza@chromium.org>
Date: Wed Apr 8 16:25:46 2026 -0700
[rust] Delete unfinished `VLOG(INFO)` <=> Rust integration.
Bug: 495537792
Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/c44b7b1a
commit c44b7b1ae99cd03bba9fcdb1047306de12a4809a
Author: Erik Chen <erikchen@chromium.org>
Date: Tue Apr 7 09:42:24 2026 -0700
[reland 1] Modularize chrome/browser/component_updater
The initial landing failed a gn check out a configuration that is CI
only (android-cast-arm-rel). This issue has been fixed.
> Modularize chrome/browser/component_updater
>
> Extracts `chrome/browser/component_updater` sources out of the
> monolithic `chrome/browser/BUILD.gn` into a new dedicated
> `chrome/browser/component_updater/BUILD.gn`. The new file defines a
> header-only `:component_updater` target and a separate `:impl` target
> containing the `.cc`/`.mm` sources, following the standard split pattern
> used elsewhere in `//chrome/browser`. Downstream `BUILD.gn` files across
> `chrome/browser/` and `chrome/test/` are updated to depend on the new
> targets directly.
>
> Bug: 353332589
Unlike upstream, we use RegisterZxcvbnDataComponent on Android as well, see chromium_src/chrome/browser/component_updater/registration.cc
Otherwise we have an error on check:
ERROR at //chrome/browser/component_updater/registration.cc:63:11: Include not allowed.
^-----------------------------------------------------------------
It is not in any dependency of
//chrome/browser/component_updater:impl
The include file is in the target(s):
//brave/browser/component_updater:zxcvbn_data_component_installer
which should somehow be reachable.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/c44b7b1ae99cd03bba9fcdb1047306de12a4809a
commit c44b7b1ae99cd03bba9fcdb1047306de12a4809a
Author: Erik Chen <erikchen@chromium.org>
Date: Tue Apr 7 09:42:24 2026 -0700
[reland 1] Modularize chrome/browser/component_updater
The initial landing failed a gn check out a configuration that is CI
only (android-cast-arm-rel). This issue has been fixed.
> Modularize chrome/browser/component_updater
>
> Extracts `chrome/browser/component_updater` sources out of the
> monolithic `chrome/browser/BUILD.gn` into a new dedicated
> `chrome/browser/component_updater/BUILD.gn`. The new file defines a
> header-only `:component_updater` target and a separate `:impl` target
> containing the `.cc`/`.mm` sources, following the standard split pattern
> used elsewhere in `//chrome/browser`. Downstream `BUILD.gn` files across
> `chrome/browser/` and `chrome/test/` are updated to depend on the new
> targets directly.
>
> Bug: 353332589
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7712966
> Reviewed-by: Tom Lukaszewicz <tluk@chromium.org>
> Commit-Queue: Erik Chen <erikchen@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1609648}
Change-Id: Ibcefe56cd3af36d977ce6f42c83eca1e93737a25
Cq-Include-Trybots: luci.chromium.try:android-cast-arm-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7729243
Reviewed-by: Tom Lukaszewicz <tluk@chromium.org>
Reviewed-by: Darryl James <dljames@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1610826}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/1527e1c0fa38dfb971603f9f59faf7de58c3f313
commit 1527e1c0fa38dfb971603f9f59faf7de58c3f313
Author: Samuel Huang <huangs@chromium.org>
Date: Wed Apr 8 21:43:14 2026 -0700
[Android NTP] Fix vertical gaps between adjacent main sections
The New Tab Page (NTP) has multiple "sections" that are vertically
stacked. Let's specify these with abbreviations:
* FSB: Fake Search Box.
* AIM: AI Mode Button + Incognito Button, AKA Composeplate.
* MVT: Most Visited Tiles.
* MS: Magic Stack, AKA New Tab Page Cards.
* DF: Discovery Feed.
Note that we're ignoring the Logo (above FSB) and promotion (e.g., for
Sign in) sections.
{MVT, MS, DF} may be absent sometimes:
* NTP Customization can toggle {MVT, MS, DF}.
* MS dynamically appears / disappears.
AIM is now a permanent component of the layout and cannot be optionally
removed.
Let FSB-AIM be the vertical gap between the FSB bottom and AIM top.
Similarly, define other spacings. Since {MVT, MS, DF} may be absent,
there are 7 gap cases: FSB-AIM, AIM-{MVT,MS,DF}, MVT-{MS,DF}, MS-DF.
Recently we found that these gap sizes are inconsistent. This CL fixes
the inconsistency by making FSB-AIM = 8 dp, and everything else 16 dp:
Gap Old Goal
FSB-AIM 9 dp 8 dp
AIM-MVT 25 dp 16 dp
AIM-MS 18 dp 16 dp
AIM-DF 18 dp 16 dp
MVT-MS 16 dp 16 dp
MVT-DF 16 dp 16 dp
MS-DF 16 dp 16 dp
Strategy:
* Assign top margins to 12 dp for {FSB, MVT, MS, DF} and 4 dp for AIM.
* Assign bottom margins to 4 dp. Previously this existed so that
sections can expand to accommodate shadows. This is no longer
needed, but we keep the margin anyway as buffer space.
Note that 4 dp + 12 dp = 16 dp, which will be the standard spacing
between sections; and the FSB-AIM exception is managed by 4 dp + 4 dp.
In a previous CL (crrev.com/c/7603164), we removed the dynamic resizing
logic that was previously required to accommodate the AIM view's shadow.
With that logic removed, we can now rely entirely on these static
margins, greatly simplifying the spacing definitions.
Details:
* For common dimensions define and use:
@dimen/ntp_section_top_margin = 12 dp
@dimen/ntp_section_bottom_margin = 4 dp
* For AIM top margin define and use:
@dimen/composeplate_view_margin_top = 4 dp
* Define "padding" quantities to replace previous uses of
section-specific "margin" quantities for padding.
* Update ShowNtpAtStartupTest to expect the new standardized
@dimen/ntp_section_bottom_margin on the MVT container.
* Bump revisions in TabSwitcherLayoutPTTest and FeedV2NewTabPageTest to
trigger Skia Gold rebaselines for the new spacing.
Bug: 481717794
Change-Id: I77adb4c8980a3bc2e0803a5b6cd0b2ac7a66d48a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7589698
Commit-Queue: Samuel Huang <huangs@chromium.org>
Reviewed-by: Brandon Wylie <wylieb@google.com>
Reviewed-by: Xi Han <hanxi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1611969}
Recent changes in upstream have changed the tabulation. Although this
has not caused any conflict when applying patches, this change updates
the plaster to better reflect the current desired patching.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/39f1fc11de89a81d446d6ee520973294a4023254
commit 39f1fc11de89a81d446d6ee520973294a4023254
Author: Ian Wells <iwells@chromium.org>
Date: Tue Apr 7 09:48:58 2026 -0700
Add contextual cueing v2 page action
Contextual cueing v2 will show cues for a few different features, so
while the page action is registered with the other browser actions, its
icon, anchored message details and click handler aren't set until it's
time to show a cue for a specific feature.
Bug: 497231692
Change-Id: I641e13d43661806a64759018a837f6fe316bfaac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7732046
Reviewed-by: Charlie Harrison <csharrison@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Commit-Queue: Ian Wells <iwells@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1610829}
This change updades our checker to use the newer version and keeps a
nullified implementation for the new method added to this new class.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/75b2acce79497326ac3388f8d3e6d03a21b1459e
commit 75b2acce79497326ac3388f8d3e6d03a21b1459e
Author: Haihan Chen <haihan@google.com>
Date: Thu Apr 9 08:57:26 2026 -0700
[GLIC CEP Paste Support] Merge actor enterprise checks into single `EnterprisePolicyChecker` interface
To simplify the API and avoid extra param for actor tasks for content
policy checks specifically, since glic is the only user and implements
both url and content checks in a single class right now
(`glicactorpolicychecker`).
This is a refactor, content validation usage in tools like `PageTool` in
follow-up CL.
Bug: 473047343
Change-Id: I8fb9b45955ccff15c3331af445df05dfcc589ac4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7735646
Reviewed-by: Kevin McNee <mcnee@chromium.org>
Commit-Queue: Haihan Chen <haihan@google.com>
Cr-Commit-Position: refs/heads/main@{#1612275}
This the componentisation of these files, we do not need anymore to
include these sources ourselves in `brave_browser_tests`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/e0cd9afb25e911c62c8c096ef55816bd9e3b665e
commit e0cd9afb25e911c62c8c096ef55816bd9e3b665e
Author: Tiago Vignatti <tvignatti@igalia.com>
Date: Thu Apr 9 07:28:31 2026 -0700
Componentize chrome/browser/ui/test/
This changes create chrome/browser/ui/test/BUILD.gn with dedicated
targets for all test files in this directory, which were previously
scattered across chrome/test/BUILD.gn and chrome/browser/ui/BUILD.gn.
Some of the files were duplicated in multiple targets, and has now
fixed.
New targets:
- :dialog — moved from //chrome/test:test_support and de-duplicated from
browser_tests/interactive_ui_tests
- :closed_waiter — moved from //chrome/test:test_support_ui
- :test_support — de-duplicated and moved from browser_tests,
interactive_ui_tests, and //chrome/browser/ui:test_support
- :confirm_bubble — moved from //chrome/browser/ui:test_support
- :browser_tests — browser test files
- :interactive_ui_tests — interactive UI test files
- :app_window — moved from //chrome/browser/ui:test_support
Bug: 353332589
Change-Id: I602615d0b8a96af88af82cf1caaf75a3a2184d07
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7704138
Reviewed-by: Darryl James <dljames@chromium.org>
Commit-Queue: Tiago Vignatti <tvignatti@igalia.com>
Cr-Commit-Position: refs/heads/main@{#1612208}
This recent change requires us to fix our own overrides and callers for
these functions.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/1575bebcd1c16fa1508c87eda06c5b3b1c364c3c
commit 1575bebcd1c16fa1508c87eda06c5b3b1c364c3c
Author: Duncan Mercer <mercerd@google.com>
Date: Wed Apr 8 15:31:53 2026 -0700
[Blink/Network] Support origin targeting for secure exemptions
This change updates WebSecurityPolicy to support origin targeting
for secure embedder exceptions by allowing specific origins instead
of applying globally to an entire scheme.
It also migrates secure cookie exemptions—specifically those affecting
third-party cookie blocking and SameSite restrictions—in CookieManager
and CookieSettings from scheme/host-based registration to
url::Origin-based registration. This enables precise, unscoped
exemptions for secure origins (such as chrome-untrusted://lens)
without modifying the properties or behavior of the cookie origin
itself.
Bug: b:483614998
Change-Id: I7fe2a00e631513c6ebcdb5fb996914f5b48a9447
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7689068
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Nidhi Jaju <nidhijaju@chromium.org>
Reviewed-by: Dylan Cutler <dylancutler@google.com>
Commit-Queue: Duncan Mercer <mercerd@google.com>
Reviewed-by: Joshua Hood <jdh@chromium.org>
Reviewed-by: Lily Chen <chlily@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1611822}
This change corrects several places to pass `TranslateUrlFetcher` into
`TranslateLanguageList`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/6aef37c345ee6449713a213c04878417dd87d0c4
commit 6aef37c345ee6449713a213c04878417dd87d0c4
Author: Danilo Françoso Tedeschi <danft@google.com>
Date: Wed Apr 8 06:26:11 2026 -0700
Replace static DisableUpdate with dependency injection for TranslateLanguageList.
This change removes the global static flag `update_is_disabled` from TranslateLanguageList and instead allows injecting a TranslateUrlFetcher instance. This improves testability by allowing mock fetchers to be used without relying on global state. TranslateDownloadManager now has a setter for its TranslateLanguageList.
Change-Id: I739659aba52e95e6236e0b5d85fd9672b090c864
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7719220
Reviewed-by: Basia Zimirska <basiaz@google.com>
Commit-Queue: Danilo Françoso Tedeschi <danft@google.com>
Cr-Commit-Position: refs/heads/main@{#1611437}