Chromium changes:
https://chromium.googlesource.com/chromium/src/+/92e1d0754efe156568908375462e8e1e774727ee
commit 92e1d0754efe156568908375462e8e1e774727ee
Author: Russ Hamilton <behamilton@google.com>
Date: Wed Apr 22 13:48:50 2026 -0700
Implement WebUIAvatarToolbarButton stub
This commit implements the WebUIAvatarToolbarButton C++ class, which
serves as the backend for the WebUI-based avatar button. It is wired
into WebUIToolbarWebView and ToolbarView, although Mojo communication is
not yet established.
Specifically:
- Added WebUIAvatarToolbarButton class in chrome/browser/ui/views/toolbar/
- Updated WebUIToolbarWebView to own and provide WebUIAvatarToolbarButton.
- Updated ToolbarView to use WebUIToolbarWebView's avatar toolbar button
when the kWebUIAvatarButton feature is enabled.
Bug: 470045174
Change-Id: I8a6d676efb8821841f30615c096b01ab3c927db0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7685013
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Commit-Queue: Russ Hamilton <behamilton@google.com>
Reviewed-by: Caroline Rising <corising@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1619066}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/94c8534414d7e52827cc07353185709210aa98e8
commit 94c8534414d7e52827cc07353185709210aa98e8
Author: Erik Chen <erikchen@chromium.org>
Date: Wed Apr 22 11:38:16 2026 -0700
Modularize //chrome/browser/lifetime
Extracts the `lifetime` sources (application_lifetime, browser_shutdown,
browser_close_manager, restartability_monitor, etc.) out of the
monolithic `//chrome/browser` target into dedicated
`//chrome/browser/lifetime:lifetime` (public headers) and
`//chrome/browser/lifetime:impl` targets. Platform-specific sources
(android, chromeos, mac, aura) are conditionally included via the new
BUILD.gn rules. All downstream BUILD.gn files that previously relied on
the bundled target now declare an explicit dep on
`//chrome/browser/lifetime`. A circular-dep note is preserved explaining
why `:impl` still has to live under `//chrome/browser` and
`//chrome/browser/ui`.
AGENT_GENERATED_CL
Bug: 353332589
Change-Id: I9235a54772bc0941e313dba3e0f7eec495ab1ae0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7786609
Reviewed-by: Thomas Lukaszewicz <tluk@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1618994}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/24cc34c57c5013cf7e27d1c9319cd506770b6477
commit 24cc34c57c5013cf7e27d1c9319cd506770b6477
Author: Victor Hugo Vianna Silva <victorvianna@google.com>
Date: Tue Apr 21 05:19:50 2026 -0700
[sync/android] Remove getSetupInProgressHandle()
There was only one remaining call. It was originally added for the
"advanced sync setup" flow, to ensure sync only started after the user
confirmed data type settings (thus preventing an irreversible upload
of unwanted data). That flow doesn't exist anymore, since existing data
is not uploaded when the user signs in. So the call is removed.
Strictly speaking, there is a chance this changes behavior, as the
call was done for both syncing and signed-in users. But if that's the
case, it's a bug to be fixed separately. Notice this function doesn't
exist on iOS anymore.
Bug: 40066949
Change-Id: I6aacd39823972c5bc1b7181a9f1a52f57a62eba2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7771958
Commit-Queue: Victor Vianna <victorvianna@google.com>
Reviewed-by: Mahmoud Rashad <mmrashad@google.com>
Cr-Commit-Position: refs/heads/main@{#1618071}
Browser doesn't inherit from `ChromeWebModalDialogManagerDelegate`
anymore. This change fixes our code by directly patching
`ChromeWebModalDialogManagerDelegate` to have an override for this
method.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/083c2a8b08fff93b74aac4f4acd89c5d1fb206ea
commit 083c2a8b08fff93b74aac4f4acd89c5d1fb206ea
Author: Qikai <qikaizhong@microsoft.com>
Date: Tue Apr 21 22:53:26 2026 -0700
[bedrock] Move ChromeWebModalDialogManagerDelegate to BrowserWindowFeatures
Extract ChromeWebModalDialogManagerDelegate from Browser into a new
BrowserWindowModalDialogDelegate owned by BrowserWindowFeatures. The
new class manages per-tab WebContentsModalDialogManager delegate
registration via TabStripModelObserver and handles tab blocking,
fullscreen exit, and dialog host lookup.
Browser retains a thin SetWebContentsBlocked() override for
DesktopBrowserWindowCapabilitiesDelegate, forwarding to the feature.
DevTools scrim visibility uses a callback pattern subscribed by
BrowserView.
Bug: 496674143
Change-Id: Ia8aea00b733e113c5ca9e9e79d28a37061eb8ced
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7738543
Reviewed-by: Thomas Lukaszewicz <tluk@chromium.org>
Commit-Queue: Qikai Zhong <qikaizhong@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1618668}
Our infobar is not ready for this flag to be turned on.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/e6f05260cfb28bdb2219f4b30e6d5ff9ddb2aab6
commit e6f05260cfb28bdb2219f4b30e6d5ff9ddb2aab6
Author: Foromo Daniel Soromou <koretadaniel@chromium.org>
Date: Mon Apr 20 15:07:25 2026 -0700
Enable infobar refresh and prioritization by default
Update the `kInfobarRefresh` and `kInfobarPrioritization` feature flags
to be enabled by default. This rolls out the refreshed infobar UI and
the associated prioritization logic as the standard behavior.
Fixed: 447176374
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/5ee2afaf87b258f0f692c32d17866114a996eb66
commit 5ee2afaf87b258f0f692c32d17866114a996eb66
Author: Zhe Li <zheliooo@google.com>
Date: Mon Apr 20 13:08:32 2026 -0700
[TabFavicon] Do not fallback to host for tab switcher and tab strip
- Guarded behind feature flag sFaviconDisableHostFallback.
- Sets `fallbackToHost = false` in LayerTitleCache.java and TabListFaviconProvider.java when feature is enabled.
- Default `fallbackToHost = true` for all the other callsites.
- Added histograms Favicons.AndroidHostFallbackFetchResult.* in favicon_helper.cc
Bug: 468979189
Change-Id: I5574adf85647c1d5205889dddc2bc42bfba35305
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7745223
Reviewed-by: Theresa Wellington <twellington@chromium.org>
Commit-Queue: Zhe Li <zheliooo@google.com>
Auto-Submit: Zhe Li <zheliooo@google.com>
Cr-Commit-Position: refs/heads/main@{#1617726}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/29684164c168bf8ed4f099183c0d924c0e015a48
commit 29684164c168bf8ed4f099183c0d924c0e015a48
Author: Erik Chen <erikchen@chromium.org>
Date: Tue Apr 21 12:02:21 2026 -0700
Modularize //chrome/browser/metrics
This CL refactors the build graph for `chrome/browser/metrics` by moving
its sources out of the top-level `//chrome/browser` static library into
dedicated `source_set("metrics")` (public headers) and
`source_set("impl")` targets within `chrome/browser/metrics/BUILD.gn`.
Consumer `BUILD.gn` files across the tree are updated to depend directly
on `//chrome/browser/metrics`, and a parallel split is applied to
`chrome/browser/updates`. A few `#include` lines gain `// nogncheck`
annotations and one forward-declaration of
`glic::GlicSyntheticTrialManager` replaces a header include to break a
dep cycle. No functional code changes.
AGENT_GENERATED_CL
Bug: 353332589
Change-Id: I1f549eb8cf92bcf0074946706625f46f27f0fb93
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7777321
Commit-Queue: Erik Chen <erikchen@chromium.org>
Reviewed-by: Thomas Lukaszewicz <tluk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1618360}
The brave version of this class was using this observer, but now that
base class has introduced it, we can just rely on that.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/68cc838450946381bec6c1c777ede5494715f608
commit 68cc838450946381bec6c1c777ede5494715f608
Author: Foromo Daniel Soromou <koretadaniel@chromium.org>
Date: Tue Apr 21 08:04:31 2026 -0700
[Side Panel] Fix dangling WebContents pointer in ReadingListPageHandler
This patch resolves a dangling pointer issue in ReadingListPageHandler
by replacing the `DanglingUntriaged` raw pointer to
`content::WebContents` with a `base::WeakPtr<content::WebContents>`.
Because `WebContents` can be destroyed before the
`ReadingListPageHandler` (e.g., during teardown), accessing the dangling
raw pointer could lead to Use-After-Free (UAF) bugs . Null checks have
been added to safely return early in cases where `web_contents_` has
already been invalidated.
Bug: 490505884
Change-Id: I411121440d26ee770a775eda6d564ea56a385dbf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7775987
Reviewed-by: Eshwar Stalin <estalin@chromium.org>
Commit-Queue: Foromo Daniel Soromou <koretadaniel@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1618202}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/707451f29b5a5a281bce186698ebe50f7ed4d46e
commit 707451f29b5a5a281bce186698ebe50f7ed4d46e
Author: Russ Hamilton <behamilton@google.com>
Date: Tue Apr 21 12:31:01 2026 -0700
[AvatarButton] Refactor logic into AvatarToolbarButtonStateManager
This refactor moves significant business logic and state management
out of AvatarToolbarButton and into AvatarToolbarButtonStateManager.
The StateManager now serves as the central dispatcher for button
events and manages both internal state transitions and external
observers.
Key changes:
- Moved signin::IdentityManager observation to StateManager.
- Moved IPH (In-Product Help) trigger logic to StateManager.
- Moved accessibility label calculation logic.
- Relocated and consolidated AvatarToolbarButtonInterface::Observer
management in the StateManager.
- Introduced initialization and update guards to prevent race
conditions and recursion.
- Relocated global settings (g_iph_min_delay_after_creation) to the
StateManager.
This continues the effort to simplify the view implementation and
prepare for a shared logic layer between Views and future WebUI
components.
Bug: 470045174
Change-Id: I80ced74336cdc6d05fb65279d803e94aaeb9160d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7771034
Auto-Submit: Russ Hamilton <behamilton@google.com>
Commit-Queue: Russ Hamilton <behamilton@google.com>
Reviewed-by: Dana Fried <dfried@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1618372}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/03702156827220b6df76964a262caf312e8fa0f4
commit 03702156827220b6df76964a262caf312e8fa0f4
Author: Keybo Qian <keybo@google.com>
Date: Fri Apr 17 12:00:06 2026 -0700
Modularize //chrome/browser/first_run
Extract the `first_run` feature out of the monolithic `//chrome/browser`
and `//chrome/test` targets into its own dedicated `BUILD.gn` file.
- Extracts prod code, `unit_tests`, and `browser_tests` into
`//chrome/browser/first_run/BUILD.gn`.
- Adds a `DEPS` file to enforce strict dependency boundaries.
- Extracts `scoped_relaunch_chrome_browser_override` to a `test_support`
target.
- Guards `browser_tests` with `!is_android` to fix compile failures.
- Adds temporary circular include exceptions to unblock the extraction.
This refactoring is part of the ongoing effort to break down the Chrome
browser monolith, which helps improve build times, enforces stricter
dependency boundaries, and makes the codebase easier to maintain.
Cq-Include-Trybots: luci.chromium.try:android-cast-arm-rel
Bug: 500390199
Change-Id: I2d62edb19cfe1b1f241e21fe31e9cae7df974e8b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7763734
Reviewed-by: Dana Fried <dfried@chromium.org>
Auto-Submit: Keybo Qian <keybo@google.com>
Commit-Queue: Keybo Qian <keybo@google.com>
Cr-Commit-Position: refs/heads/main@{#1616736}
This change fixes the replacement of this constant, which would require
a patch from now on, so now it is managed by a plaster.
`AskBeforeHttpDialogController::HasOpenDialogWidget` also got renamed.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/b09b2ab7d59f05f8ec5342a75c830731e31fcdf1
commit b09b2ab7d59f05f8ec5342a75c830731e31fcdf1
Author: Chris Thompson <cthomp@chromium.org>
Date: Mon Apr 20 13:07:57 2026 -0700
[ABH] Port Ask-before-HTTP dialog to Android
This ports the Ask-before-HTTP warning dialog to Android and adds
Android UI test coverage in AskBeforeHttpDialogTest.
ModalDialogWrapper is updated to plumb the dismissal cause back to the
native side so the dialog controller can differentiate between a user
explicitly dismissing the dialog (e.g., via the back button) versus the
tab disappearing for other reasons (e.g., tab switching). The
AskBeforeHttpDialogController is also updated to observe WebContents
visibility to handle dialog restoration after tab switching on Android
(to match the Desktop behavior where the tab modal is "sticky" to the
tab even when it goes to the background).
NO_IFTTT=intentional renaming inside blocks
Bug: 351990829
Change-Id: Ia95068e5c69762eae26ab9cc137b1f06e05d6a48
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7753961
Reviewed-by: Mustafa Emre Acer <meacer@chromium.org>
Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
Reviewed-by: Jack Thiesen <jthiesen@chromium.org>
Commit-Queue: Chris Thompson <cthomp@chromium.org>
Reviewed-by: Alison Gale <agale@chromium.org>
Auto-Submit: Chris Thompson <cthomp@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1617725}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/01ff99168958e53d2a5a0e7bef3e14d13cbcfe96
commit 01ff99168958e53d2a5a0e7bef3e14d13cbcfe96
Author: Thomas Lukaszewicz <tluk@chromium.org>
Date: Sun Apr 19 17:11:57 2026 -0700
Simplify DevtoolsUIController
DevtoolsUIController::UpdateDevtools is updated to only take the
target web contents - instead of the container view and web contents.
The implementation assumes that the container view was the host of
web contents, however this can be easily resolved from just the
web contents itself within the DevtoolsUIController and mitigates
the risk of the params drifting.
Removes a DeprecatedLayoutImmediately() call from
BrowserView::UpdateDevTools() which has been in the codebase since
2009 and is no longer necessary. Instead layout is invalidated if
necessary.
Note: DevtoolsUIController::UpdateDevTools() still needs to return
whether a layout is required as BrowserView may need to perform
a synchronous layout operation separately from marking the layout
as invalid.
Bug: 502745808
Change-Id: I627a45dca0c975a5d422b2aedfa75bd4de8134a2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7766514
Reviewed-by: Darryl James <dljames@chromium.org>
Commit-Queue: Thomas Lukaszewicz <tluk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1617272}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/6c9ccc1c9d53aee2a221dc37dab54b167fb3e09c
commit 6c9ccc1c9d53aee2a221dc37dab54b167fb3e09c
Author: Russ Hamilton <behamilton@google.com>
Date: Fri Apr 17 09:50:05 2026 -0700
[WebUI Avatar] Migrate callers to AvatarToolbarButtonInterface
This CL migrates all usages of
ToolbarButtonProvider::GetAvatarToolbarButton() to use
GetAvatarToolbarButtonInterface() instead. This is part of the effort to
make toolbar components framework-agnostic and support both Views and
WebUI implementations of the avatar button.
- Remove the deprecated GetAvatarToolbarButton() method from the
ToolbarButtonProvider interface.
- Remove implementations of GetAvatarToolbarButton() in ToolbarView
and WebAppFrameToolbarView.
- Migrate all production and test callers to use the interface and its
framework-agnostic methods.
- Update includes across the codebase to prefer
avatar_toolbar_button_interface.h over avatar_toolbar_button.h where
the concrete type is no longer needed.
Bug: 470045174
Change-Id: Iff0147b3ba6eb354a893115be873eb27808150f8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7727070
Reviewed-by: Ryan Sultanem <rsult@google.com>
Auto-Submit: Russ Hamilton <behamilton@google.com>
Commit-Queue: Russ Hamilton <behamilton@google.com>
Cr-Commit-Position: refs/heads/main@{#1616641}
With this CL moving things around, this has caused a lot small issues
in several places where unwanted replecaments started to occur, or other
types of failures, like name collision.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/e0f759f728337f7df2f808ebc2c1eefffab5c5e3
commit e0f759f728337f7df2f808ebc2c1eefffab5c5e3
Author: Athul Iddya <athul@iddya.com>
Date: Thu Apr 16 17:08:08 2026 -0700
Add a native frame view for non-browser widgets on Linux
Introduces NativeFrameViewLinux, a FrameViewLinux subclass that provides
native client-side decorations for non-browser widgets on Linux. This
class is preferred over FrameViewLinux for the GTK UI theme. Its
implementation mirrors BrowserFrameViewLinuxNative, using
WindowFrameProvider for frame decoration and NavButtonProvider for
window control buttons.
NativeFrameViewLayoutLinux similarly extends FrameViewLayoutLinux to
override frame and button layout decisions using WindowFrameProvider and
NavButtonProvider. Shared utilities between NativeFrameViewLinux and
BrowserFrameViewLinuxNative are extracted into frame_view_utils_linux.
WindowFrameProvider and NativeTheme gain options for non-browser frame
rendering: top area height, padding and border APIs, and bottom border
drawing in the top area, to match the appearance of native GTK dialogs.
Bug: 396190939
Cq-Include-Trybots: luci.chromium.try:linux-wayland-mutter-rel,linux-wayland-weston-rel
Change-Id: Iee94d493a1751176c38d793e7efcfe47271bc909
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615475
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Auto-Submit: Athul Iddya <athul@iddya.com>
Reviewed-by: David Yeung <dayeung@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1616203}
`ChromeUpdateClientConfig` has dropped the `url_override` arg. Th change
also removes an unnecessary patch for `ChromeUpdateClientConfig` which
was causing issues.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/e585ba13ce9ed5667530a315850713c1eeb3cd20
commit e585ba13ce9ed5667530a315850713c1eeb3cd20
Author: Joshua Pawlicki <waffles@chromium.org>
Date: Fri Apr 17 07:58:49 2026 -0700
extension updater: Use update_client updater for sync/policy installs
Previously, the first install of an extension (when driven by sync or
policy) would still default to using the old extension update stack.
This isn't necessary; the new stack can be used in this case.
This relands
https://chromium-review.googlesource.com/c/chromium/src/+/7545510
The original CL is patchset 1. Since then,
ExternalProviderImplTest.InAppPayments (which isn't covered by CQ)
is fixed, which was unfortunately a bigger job than I hoped.
Fixed: 482088398, 500551122
Change-Id: Iee3d224770896f5abc288d1facbd492f67ef9554
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7769170
Reviewed-by: Owen Min <zmin@chromium.org>
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Devlin Cronin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1616564}
These features were moved under common
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/3fe669867f71303e859e010511f565c174eff5ff
commit 3fe669867f71303e859e010511f565c174eff5ff
Author: Thomas Lottermann <lottermann@google.com>
Date: Wed Apr 8 02:25:11 2026 -0700
[OTP] Make One Time Token service URL configurable via FeatureParam.
This change replaces the hardcoded URL for fetching email one-time
tokens with a FeatureParam, allowing the service URL to be modified
through Finch. The default value of the FeatureParam is set to the
original URL.
Bug: b:478840986
Fixed: b:478840986
Change-Id: I7e0f0a48c1d8fd735d451fc741635a5cfc4460ee
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7711420
Commit-Queue: Thomas Lottermann <lottermann@google.com>
Reviewed-by: Matthias Körber <koerber@google.com>
Reviewed-by: Trang Mai <trangm@google.com>
Cr-Commit-Position: refs/heads/main@{#1611334}
BraveWindowTracker is initialized in
BraveBrowserMainExtraParts::PreMainMessageLoopRun. It uses
base::ScopedObservation<BrowserCollection, BrowserCollectionObserver>,
which obseves browser collection which goes out of scope with
GlobalFeatures. BraveWindowTracker needs to stop observing before then.
Added HasInstance/ClearInstance to BraveWindowTracker modeling this
behavior on upstream's ChromeBrowserMainExtraPartsMetrics and
metrics::TabStatsTracker.
[33240:46492:0417/173936.000:ERROR:base\allocator\partition_alloc_support.cc:683] A freed allocation is still referenced by a dangling pointer at exit, or at test end. Leaked raw_ptr/raw_ref could cause PartitionAlloc's quarantine memory bloat.
Memory was released on:
brave_browser_tests!base::allocator::`anonymous namespace'::DanglingRawPtrDetected [0x7ff7130f09ee+3ee] (base\allocator\partition_alloc_support.cc:438)
brave_browser_tests!GlobalFeatures::~GlobalFeatures [0x7ff711aec13d+cd] (chrome\browser\global_features.cc:96)
brave_browser_tests!BraveGlobalFeatures::~BraveGlobalFeatures [0x7ff710d19780+10] (brave\browser\brave_global_features.cc:12)
brave_browser_tests!BrowserProcessImpl::~BrowserProcessImpl [0x7ff711b8ccb8+138] (chrome\browser\browser_process_impl.cc:565)
brave_browser_tests!BraveBrowserProcessImpl::~BraveBrowserProcessImpl [0x7ff711b46128+3c8] (brave\browser\brave_browser_process_impl.cc:142)
brave_browser_tests!BraveBrowserProcessImpl::~BraveBrowserProcessImpl [0x7ff711b47fa0+10] (brave\browser\brave_browser_process_impl.cc:142)
brave_browser_tests!ChromeBrowserMainParts_ChromiumImpl::PostDestroyThreads [0x7ff711b52658+168] (chrome\browser\chrome_browser_main.cc:2291)
brave_browser_tests!content::BrowserMainLoop::ShutdownThreadsAndCleanUp [0x7ff70d2638c7+7b7] (content\browser\browser_main_loop.cc:1282)
brave_browser_tests!content::BrowserMainRunnerImpl::Shutdown [0x7ff70d265b86+106] (content\browser\browser_main_runner_impl.cc:177)
ERROR:base\allocator\partition_alloc_support.cc:700] Dangling reference from:
ERROR:base\allocator\partition_alloc_support.cc:701] brave_browser_tests!partition_alloc::internal::base::debug::CollectStackTrace [0x7ff713271b82+12] (base\allocator\partition_allocator\src\partition_alloc\partition_alloc_base\debug\stack_trace_win.cc:103)
brave_browser_tests!base::internal::InstanceTracer::TraceImpl [0x7ff7132712ee+1fe] (base\allocator\partition_allocator\src\partition_alloc\pointers\instance_tracer.cc:66)
brave_browser_tests!base::ScopedObservation<brave_rewards::RewardsService,brave_rewards::RewardsServiceObserver,0>::Observe [0x7ff707af12d8+128] (base\scoped_observation.h:117)
brave_browser_tests!brave::BraveWindowTracker::BraveWindowTracker [0x7ff7119c682d+11d] (brave\browser\p3a\p3a_core_metrics.cc:60)
brave_browser_tests!brave::BraveWindowTracker::CreateInstance [0x7ff7119c6de1+21] (brave\browser\p3a\p3a_core_metrics.cc:71)
brave_browser_tests!BraveBrowserMainExtraParts::PreMainMessageLoopRun [0x7ff711a00915+185] (brave\browser\brave_browser_main_extra_parts.cc:104)
brave_browser_tests!ChromeBrowserMainParts_ChromiumImpl::PreMainMessageLoopRun [0x7ff711b4fd60+60] (chrome\browser\chrome_browser_main.cc:1465)
Error fixed:
ERROR at //brave/browser/brave_ads/tabs/ads_tab_helper.cc:28:11: Can't include this header from here.
^------------------------------------------------------------------
The target:
//brave/browser/brave_ads/tabs:tabs
is including a file from the target:
//chrome/browser/ui/browser_window:browser_window
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/2ebf7353bb2535b6121d1a26340d3f4e74046e42
commit 2ebf7353bb2535b6121d1a26340d3f4e74046e42
Author: Thomas Lukaszewicz <tluk@chromium.org>
Date: Tue Apr 14 21:51:30 2026 -0700
[bedrock] Remove BrowserListObserver
Bug: 431671320
Change-Id: Iff946bf520ab44049c855d91576ef53ca1916e00
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7744448
Reviewed-by: Qikai Zhong <qikaizhong@microsoft.com>
Commit-Queue: Thomas Lukaszewicz <tluk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1614935}
Chromium has turned on noUncheckedSideEffectImports flag which requires
type definitions to be generated for side effect imports, i.e.
import './foo'
However, the build process we use for generating a bunch of our bundles
doesn't emit type definitions. I've got a work in progress branch on
master which gets things kind of working but I think I hit a bit of a
road block.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/7ff606db0b865f1b09886ff5ae61ffbc4b54385c
commit 7ff606db0b865f1b09886ff5ae61ffbc4b54385c
Author: Michael Tatarski <mtatarski@google.com>
Date: Tue Apr 14 04:43:13 2026 -0700
[STTS] Add commit confirmation callback to Send Tab To Self
This CL introduces the infrastructure to support commit confirmation
notifications when a tab is sent to another device. Currently, the UI
provides feedback either immediately after the send action is initiated
(Android) or none at all (iOS, Desktop).
This change updates the Send Tab To Self model and bridge to accept a
confirmation callback. The bridge executes the callback with success
immediately after the entry is successfully queued in the local sync
pipeline, and invokes it with failure if it cannot be queued (e.g. if
the URL is invalid or sync is not tracking metadata). This allows the UI
to reliably react to the operation's initial result.
Bug: 492072882