This class is now gone, and all references to it, including overrides,
are replaced now with `TabData`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/bf0fd12fe5e43e5d07067aeac270773d0a830258
commit bf0fd12fe5e43e5d07067aeac270773d0a830258
Author: Steven Luong <stluong@chromium.org>
Date: Fri Mar 6 11:13:18 2026 -0800
Reland "[TabRendererData] Move clients to use TabData"
This is a reland of commit af1897a38fe2fd6c261057977d1a3794766285a7
The original CL was reverted because the data sharing feature flag
wasn't enabled for a test which caused a collaboration message
test to fail.
Original change's description:
> [TabRendererData] Move clients to use TabData
>
> Fully delete the TabRendererData so that clients will use the TabData
> struct instead. This CL adds TabData::FromTabInterface() to help with
> the migration but this will be eventually be deleted in favor of using
> the TabDataObserver to cache and generate the TabData.
>
> Bug: 447214891
> Change-Id: I0c782a2a47b1dbffc79e150909bbcf67a7cdc3e7
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7639651
> Commit-Queue: Steven Luong <stluong@chromium.org>
> Reviewed-by: Eshwar Stalin <estalin@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1595101}
Bug: 447214891
Change-Id: I9df05931dab9ad85aa6c07cc23966cb2790664d6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7641753
Auto-Submit: Steven Luong <stluong@chromium.org>
Reviewed-by: Eshwar Stalin <estalin@chromium.org>
Commit-Queue: Steven Luong <stluong@chromium.org>
Commit-Queue: Eshwar Stalin <estalin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1595551}
We only use this in test and can pass nullptr because the delegate won't
be used since we disable the service via the command line switch.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/78160d55e2c339974f49db81aa890db4d49d2dbe
commit 78160d55e2c339974f49db81aa890db4d49d2dbe
Author: keybo <keybo@google.com>
Date: Tue Mar 3 09:43:07 2026 -0800
Modularize //chrome/browser/domain_reliability
This change introduces the DomainReliabilityServiceDelegate to break the
dependency of the domain_reliability component on g_browser_process and
ChromeMetricsServiceAccessor. This allows
//chrome/browser/domain_reliability to be extracted into its own build
component.
The DomainReliabilityServiceDelegate provides an interface for checking
whether domain reliability is allowed by policy and if metrics reporting
is enabled. This abstraction decouples the component from browser-level
concepts.
A production implementation, ChromeDomainReliabilityDelegate, is
provided in //chrome/browser/net/profile_network_context_service.cc. A
test implementation, TestDomainReliabilityServiceDelegate, is added for
browser tests. This is a step towards reducing dependency cycles and
improving the overall modularity of the codebase.
Bug: 488383374
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/39a3c857cf68cd462f911d6f251f05d1996a485e
commit 39a3c857cf68cd462f911d6f251f05d1996a485e
Author: Andrea Orru <andreaorru@chromium.org>
Date: Wed Mar 4 12:56:29 2026 -0800
[Extensions] Track service worker lifecycle more precisely
This change resolves multiple issues with extensions service workers.
- Adds `RendererState::kInitialized` to `ServiceWorkerState` to track
when an extension service worker has initialized but has not yet
finished executing its top-level JavaScript.
- Previously, `OnStoppingSync` and `OnStoppedSync` calls were discarded
if they occurred before the worker finished starting. Now,
`ServiceWorkerTaskQueue::OnWorkerStop` is executed for service workers
that stopped during their start process, allowing `ProcessManager` to
successfully clean up stale workers from its tracking set.
- Plumbs `blink::ServiceWorkerToken` through service worker lifecycle
IPCs to uniquely identify specific worker instances. This enables
`ServiceWorkerState` to verify if incoming IPC messages belong to a live
worker instance via the new `IsLiveServiceWorkerWithToken` method.
Bug: 40936639
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/10f83963d2c1e97ebdd0e6357026595c6fd2680d
commit 10f83963d2c1e97ebdd0e6357026595c6fd2680d
Author: James Cook <jamescook@chromium.org>
Date: Thu Mar 5 10:07:06 2026 -0800
extensions: Rename ExtensionWebUI to ExtensionUrlOverrides
This addresses a long-standing TODO and makes the code easier to find.
No code changes, just mechanical tools/git/move_source_file.py,
find/replace, and git cl format.
Bug: 469417243
GetValue is too common to override.
In file included from ../../brave/chromium_src/components/content_settings/core/browser/content_settings_default_provider.cc:39:
In file included from ../../components/content_settings/core/browser/content_settings_default_provider.cc:43:
In file included from ../../services/device/public/cpp/device_features.h:16:
In file included from gen/services/device/public/mojom/geolocation_internals.mojom-shared.h:24:
In file included from gen/mojo/public/mojom/base/time.mojom-shared.h:28:
In file included from gen/mojo/public/mojom/base/time.mojom-data-view.h:25:
In file included from ../../mojo/public/cpp/bindings/lib/serialization.h:12:
../../mojo/public/cpp/bindings/array_traits_stl.h(41,19): error: expected member name or ';' after declaration specifiers
41 | static const T& GetValue(ConstIterator& iterator) { return *iterator; }
Avoid new `@webui-eslint/lit-element-invalid-interface` linter warning by hiding
elements when necessary instead of removing them, so that interface still
remains valid.
Before this change, the errors looked like this:
src/out/Debug_arm64/gen/chrome/browser/resources/history/preprocessed/synced_device_manager.ts
52:5 error Id 'signInGuide' is listed in the interface definition for HistorySyncedDeviceManagerElement, but no element with that ID was found in the template file 'synced_device_manager.html.ts' @webui-eslint/lit-element-invalid-interface
✖ 1 problem (1 error, 0 warnings)
src/out/Debug_arm64/gen/chrome/browser/resources/side_panel/customize_chrome/preprocessed/appearance.ts
33:5 error Id 'themeSnapshot' is listed in the interface definition for AppearanceElement, but no element with that ID was found in the template file 'appearance.html.ts' @webui-eslint/lit-element-invalid-interface
✖ 1 problem (1 error, 0 warnings)
Chromium changes:
https://source.chromium.org/chromium/chromium/src/+/5ffb25503dfd5249a2d1607be062cf4307e9d330
commit 5ffb25503dfd5249a2d1607be062cf4307e9d330
Author: rbpotter <rbpotter@chromium.org>
Date: Tue Mar 3 16:57:16 2026 -0800
WebUI: Add check for unused ids in interface declarations
Also adds a stricter check for incorrect ids, i.e. ids using dash-case
and string literal format instead of camelCase names.
Note: Intentionally not supporting cases where a portion of the
template has been refactored to a separate .html.ts file. This is
because this refactoring should only be done in the following cases:
(1) Template chunk is reused in many places, in which case it should
not contain dom IDs, which must be unique within a shadow DOM.
(2) Template chunk is reused but only one instance is visible at
a time, because it is always behind a conditional rendering
statement. IDs for elements behind conditional rendering
statements should never be placed in the interface declaration.
Bug: 488078902
Change-Id: I3f54351b10368f07b1c3e2d98526d9b100bc71b7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7614123
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1593617}
Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/ea01904753154d3fbabe9b5eea931815e1b4a2a6
commit ea01904753154d3fbabe9b5eea931815e1b4a2a6
Author: Devon Loehr <dloehr@google.com>
Date: Tue Mar 3 12:21:30 2026 -0800
Update Win toolchain to VS 2026 and SDK 26100.7705
This CL updates chromium to use the newest windows build files. This
includes a minor SDK version bump and a major VS bump. Fortunately, all
the required changes are pretty minor. There were no updates to the mc
or midl files. As always, once this lands we will no longer support previous versions of the toolchain.
------------------------------------------------------------------------
Instructions to reproduce:
These instructions are best done on a fresh VM. Make sure to uninstall
any existing installations of Visual Studio and any existing SDK
installations before starting.
```
1. Install git for windows from their website, with the default settings
(https://git-scm.com/downloads/win) 2. Install depot_tools following the
instructions on their webpage
(https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up)
3. Download Visual Studio Professional (Free Trial) from the official
site (https://visualstudio.microsoft.com/downloads/) 4. Run the VS
installer with the following arguments:
$ VisualStudioSetup.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
```
5. Open the VS installer (from the start menu), click “Modify”, and
uninstall any existing SDK versions (search for “windows sdk”). 6. Open
“Add or Remove Programs” and make sure there are no SDK versions
installed; remove them if so (search for “windows software development
kit”). 7. Download SDK Version 10.0.26100.7705 from the official site
(https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/).
Note that it may have been updated without incrementing the version
number, and that if a more recent version has been released, it may no
longer be available. In these cases, reproducing the exact hash below
will be impossible. 8. Run the SDK installer with default settings,
except disable “insights”. 9. Run the packaging script from depot_tools,
e.g $ vpython3 depot_tools\win_toolchain\package_from_installed.py 2026
-w 10.0.26100.0
Link to packaging script version used for packaging:
https://chromium-review.git.corp.google.com/c/chromium/tools/depot_tools/+/7613148/1
This resulted in the final package with hash e66617bc68.
Bug: 483104761
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/ea17fefb
commit ea17fefb217238ca7c0425fb1cb96dbce76391d3
Author: Zaina Al-Mashni <zalmashni@google.com>
Date: Wed Mar 4 01:44:24 2026 -0800
[Settings] Clean up old Delete browsing data settings page
This is the first CL of many to clean up the DBD v1 code path now that
kDbdRevampEnabled is launched on Desktop. This change cleans up the old
settings UI.
Proxy/handler, backend and flag clean up will happen in following CLs.
Bug: 397187800
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/eb5f655d
commit eb5f655dced4e845dce4b99bbb12a46846855b4d
Author: Xiang Ji <jxiang@google.com>
Date: Tue Mar 3 12:07:31 2026 -0800
Modularize chrome/browser/obsolete_system/ into its own BUILD.gn
Move obsolete_system.h and its platform-specific implementations out of
//chrome/browser:browser into dedicated source_set targets under
chrome/browser/obsolete_system/BUILD.gn. Add
//chrome/browser/obsolete_system as direct deps to the targets that
include obsolete_system.h: upgrade_detector:impl, ui/startup:impl, and
ui:ui.
Also remove obsolete_system.h from the TODO comment in browser's
allow_circular_includes_from since upgrade_detector:impl now depends on
it directly.
Bug: 487263066
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/78160d55
commit 78160d55e2c339974f49db81aa890db4d49d2dbe
Author: keybo <keybo@google.com>
Date: Tue Mar 3 09:43:07 2026 -0800
Modularize //chrome/browser/domain_reliability
This change introduces the DomainReliabilityServiceDelegate to break the
dependency of the domain_reliability component on g_browser_process and
ChromeMetricsServiceAccessor. This allows
//chrome/browser/domain_reliability to be extracted into its own build
component.
The DomainReliabilityServiceDelegate provides an interface for checking
whether domain reliability is allowed by policy and if metrics reporting
is enabled. This abstraction decouples the component from browser-level
concepts.
A production implementation, ChromeDomainReliabilityDelegate, is
provided in //chrome/browser/net/profile_network_context_service.cc. A
test implementation, TestDomainReliabilityServiceDelegate, is added for
browser tests. This is a step towards reducing dependency cycles and
improving the overall modularity of the codebase.
Bug: 488383374
A recent upstream change migrated `chrome::GetTotalBrowserCount()` to use
`GlobalBrowserCollection` instead of `BrowserList`. During browser test
shutdown, `GlobalBrowserCollection` is no longer valid by the time
`TearDownInProcessBrowserTestFixture()` runs, causing a crash when the test
queries the browser count. Move the assertion to `TearDownOnMainThread()` where
the browser infrastructure is still alive.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/eaf9b1a7ff97299c7203a48c6f1c10cfffa0e97b
commit eaf9b1a7ff97299c7203a48c6f1c10cfffa0e97b
Author: Thomas Lukaszewicz <tluk@chromium.org>
Date: Mon Mar 2 13:38:03 2026 -0800
[bedrock] Remove BrowserListEnumerator
Bypass-Check-License: file move in upstream CL
Bug: 441824481
Change-Id: I64b00c40749006d0df40946134355a54eabe03c1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7537385
Commit-Queue: Tom Lukaszewicz <tluk@chromium.org>
Reviewed-by: Qikai Zhong <qikaizhong@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1592716}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/61a82a1566fd970e84e97a209528055da082b76e
commit 61a82a1566fd970e84e97a209528055da082b76e
Author: Henrique Nakashima <hnakashima@chromium.org>
Date: Mon Mar 2 13:10:58 2026 -0800
[Android] Null-annotate RootUiCoordinator (part 5)
This CL focuses on ModalDialogManager.
In different places it's nullable or not, and it is sometimes passed as
a Supplier and sometimes not. Generally, ChromeBaseAppCompatActivity has
a MonotonicObservableSupplier which in some subclasses never gets set,
but in the ones that create a RootUiCoordinator, the provider is set
before the RootUiCoordinator is created.
I've tried to keep Suppliers where instances are mostly passed via
Supplier and the actual ModalDialogManager where the Suppliers have
generally already been resolved.
Reduced NullAway errors down to 69 again.
Cq-Include-Trybots: luci.chrome.try:android-internal-dbg,android-internal-binary-size
Change-Id: I081f4cfab1a80dc074b2886a0ff59cb176feff30
Bug: 485252552
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7604913
Owners-Override: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1592697}
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/de3c77d012c246eb7ac05810b7c54de27f20c7c4
Commit: de3c77d012c246eb7ac05810b7c54de27f20c7c4
Author: tluk@chromium.org
Date: Tue Mar 3 05:03:00 2026 -0500
[bedrock] Eliminate calls to BrowserList::SetLastActive
This CL migrates tests directly calling BrowserList::SetLastActive to
use a special deprecated ui_test_utils method. This method performs
a similar function that also propagates the action state through the
BrowserCollections.
This new method is not intended for new usage, all existing clients
should be migrated to be interactive_ui_tests instead.
Bug: 441824481
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/079a94e8
commit 079a94e886ed77cdd2eda001a2bc289bc945aedb
Author: dpapad <dpapad@chromium.org>
Date: Wed Feb 4 12:39:25 2026 -0800
WebUI: Implement new @webui-eslint/lit-element-structure check.
Specifically the new check enfocres the following for CrLitElement
subclasses:
1) The exstence of the 'static get is() {...}' method.
2) The existence of the 'interface HTMLElementTagNameMap {...}'
declaration.
3) The existence of the 'customElements.define(...)' call.
All violations have been addressed in previous CLs and the check is
enabled as part of build_webui's ':lint_ts' target.
Some additional structural checks will be added in follow-up CLs.
Bug: 480028273
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/c9b45eb2b1609b62a2146b618f57aee136c7745e
commit c9b45eb2b1609b62a2146b618f57aee136c7745e
Author: Baran Erfani <baranerf@google.com>
Date: Wed Feb 18 13:55:51 2026 -0800
Add a new page action for Indigo
This change introduces a UI entry point for Indigo by adding a new page
action and its corresponding controller. The main changes are:
- Introduce `kActionIndigo` chrome action along with the necessary set-up to add it as a page action following the instruction in chrome/browser/ui/views/page_action/README.md.
- Add `IndigoPageActionController` to handle and encapsulate all the logic related to showing/hiding the entry points.
- Add `kIndigo` feature flag disabled by default.
http://screencast/cast/NTkxMTQ2NTkwNjE0MzIzMnw2MWUwZDVlNy1kNA
Bug: b:483103108
The test crashes because TearDownGlobalFeaturesForTesting is called
before the additional profile created by the test is destroyed. When
profile is being destroyed, anything that relies on global features
(like browser tracking observer needing to unsubscribe) would attempt to
reach into deleted global features and crash. In our case
BraveWalletServiceDelegate uses BrowserTabStripTracker which attempts to
unregister observers.
This also caused multiple upstream tests to fail for the same reason:
-DefaultBrowserHandlerTest.*
-DefaultBrowserManagerTest.*
-DefaultBrowserNotificationObserverTest.*
-SiteSettingsHelperChooserExceptionTest.*
-SiteSettingsHelperExtensionTest.*
-SiteSettingsHelperIsolatedWebAppTest.*
-SiteSettingsHelperTest.*
-PersistentPermissionsSiteSettingsHelperTest.*
To avoid crashes in upstream tests, we'll make BraveWalletService NULL
by default in tests and create it manually when needed.
Chromium changes:
https://source.chromium.org/chromium/chromium/src/+/4a162d6b5ab77157c030976930a7b20a8ddb66de
commit 4a162d6b5ab77157c030976930a7b20a8ddb66de
Author: Thomas Lukaszewicz <tluk@chromium.org>
Date: Tue Feb 24 00:03:36 2026 -0800
[bedrock] Migrate BrowserControllerImpl to BrowserCollectionObserver
This CL migrates BrowserControllerImpl and BrowserTabStripTracker
to leverage BrowserCollectionObserver instead of the deprecated
BrowserListObserver (the former uses source-of-truth browser
collections with better lifetime semantics).
BrowserCollections are destroyed in PostDestroyThreads() along with
all other GlobalFeatures in the BrowserProcess, and dependent
features are reset in the appropriate lifecycle hooks.
WebAppShelfBrowserTest.SwitchingBetweenApps expectations are updated
to reflect browser-close being the signal that browser instances
have been removed.
Bug: 431671320
https://chromium.googlesource.com/chromium/src.git/+/23ea3659b77d074a7b516b645f4284cef5ed66d1
commit 23ea3659b77d074a7b516b645f4284cef5ed66d1
Author: thomas lukaszewicz <tluk@chromium.org>
Date: Mon Feb 23 10:55:32 2026 -0800
[bedrock] Ensure TearDownGlobalFeaturesForTesting() is always invoked
Currently TearDownGlobalFeaturesForTesting() is a public method that
is optionally called by specific test suites.
It is important that this is always invoked as it correctly orders
destruction and runs important tear-down lifecycle hooks for global
features that are necessary to ensure correct destruction order
and mitigate UAF risk.
Follow-up CLs can explore possibly making
TearDownGlobalFeaturesForTesting() private and ensuring it is only
called once.
Bug: 431671320, 485923746
When detaching pinned tabs from a browser, OnWindowClosing() could be
called again after all tabs are detached(via TabStripEmpty() callback).
This makes the tab stats data store's browser count inaccurate.
Upstream added a CHECK that the ids are < 100.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/92f4fbc45a8af773f3cb58a9896fd5353d8dbbc0
commit 92f4fbc45a8af773f3cb58a9896fd5353d8dbbc0
Author: Will Harris <wfh@chromium.org>
Date: Mon Mar 2 12:49:36 2026 -0800
Treat weakly encrypted hashes as invalid in tracked prefs
When the new RejectWeakCiphertext feature is enabled then, if a stronger
key is available but a weaker key is used for encrypted hashes, then the
decryption will be rejected and the tracked pref treated as tampered.
In this case, a new histogram is logged to report the issue, alongside
the existing histograms.
A test is added to verify the behavior.
BUG=481916494
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/c6bd1aad8b6b959a042230f6eb6f5d1032af2884
commit c6bd1aad8b6b959a042230f6eb6f5d1032af2884
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Mon Mar 2 15:23:13 2026 -0800
Make Clipboard::ReadBookmark asynchronous
This CL removes the synchronous version of Clipboard::ReadBookmark,
making the asynchronous version pure virtual and implementing it in all
subclasses. Callers are updated to use the asynchronous version. In
particular, omnibox usages are handled by caching the clipboard state.
Bug: 40398800
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/34bc3145277933749c40fd8b19867a5ec39a5998
commit 34bc3145277933749c40fd8b19867a5ec39a5998
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Mon Mar 2 15:33:05 2026 -0800
Make Clipboard::ReadText asynchronous
This CL removes the synchronous version of Clipboard::ReadText,
making the asynchronous version pure virtual and implementing it in all
subclasses. Callers are updated to use the asynchronous version.
Bug: 40398800
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/1d23bcd35e85b74447964ab3e00ba899a863b75c
commit 1d23bcd35e85b74447964ab3e00ba899a863b75c
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Mon Mar 2 15:39:40 2026 -0800
Make Clipboard::ReadAvailableTypes asynchronous
This CL removes the last remaining synchronous method in ui::Clipboard.
The synchronous version of Clipboard::ReadAvailableTypes is removed, and
the asynchronous version is made pure virtual and implemented it in all
subclasses. Callers are updated to use the asynchronous version.
In particular, the RenderViewContextMenu previously used
ReadAvailableTypes to determine if the paste menu entry should be
enabled. To make this async, an is_paste_enabled field is added to the
constructor. Before menu creation, ChromeWebContentsViewDelegateViews
(or ChromeWebContentsViewDelegateViewsMac) obtain the clipboard state.
Bug: 40398800
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/d704671058b0a347366d3847ab6bd84047d5f3ba
commit d704671058b0a347366d3847ab6bd84047d5f3ba
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Tue Feb 10 13:28:46 2026 -0800
Use std::optional instead of raw pointer for async Clipboard methods
Passing a raw pointer to an async function causes confusion about the
ownership of the pointer. It's expected that the implementation copies
the pointed-to value if it's needed in an async callback. This CL
removes this confusion by using std::optional instead of a raw pointer.
Bug: 40398800
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/4b899f586d008696129d653b08cf5b5bb9ce5963
commit 4b899f586d008696129d653b08cf5b5bb9ce5963
Author: Kent Tamura <tkent@chromium.org>
Date: Mon Mar 2 19:13:08 2026 -0800
blink: Rename functions declared in kurl.{h,cc}
This CL renames several functions in `kurl.{h,cc}` to follow the Google
C++ style guide for identifier naming, which prefers `Url` and `Http`
over `URL` and `HTTP`.
The following renames were made:
- ProtocolIsInHTTPFamily -> ProtocolIsInHttpFamily
- IsAboutBlankURL -> IsAboutBlankUrl
- IsAboutSrcdocURL -> IsAboutSrcdocUrl
- InnerURL -> InnerUrl
- IsAboutURL -> IsAboutUrl
- InitInnerURL -> InitInnerUrl
- AssertStringSpecIsASCII -> AssertStringSpecIsAscii
- BlankURL -> BlankUrl
- SrcdocURL -> SrcdocUrl
- EncodeWithURLEscapeSequences -> EncodeWithUrlEscapeSequences
This is a pure refactoring with no change in behavior.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/68c4c96a45d2e0c302a094ea80ebce19668c1000
commit 68c4c96a45d2e0c302a094ea80ebce19668c1000
Author: Zhuoyu Qian <zhuoyuqian@microsoft.com>
Date: Thu Feb 26 09:31:41 2026 -0800
Fix placeholder avatar visibility in forced-colors mode
In forced-colors mode (e.g. Windows "Aquatic" high-contrast theme),
the placeholder avatar icon (a vector silhouette rasterized into a
gfx::Image) could become invisible against the opaque ink drop
background on hover, press, or when the profile menu bubble is open.
Unlike regular vector icon buttons, the placeholder avatar bypasses
LabelButton::GetImage()'s built-in forced-colors re-rasterization
(which requires IsVectorIcon()). Fix this by explicitly setting
per-state images with kColorIconHovered for HOVERED/PRESSED states,
and overriding STATE_NORMAL when the ink drop is highlighted
(ACTIVATED state, e.g. bubble open).
Also register an ink drop highlight callback to re-run UpdateIcon()
when highlight visibility changes, ensuring the recolored icon is
applied/removed at the right time.
Before:
https://drive.google.com/file/d/1FBXhe6-vAraLpsuzo1t0yobc3RcpmxE5/view?usp=drive_link
After:
https://drive.google.com/file/d/1VlW1Kx6RBYaDu39WrT-pS6h4RjEyNSdM/view?usp=drive_link
Bug: 484367314
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/76d46aff14efd83a500a4e6b8f0d8bae3501b5e5
commit 76d46aff14efd83a500a4e6b8f0d8bae3501b5e5
Author: Evan Stade <evanstade@microsoft.com>
Date: Fri Feb 27 02:38:10 2026 -0800
Clean up StoragePartitionImpl bucket data deletion.
Remove QUOTA_MANAGED_STORAGE_MASK_* because it no longer does anything.
There is only one type of quota managed storage.
Remove QuotaManagedDataDeletionHelper by moving its entire
implementation into a static function. This class contained a lot of
needless complexity.
Now that every ClearFoo helper method is run on the UI thread (like
basically all of StoragePartitionImpl), these functions no longer need
to specify what thread they run on.
For the sake of simplicity, some console logging is removed. (Metrics
would be a better way to handle these errors, but that is out of scope
of this CL.)
Bug: 40211051
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/793643148050470519077aa8997b11311216e814
commit 793643148050470519077aa8997b11311216e814
Author: Yiren Wang <yrw@chromium.org>
Date: Fri Feb 27 10:50:10 2026 -0800
Remove obsolete codes in MediaItemUIDeviceSelectorView
- Made MediaColorTheme a mandatory parameter for MediaItemUIDeviceSelectorView and related builder functions.
- Removed the expand button strip classes for the old UI.
- Removed obsolete strings IDS_GLOBAL_MEDIA_CONTROLS_SHOW_DEVICE_LIST and IDS_GLOBAL_MEDIA_CONTROLS_HIDE_DEVICE_LIST.
- Removed CastDeviceEntryView since only CastDeviceEntryViewAsh is used.
Bug: 483803918
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/6c112d6e786f1583402096279dca3f0b832051a7
commit 6c112d6e786f1583402096279dca3f0b832051a7
Author: Kent Tamura <tkent@chromium.org>
Date: Thu Feb 26 18:05:28 2026 -0800
url: Rename EncodeURIComponent() to EncodeUriComponent()
This renames url::EncodeURIComponent() to url::EncodeUriComponent() to
follow the Google C++ style guide.
Call sites have been updated to use the new function name. In some
places, usage of RawCanonOutputT has been replaced with the simpler
url::UriComponentEncoder class.
This is a pure refactoring with no change in behavior.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/9fad40a56629d2a2cb79b3232ff655ff0bee22e8
commit 9fad40a56629d2a2cb79b3232ff655ff0bee22e8
Author: Bryan Enrique Gonzalez Velez <bryanenriquegv@google.com>
Date: Fri Jan 16 08:54:09 2026 -0800
spanification: automatically spanify base/strings/utf_string_conversion_utils.cc etc.
This is the result of running the automatic spanification on linux and
updating code to use and pass spans where size is known.
The original patch was fully automated using script:
//tools/clang/spanify/rewrite-multiple-platforms.sh -platforms=linux
Then refined with gemini-cli
gemini-run/batch-run-1761116551/group_150
BUG=439964610
BUG=40284755
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/812bfaa37514fc58f758cd57bcbdf23b701c0f0c
commit 812bfaa37514fc58f758cd57bcbdf23b701c0f0c
Author: rbpotter <rbpotter@chromium.org>
Date: Fri Feb 27 17:50:25 2026 -0800
History: Fix string literal and dash-case interface ids
DOM ids used in the interface should use camelCase, and therefore don't
need to be specified with string literals.
This is in preparation for adding an automated check that verifies all
such ids are camelCase, not string literals, and exist in the element's
template.
Bug: 488078902
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/90ab7be1b358f40a93c2b980060af0f29f8f9046
commit 90ab7be1b358f40a93c2b980060af0f29f8f9046
Author: Chris Fredrickson <cfredric@chromium.org>
Date: Thu Feb 26 09:26:54 2026 -0800
Add enumset for PSL DAFSA results
This removes the unnecessary (and unused!) `kDafsaFound` value; properly
scopes the enum using `enum class`; updates and corrects documentation
of lookup_string_in_fixed_set.h symbols; and uses Chromium's standard
enum-set type for (de)serialization of PSL rule tags instead of
implementing them in an ad-hoc fashion.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/ab32293d
commit ab32293dda358dc1d6e4fc4fbf8b7bd3aaffa06c
Author: Hira Mahmood <hiramahmood@google.com>
Date: Thu Feb 26 12:11:47 2026 -0800
[x-plat promos] Rename c/b/promos => c/b/desktop_to_mobile_promos
This CL renames c/b/promos to better reflect the contents of the
directory. It also adds an OWNERS file and a README.
Bug: 487336384