Since this feature flag is deleted, the Brave security team recommended
disabling `features::kSCTAuditingHashdance` (done) and
`prefs::kSafeBrowsingScoutReportingEnabled` (already was in place for Android,
so this commit moves it to a common area for Android and desktop both).
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/24258bf7bdd67889b7bcdaf5dfa7abce5eccf18b
commit 24258bf7bdd67889b7bcdaf5dfa7abce5eccf18b
Author: Joe DeBlasio <jdeblasio@chromium.org>
Date: Mon Mar 16 21:58:39 2026 -0700
[SCT Auditing] Remove sct-auditing flag and kSCTAuditing feature
The 'sct-auditing' chrome://flags entry and the 'kSCTAuditing' feature
flag are no longer needed as the feature is now permanently enabled for
Chrome-branded builds on non-Android platforms.
This CL:
- Replaces checks for features::kSCTAuditing with direct checks for
SystemNetworkContextManager::IsCertificateTransparencyEnabled() and !IS_ANDROID in SCTReportingService.
- Hard-codes the default sampling rate to 0.0001.
- Adds SCTReportingService::SetSamplingRateForTesting() to allow browser
tests to continue using deterministic sampling rates.
- Removes the 'sct-auditing' flag, its variations, descriptions, and
metadata.
- Updates sct_reporting_service_browsertests.cc to use the new testing
override and wraps tests in a branding check.
Fixed: 40258303
Change-Id: Id1a338bd83dbebbfb34cfd4417acaa9c9cac9409
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7665502
Reviewed-by: Chris Thompson <cthomp@chromium.org>
Commit-Queue: Joe DeBlasio <jdeblasio@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1600335}
This reverts commit 424e2e5e76fe01a450f7002e456639f9b8c7ce2b.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/6f42aa179cbcfdb3dc07de43809701f59479071c
commit 6f42aa179cbcfdb3dc07de43809701f59479071c
Author: Steven Luong <stluong@chromium.org>
Date: Tue Mar 17 12:59:15 2026 -0700
[TabData] Reland Tab sets data from TabDataObserver
This CL has the tab directly subscribe for tab data updates from the
TabDataObserver instead of relying on other classes to set its data.
The original CL was reverted because a crash occurs when the
ThumbnailImage::Subscribe() is invoked, but the ThumbnailImage's
delegate is null. The delegate is the TabThumbnailHelper and this
can be null when the WebContents is destroyed. This implies that the
hover card is trying to update with stale TabData after the tab's
web contents is destroyed, but before the tab is destroyed.
Therefore, this CL attempts to fix this crash by clearing out the
thumbnail data when the TabInterface is deleted to avoid this case.
Bug: 447214891
Change-Id: Ifc9e6146d932e8d04af735a31e876945901c0b8d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7666899
Commit-Queue: Steven Luong <stluong@chromium.org>
Reviewed-by: Eshwar Stalin <estalin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1600750}
Upstream removed `WebView::SetCrashedOverlayView()` (the borrow variant) in
favour of `TakeCrashedOverlayView()`, which takes ownership of the overlay view
via unique_ptr.
Update `SharedPinnedTabDummyViewViews::Install()` to transfer ownership to the
WebView using `TakeCrashedOverlayView()`. The `Install()` signature now accepts
`std::unique_ptr<SharedPinnedTabDummyView>` so the caller can hand off ownership
at the call site. `SetVisible(true)` is still required to force the overlay
visible: the dummy `WebContents` is created with `kNoRendererProcess` so
`UpdateCrashedOverlayView()` is not called again after installation, but it runs
once inside `TakeCrashedOverlayView()` and hides the overlay (since the contents
is not in a crashed state).
Note: AI-assisted: requires thorough review
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/cbbb5425a554127e6b5b69bdb180274c0fccfdd1https://chromium.googlesource.com/chromium/src/+/b5d130cdc7fdd3b744f1ac723ce09111184f3ef3
commit cbbb5425a554127e6b5b69bdb180274c0fccfdd1
Author: Robert Liao <robliao@chromium.org>
Date: Mon Mar 16 15:11:52 2026 -0700
Remove WebView::SetCrashedOverlayView
This concludes the SadTab set_owned_by_client() removal.
Fixed: 486052969
Change-Id: I8996b978c265a1ea6f0be894c80a7a9edce3cae3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7670120
Auto-Submit: Robert Liao <robliao@chromium.org>
Commit-Queue: Allen Bauer <kylixrd@chromium.org>
Reviewed-by: Allen Bauer <kylixrd@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1600154}
commit b5d130cdc7fdd3b744f1ac723ce09111184f3ef3
Author: Robert Liao <robliao@chromium.org>
Date: Wed Apr 1 20:20:55 2026 -0700
Remove WebView::SetCrashedOverlayView
This concludes the SadTab set_owned_by_client() removal.
Fixed: 486052969
Change-Id: Ifcb897e910ccd2335b155cb6cb782c0d9eff844b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7722236
Commit-Queue: Robert Liao <robliao@chromium.org>
Auto-Submit: Robert Liao <robliao@chromium.org>
Reviewed-by: Tom Lukaszewicz <tluk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1608957}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/74754be9d4550a487df006a51a33318245d37301
commit 74754be9d4550a487df006a51a33318245d37301
Author: Andrii Natiahlyi <natiahlyi@google.com>
Date: Mon Mar 16 07:03:16 2026 -0700
Componentize ChromeSelectFilePolicy to fix circular dependency
Extract ChromeSelectFilePolicy and its unit tests from the monolithic
//chrome/browser/ui target into a standalone source_set under
//chrome/browser/ui/select_file_policy/.
This refactoring breaks a circular dependency between
//chrome/browser/ui and //chrome/browser/ui/passwords/settings:impl.
BUILD files and includes have been updated across the codebase to
reflect the new location.
Bug: 437811373
Bypass-Check-License: Files were moved to a sub-folder.
Change-Id: I7ce28ca446211f5f6fe6dafab71c19b20bf18d18
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7665700
Reviewed-by: Marc Treib <treib@chromium.org>
Auto-Submit: Andrii Natiahlyi <natiahlyi@google.com>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Commit-Queue: Hidehiko Abe <hidehiko@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1599862}
`//third_party/mock` was removed from the gsutil third_party code. We were
previously touching the Changelog file in this directory because it was needed
for our test suites to run properly on Android (see
https://github.com/brave/brave-browser/issues/31641). However, we can no longer
do that so removed that code (there was no adverse effect after removing it).
Chromium changes:
https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+/ac70fe6a2cd8d142ff08e4692fa3230fb954a211
commit ac70fe6a2cd8d142ff08e4692fa3230fb954a211
Author: Andrew Grieve <agrieve@chromium.org>
Date: Thu Mar 12 14:36:11 2026 -0400
Roll //third_party/gsutil 5.29 -> 5.36
And also set "Shipped: No" in the README.chromium
Required to support python3. Currently, I'm seeing:
>>> from devil.android import device_utils
>>> d = device_utils.DeviceUtils.HealthyDevices()
<snip>
File "/usr/local/google/code/clankium-rebaser/src/third_party/catapult/third_party/gsutil/third_party/apitools/apitools/base/protorpclite/messages.py", line 319, in __init__
raise EnumDefinitionError(
...<2 lines>...
(attribute, value))
apitools.base.protorpclite.messages.EnumDefinitionError: May only use integers in Enum definitions. Found: __static_attributes__ = ()
Change-Id: Ieb949db930984a1a84061b3a0a2159b12e5c0e30
Reviewed-on: https://chromium-review.googlesource.com/c/catapult/+/7658464
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Auto-Submit: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Haiyang Pan <hypan@google.com>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Seven new parameters added to TopToolbarCoordinator constructor after
MonotonicObservableSupplier<Profile>:
- SigninAndHistorySyncActivityLauncher
- WindowAndroid
- ActivityResultTracker
- DeviceLockActivityLauncher
- BottomSheetController
- ModalDialogManager
- SnackbarManager
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/c0e37322747db4f16956a53ff936c85905593c3b
commit c0e37322747db4f16956a53ff936c85905593c3b
Author: Sophie Crowley <crowleso@google.com>
Date: Wed Mar 11 10:30:11 2026 -0700
[Signin][Android] Add piping for Signin button onclick functionality
This will be immediately followed by its child CL
https://crrev.com/c/7604273 which uses all of these dependencies in
adding Seamless Signin + settings onclick functionality for this Signin
button. Split CL for ease of review. Adapted from
IdentityDiscController.java
Bug: 478828569
Change-Id: I600617b391ac061000998b1820ba573a57079e86
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7600378
Commit-Queue: Sophie Crowley <crowleso@google.com>
Reviewed-by: Liza Bipin <mlbipin@google.com>
Cr-Commit-Position: refs/heads/main@{#1597857}
Two new parameters added to ToolbarManager constructor between
WindowAndroid and OneshotSupplier<ChromeAndroidTask>:
- ActivityResultTracker
- DeviceLockActivityLauncher
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/c0e37322747db4f16956a53ff936c85905593c3b
commit c0e37322747db4f16956a53ff936c85905593c3b
Author: Sophie Crowley <crowleso@google.com>
Date: Wed Mar 11 10:30:11 2026 -0700
[Signin][Android] Add piping for Signin button onclick functionality
This will be immediately followed by its child CL
https://crrev.com/c/7604273 which uses all of these dependencies in
adding Seamless Signin + settings onclick functionality for this Signin
button. Split CL for ease of review. Adapted from
IdentityDiscController.java
Bug: 478828569
Change-Id: I600617b391ac061000998b1820ba573a57079e86
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7600378
Commit-Queue: Sophie Crowley <crowleso@google.com>
Reviewed-by: Liza Bipin <mlbipin@google.com>
Cr-Commit-Position: refs/heads/main@{#1597857}
SnapScrollHelperImpl constructor changed to accept NewTabPageCoordinator
instead of NewTabPageLayout. Added mNewTabPageCoordinator shadow field to
BraveNewTabPage and create it in initializeMainView after inflating the
layout.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/040e46a7c7697d0eb32e58b30a39e9822d045d81
commit 040e46a7c7697d0eb32e58b30a39e9822d045d81
Author: Xi Han <hanxi@google.com>
Date: Wed Mar 11 18:33:45 2026 -0700
[NtpRefactor] Split NewTabPageLayout into NewTabPageCoordinator and
layout.
This is a refactor CL without any behavior changes. In this CL:
1. Split major logic from NewTabPageLayout to NewTabPageCoordinator,
only Layout implementations remains in the NewTabPageLayout;
2. To preserve the renaming history, temporarily renaming
NewTabPageLayout to NtpLayout. We will rename back in follow up CL
https://crrev.com/c/7658503.
Design doc: go/ntp-mvc-refactor.
Bug: 487641528
Bypass-Check-License: NewTabPageCoordinator is a renamed from NewTabPageLayout.
Change-Id: Ief8fd9b048696a875ccd8167421d88ad2e667f04
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7658403
Commit-Queue: Xi Han <hanxi@chromium.org>
Reviewed-by: Xinyi Ji <xinyiji@chromium.org>
Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1598132}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0fdbaef65b9ade5730c98d5af4fe57ece28f3341
commit 0fdbaef65b9ade5730c98d5af4fe57ece28f3341
Author: Will Harris <wfh@chromium.org>
Date: Fri Mar 13 10:35:06 2026 -0700
Add new app-bound validation type for isolated data
Data encrypted by a process running isolated cannot be decrypted by a
process not running isolated.
However, isolated processes can decrypt data from both isolated or
unisolated processes, which enables data security upgrade scenarios for
when a process becomes isolated.
SetIsolationState is extended to re-encrypt data to an unisolated state
if downgrading protection. This ensures the data remains accessible when
running unisolated. To achieve this, App-Bound takes an option to force
a re-encrypt to a particular protection level, and this is also exposed
via the App-Bound key provider.
Tests are added for all of this new behavior.
BUG=433545123
Change-Id: Ibff7119ec151f5ef11a7d5091b5360709db787ee
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7644512
Commit-Queue: Will Harris <wfh@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1599157}
These sources are moved on upstream and this change corrects their
location in Brave as well.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/c9b4d76b7163c9c52a2742824dcf98230b7dee85
commit c9b4d76b7163c9c52a2742824dcf98230b7dee85
Author: Fred Shih <ffred@chromium.org>
Date: Fri Mar 13 11:28:57 2026 -0700
Make tab strip service truly platform agnostic
While the core logic of the service was (mostly) platform agnostic, some
of the components still had hard dependencies on TSM. This change
removes those hard dependency in subcomponents.
tl;dr start --
Move all TSM related stuff into tab_strip_model_impl folder. Remove all
TSM includes from all other files outside of that package.
Potential followup work: move all the non-tab_strip_model_impl package
outside of the chrome/browser/ui/tabs directory to prevent confusion.
-- end tl;dr
Overall, with the exception of some book keeping, it wasn't too
terrible, because most of the TSM language is already translated to an
internal language past the integration points. Most of the work was just
updating the includes and namespacing.
We did have two instances where TSM concepts bled into the service, but
they were reasonably easy to remove.
The configuration for the adapters is sufficiently complex enough that I
introduced a PlatformAdaptersProvider object to hold onto the different
pieces needed by the service. This should prevent future churn when
adding new dependencies, as it won't trigger a massive refactoring to
add new dependencies or to change interfaces.
Change-Id: Ieaf575de81f2b2fe51a7a5ab590a0c52f16a8b9c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7652133
Commit-Queue: Fred Shih <ffred@chromium.org>
Reviewed-by: Tom Lukaszewicz <tluk@chromium.org>
Reviewed-by: David Yeung <dayeung@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1599199}
Several of the members from `TabHoverCardBubbleView` are now part of
`TabCardView`. This change corrects our override for this class and
several places where the interface was being used and needs to be
corrected.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/56e1946e9a5ef3f98eb5988bcf76292174df7860
commit 56e1946e9a5ef3f98eb5988bcf76292174df7860
Author: Dominic Austria <dominicaustria@google.com>
Date: Thu Mar 12 21:41:50 2026 -0700
Wrap TabHoverCardBubbleView child views
We put the child views of TabHoverCardBubbleView into a single view. Later on we will implement a view for tab group headers, called GroupCardView. This will have two child views, one to hold the title of the tab groups, and the other to hold the title of the tabs in the corresponding tab group. Having two wrapper child views for the hover card content will make it easier to implement cross fading when the hovercard moves from tab group to tab.
Bug: 481392191
Change-Id: I953282830c0849bad9b046f85603ab6f1112df55
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7630129
Reviewed-by: Emily Shack <emshack@chromium.org>
Commit-Queue: Dominic Austria <dominicaustria@google.com>
Cr-Commit-Position: refs/heads/main@{#1598874}
This argument only gets passed along for our purposes.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/54777b8f87dcd034f40ffa2bae1ffe0e5b59d321
commit 54777b8f87dcd034f40ffa2bae1ffe0e5b59d321
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Thu Mar 12 20:04:07 2026 -0700
[Clipboard] Async GetAllAvailableFormats replaces sync IsFormatAvailable
This change replaces the synchronous IsFormatAvailable method in
ui::Clipboard with an asynchronous GetAllAvailableFormats method. The
new method takes a callback and returns a set of all available formats.
All platform implementations (Android, Windows, Mac, Ozone, iOS, and the
non-backed implementation) have been updated. Callers across the
codebase have been refactored to use the new asynchronous API, often
utilizing a pseudo-synchronous pattern where acceptable or updating to
full async.
Synchronous convenience functions were added to clipboard_test_util to
facilitate the update of the extensive test suite.
IsFormatAvailable is most commonly used to enable the "Paste" menu item
in context menus. The strategy is to obtain this state before the menu
is created, since the menu delegate interface for determining if a
command is enabled should remain synchronous.
Behavior is preserved by this change except for a change in Textfield
(and it's subclass OmniboxViewViews): when pasting, the clipboard is
assumed to contain content. The consequence of this is event propagation
of Ctrl-V keypresses will stop on the Textfield when it may otherwise
have been propagated to parent views. This is deemed an acceptable
tradeoff for the async migration since this behavior is unlikely to ever
get hit.
Bug: 40398800
Change-Id: Ibc005d100d9cfd21cb9f06c758ce0a98282fdb97
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7631097
Reviewed-by: Olivier Robin <olivierrobin@chromium.org>
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Mike Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1598848}
Upstream removed `TabSearchContainer`, so we need to move our override of
`BraveTabSearchButton` to the class where `TabSearchButton` is constructed
now (`HorizontalTabvStripRegionView`)
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/d43a49df6f998a2e3828a410402cc46d41fae43a
commit d43a49df6f998a2e3828a410402cc46d41fae43a
Author: Emily Shack <emshack@chromium.org>
Date: Wed Mar 11 16:17:46 2026 -0700
[TabOrganization] Remove TabSearchContainer
Removes the auto tab groups nudge button, which in turn makes
TabSearchContainer obsolete. Replaces TabSearchContainer with a direct
reference to the tab search button itself.
Bug: 488463961
Change-Id: Ib1941ceabe6bccf6835c47561f9bff2a9d810bac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7651705
Reviewed-by: Darryl James <dljames@chromium.org>
Commit-Queue: Emily Shack <emshack@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1598058}
Upstream no longer initializes or otherwise uses `pref_change_registrar_` in
`TabSearchPageHandler` but they forgot to remove it. Since we still need to
monitor pref changes, add our own to our override of their class.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/bb4630838cd0fd2567b306b6c481750fdf2b95dd
commit bb4630838cd0fd2567b306b6c481750fdf2b95dd
Author: Emily Shack <emshack@chromium.org>
Date: Mon Mar 9 16:23:28 2026 -0700
[TabOrganization] Deprecate tab index pref
Deprecates kTabSearchTabIndex and any reference to tab search sections,
following up to the removal of auto tab groups and declutter from tab
search.
Bug: 488463961
Change-Id: I5c9ecc7024e2125ddd524f381451c59a8cda1ee2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7630127
Reviewed-by: Alex Gough <ajgo@chromium.org>
Commit-Queue: Emily Shack <emshack@chromium.org>
Reviewed-by: Darryl James <dljames@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1596690}
[AI Chat] [Tab Focus] Decouple tab focus UI from removed upstream tab organization
Upstream (549edd60fe) removed their tab organization UI in CR147,
leaving the tab search bubble as a plain search list. To prepare
for this change, this PR updates how we hook into upstream tab
search UI, and decouples our pref change notification methods and
method to open learn more page to our own instead of overriding
upstream's.
Main changes:
Restore the deleted auto_tab_groups WebUI under
browser/resources/tab_search/tab_focus/ with Brave naming
(TabFocusPageElement / 'tab-focus-page'), since our Leo-based
tab focus feature uses a customized version that doesn't depend
on upstream.
Wrap the upstream app with <brave-tab-search-app> that adds
cr-tabs navigation between "Tab Search" and "Tab Focus",
conditionally showing the tab organization page based on the
AI Chat feature flag and user pref, falling back to search-only
when disabled.
Add Brave Page callbacks (TabFocusEnabledChanged,
TabFocusShowFREChanged) via BraveExtend on the Page interface
for live pref updates, and add OpenLearnMorePage to PageHandler
for the tab focus learn more link.
Fix friend declaration hook to match an upstream private method
that still exists in CR147, and fix unit test by injecting
MOCK_METHODs into upstream MockPage via BindNewPipeAndPassRemote()
hook.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/549edd60fee41974de823b6bc2b4a715a526cb66
commit 549edd60fee41974de823b6bc2b4a715a526cb66
Author: Emily Shack <emshack@chromium.org>
Date: Fri Mar 6 13:08:50 2026 -0800
[TabOrganization] Remove ATG WebUI code
Auto tab groups has been deprecated, this removes all associated WebUI
code. Mojom/page handler code will be handled in a follow-up to minimize
CL size.
Bug: 488463961
Change-Id: Idb49a5303953194c53b5ed2a12ec4132ca037918
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7629718
Reviewed-by: Alison Gale <agale@chromium.org>
Commit-Queue: Emily Shack <emshack@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1595647}
From `MonotonicObservableSupplier` to `OneshotSupplier`
Chromim change:
https://source.chromium.org/chromium/chromium/src/+/1886db4b40ccf9dfad5270be7861fefbb44c5ed3
commit 1886db4b40ccf9dfad5270be7861fefbb44c5ed3
Author: Anton Goncharenko <agonch@google.com>
Date: Tue Mar 10 17:49:16 2026 -0700
[Signin][Android] SafetyHub: Wait for UI dependencies before initializing sign-in coordinator.
For consistency with other fragments' provided dependencies, pass
Suppliers to SafetyHubModuleDelegateImpl rather than assuming the
Suppliers have already been initialized. Able to repro a
NullPointerException (WindowAndroid not being initialized) during
Activity recreation when killing Chrome during the "add new account"
sign-in flow (see repro steps in crbug.com/479179162).
Bug: 479179162
Change-Id: I8a37a6a532cf5d4650849ec86151e1ee9c9ee0f2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7642808
Reviewed-by: Menghan Yang <myuu@google.com>
Commit-Queue: Anton Goncharenko <agonch@google.com>
Reviewed-by: Zaina Al-Mashni <zalmashni@google.com>
Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1597438}
A new pure virtual method was added to this delegate, namely,
`ShouldShowLocationPrecisionSelector`, and therefore a stub for it is
required in `MockPermissionPromptDelegate`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/03df9c4b7a0c4d970594c7966ce8857b5bb717c4
commit 03df9c4b7a0c4d970594c7966ce8857b5bb717c4
Author: Tom Van Goethem <tov@chromium.org>
Date: Wed Mar 11 08:05:20 2026 -0700
Add support for approximate-only geolocation prompts.
This CL introduces support for the approximate-only geolocation prompts
that can be requested through the <geolocation> element and the API. In
this CL, only the prompt string and the decision of when to trigger the
approximate-only prompt based on the permission request are added. The
connection to the API or <geolocation> element are not added yet. These
still need to be added in order to display the approximate-only prompts.
Bug: 483114849
Change-Id: I3b4e4c5186f4af5c3997e781d13426d42754331c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7559277
Reviewed-by: Antonio Sartori <antoniosartori@chromium.org>
Commit-Queue: Tom Van Goethem <tov@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1597751}
This callback now only passes the `action_results` vector, from which
the information contained on the dropped args should be retrieved with.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0b4371bdac738a1d3694383d097bfb3f1962c8ab
commit 0b4371bdac738a1d3694383d097bfb3f1962c8ab
Author: mark a. foltz <mfoltz@chromium.org>
Date: Tue Mar 10 18:33:33 2026 -0700
[actor] simplify PerformActions API
This CL removes result_code and index_of_failed_action from the
actor::PerformActionsCallback and related Act callbacks.
These values are now derived from the action_results vector:
- If all results are kOk, the task is successful.
- Otherwise, the first non-kOk result determines the result_code and
index_of_failed_action.
Bug: 490381613
Change-Id: Ic2cb372f425ffada667096b0678aebc74a85a433
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7644888
Reviewed-by: Rodney Ding <rodneyding@google.com>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1597461}
This instance used to be retrieved through the tab features instance.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/2970137b00570120a51fea804f2c54e3a2f15f87
commit 2970137b00570120a51fea804f2c54e3a2f15f87
Author: Mark Schillaci <mschillaci@google.com>
Date: Wed Mar 11 06:02:38 2026 -0700
[Side Panel Infra] Move SidePanelRegistry for tabs to unowned user data
This CL updates the SidePanelRegistry to have a new From methods that
takes a TabInterface and uses unowned user data to fetch the registry.
We do this so that we can break the dependency on Browser* for clients
of the SidePanelRegistry, which will allow porting of the code to
Android. We add SidePanelRegistry as a tab scoped unowned data, and
update all callsites. The GetDeprecated method is still included but
future CLs can refactor those call sites to use this new approach.
Bug: 491476669
Change-Id: I88f94c7c7c5c62e9a4a16b35b2917902d9eba59b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7653790
Auto-Submit: Mark Schillaci <mschillaci@google.com>
Reviewed-by: Eshwar Stalin <estalin@chromium.org>
Reviewed-by: Caroline Rising <corising@chromium.org>
Commit-Queue: Caroline Rising <corising@chromium.org>
Reviewed-by: Bryant Chandler <bryantchandler@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1597683}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/ba1bc87f5b13d8446edbd4d30013806bd4ce2d41
commit ba1bc87f5b13d8446edbd4d30013806bd4ce2d41
Author: Norge Vizcay <vizcay@google.com>
Date: Wed Mar 11 00:42:18 2026 -0700
Remove kSyncAutofillLoyaltyCard feature flag
The kSyncAutofillLoyaltyCard feature has been launched. This CL removes
the feature flag and its associated conditional logic, making the
syncing of loyalty cards from Google Wallet enabled by default.
Bug: b:393119606
Test: components_unittests --gtest_filter=ValuablesDataManagerTest.*
Test: sync_integration_tests --gtest_filter=SingleClientValuablesSyncTest.*
Test: unit_tests --gtest_filter=SyncServiceFactoryTest.*
Change-Id: I63f09797a9cab0c28edb0f0439c7d1ef130e4fbb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7654135
Commit-Queue: Norge Vizcay <vizcay@google.com>
Reviewed-by: Marc Treib <treib@chromium.org>
Reviewed-by: Etienne Bergeron <etienneb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1597558}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/c9dcfbf7aa3318b019a3802c0bdc0f7ee452c731
commit c9dcfbf7aa3318b019a3802c0bdc0f7ee452c731
Author: Michael Tatarski <mtatarski@google.com>
Date: Tue Mar 10 08:07:45 2026 -0700
Consolidate device name resolution logic into sync_device_info
Building on the previous extraction of `GetDeviceDisplayNames`
(https://crrev.com/c/7638170), this CL further centralizes device naming
logic by introducing `GetDeviceDisplayNamesForList()`.
Previously, both Send Tab to Self and Sharing Message independently
implemented logic to deduplicate device lists, filter out the local
device, and choose between short and full device names based on name
collisions. This logic is now unified within `sync_device_info`.
This is a pure refactoring and introduces no functional changes to the
generated device lists or names.
Bug: 485549442
Change-Id: Ib1f2c020386f23306edc35b43b9521027b9624ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7645592
Commit-Queue: Michael Tatarski <mtatarski@google.com>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1597067}
The override being removed was introduced to make sure taht
`GetIconSize()` was passed into `FromVectorIcon`. This is now being done
by upstream, making the override obsolete.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/f3170a166a701d5b7d29130f44dfb407eeab3837
commit f3170a166a701d5b7d29130f44dfb407eeab3837
Author: Emily Shack <emshack@chromium.org>
Date: Tue Mar 10 15:59:39 2026 -0700
[GlowUp] Animate the app menu icon on hover
Adds a Lottie animation so that the app menu transforms into the Chrome
logo when hovered. This is implemented behind the kTabStripDeclutter
flag.
Also updates the app menu icon (not behind a flag), which didn't match
the latest UX mocks
Bug: 486253264
Change-Id: I040f74e60bfae26ff87ac8245a7b0d1d00f23fc9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7649384
Reviewed-by: David Pennington <dpenning@chromium.org>
Commit-Queue: Emily Shack <emshack@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1597385}
This change corrects all uses and override for this class to use the new
path and refer to the new name. It is important to notice though that
upstream has introduced a new `SidePanelUtil`, and
`GetSidePanelContentProxy` was subsequently moved out of
`SidePanelHelper` and into the new `SidePanelUtil`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/f1041bd627b995b8c64f3738472a4c16768e8488https://chromium.googlesource.com/chromium/src/+/2af163009adf96c9bfd7b7918dd6ed32dc08f1b8
commit f1041bd627b995b8c64f3738472a4c16768e8488
Author: Mark Schillaci <mschillaci@google.com>
Date: Mon Mar 9 17:53:26 2026 -0700
[Side Panel Infra] Make the SidePanelContentProxy platform agnostic
This CL continues the work to prepare the Side Panel to be built on
Android. We make the SidePanelContentProxy generalized so that we can
include the SidePanelEntryWaiter on Android without having to add
many special-case #ifdef's for it. We move the remaining utility method
out of the views package to be in the platform agnostic package, and
move the content proxy files and update BUILD files as needed.
Bypass-Check-License: This is a moved file, not a new file or content.
Bug: 489780669
Change-Id: Ib69ffd474c62201276916de031d7741661cfccb2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7644871
Reviewed-by: Caroline Rising <corising@chromium.org>
Commit-Queue: Mark Schillaci <mschillaci@google.com>
Cr-Commit-Position: refs/heads/main@{#1596748}
commit 2af163009adf96c9bfd7b7918dd6ed32dc08f1b8
Author: Mark Schillaci <mschillaci@google.com>
Date: Mon Mar 9 17:52:12 2026 -0700
[Side Panel Intra] Rename SidePanelUtil to SidePanelHelper
This CL is a simple rename of an existing class. We rename the utils to
be clear that it is specifically for views::View related methods. In
upcoming CLs we will split the non-views related code out of this file
so that we can generalize the SidePanelContentProxy class to be
platform agnostic.
Bypass-Check-License: We are renaming files, not creating new ones.
Bug: 489780669
Change-Id: Icaed502e09e06f394fd4ad5f8cb960bb0395a490
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7644629
Reviewed-by: Caroline Rising <corising@chromium.org>
Reviewed-by: Eshwar Stalin <estalin@chromium.org>
Commit-Queue: Mark Schillaci <mschillaci@google.com>
Cr-Commit-Position: refs/heads/main@{#1596746}
This requires adding extra atgs on our own overrides of these classes.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/bca4b0a240b3c641d10a1518b232bc432c9f7472
commit bca4b0a240b3c641d10a1518b232bc432c9f7472
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Mon Mar 9 14:47:10 2026 -0700
[Reland] Fix BookmarkContextMenu paste menu enabled state
BookmarkContextMenu::BookmarkContextMenu indirectly called
BookmarkContextMenuController::IsCommandIdEnabled for IDC_PASTE. This
breaks since can_paste_ is only set when showing the menu. This CL fixes
the issue by passing can_paste to BookmarkContextMenu().
R=avi
Bug: 40398800
Change-Id: I130da5d5fca333508bbde8e0b02c57f03adb5e78
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7640749
Reviewed-by: David Yeung <dayeung@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1596622}
The PR:
* uses base::SequenceBound in AdBlockService instead of manual posting;
* rewrites test EngineTestObserver to avoid direct UI => task_runner access;
This PR fixes `lift` being broken due to git status output being
trimmed, and tilting the xy axis for git status. On top of that, this PR
overhauls `GitStatus` to be more accurate and comprehensive, as there
were a few corner cases.