Commit Graph
78436 Commits
Author SHA1 Message Date
Claudio DeSouza ec3fc55ca2 [cr149] glic_experimental_triggering_opted_in in DeviceInfo
This change reruns the plasters, and adds an update to the call for the
constructor of `DeviceInfo` to pass the newly added argument.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/390ff11a3d7dee78459be3ad5a0f7ca614700bd7

commit 390ff11a3d7dee78459be3ad5a0f7ca614700bd7
Author: Theodore Olsauskas-Warren <sauski@google.com>
Date:   Fri Apr 24 12:04:14 2026 -0700

    [GLIC] Include experimental_triggering opt-in state in DeviceInfo

    A new function which represents the combination of GLIC FRE +
    Actuation + Experimental actuation is added to GlicEnabling, and
    the value is included in the DeviceInfo FeatureSpecificFields.

    Many test call sites which construct a DeviceInfo object are updated,
    and given we are updating these sites anyway, the singular default
    value for MobilePromoOnDesktopPromoTypeSet in the DeviceInfo
    constructor is removed and call sites updated.

    Bug: b:505510293
    Change-Id: I3943e1eddf83ae6d431cc62b8446876c1bd35105
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7783606
    Reviewed-by: Mikel Astiz <mastiz@chromium.org>
    Reviewed-by: James Cook <jamescook@chromium.org>
    Reviewed-by: Rohit Rao <rohitrao@chromium.org>
    Commit-Queue: Theodore Olsauskas-Warren <sauski@google.com>
    Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1620378}
2026-05-22 16:57:24 -04:00
Artem Samoilenko 48e7a587c0 [cr149][Android] Fix for status icon width
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/f866d9d3f235bcae9a293dbb82867590679b8c2a

commit f866d9d3f235bcae9a293dbb82867590679b8c2a
Author: Tomasz Wiszkowski <ender@google.com>
Date:   Wed Apr 15 17:52:14 2026 -0700

    Fix StatusIcon runtime sizing and UrlBar runtime padding.

    Status icon should have a runtime size of 56dp when the url bar has
    focus. This is presently achieved by keeping status view size as
    "wrap content" and computing the "additional margin for the url bar"
    when the url bar gets focus.

    This change removes the logic computing the extra padding and ensures
    the status view has a proper size instead.

    Bumping render test revisions because text in Incognito/SearchActivity
    omnibox does not visually align with suggestions on the reference
    screenshot --example:

    Before: http://screen/3gpJKD8s5CLXxSP.png
    After: http://screen/86yBmRWEVXiMAEN.png

    Screen: https://screenshot.googleplex.com/9F5yYvygWWzUtmA.png
    Change-Id: If5730d154b6eed22a76a899e830fbe6a95084419
    Fixed: 488840224
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7759955
    Reviewed-by: Sky Malice <skym@chromium.org>
    Commit-Queue: Tomasz Wiszkowski <ender@google.com>
    Cr-Commit-Position: refs/heads/main@{#1615531}
2026-05-22 16:57:24 -04:00
Claudio DeSouza 35427a9a75 [cr149] Fixing std::vector iterator base() breakage
This breakage seems to be the result of a libc++ update.
2026-05-22 16:57:23 -04:00
Claudio DeSouza d3be5ab9f1 [cr149] Using SetHighlightedElement
This change migrates from `SetHighlightedButton` to
`SetHighlightedElement`, which expects an element id.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/b382a3d424be203195b983b3d37b258786c839f8
https://chromium.googlesource.com/chromium/src/+/5c61647fa6331ad61b0173fb2780e3ce732445dd

commit b382a3d424be203195b983b3d37b258786c839f8
Author: Maks Orlovich <morlovich@chromium.org>
Date:   Fri Apr 24 11:59:39 2026 -0700

    Finish SetHighlightedButton->Element migration.

    The final user (the CrOS input overlay for games) was working around a
    bug in SetAnchorView not updating the highlight unless it also changed
    the widget (or was being set for the first time). So testcase + fix that
    bug, and remove the now unneeded call.

    With that done, the now unused SetHighlightedButton and corresponding
    code are also removed, as is some of the necessary state. The ability to
    highlight views::Buttons is still around, however, since they may be the
    anchor.

    Bug: 489349570
    Change-Id: I48f49ce05f07379db8dbf3b6614b85a66a2b165a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7789255
    Reviewed-by: Dana Fried <dfried@chromium.org>
    Commit-Queue: Maks Orlovich <morlovich@chromium.org>
    Reviewed-by: Cici Ruan <cuicuiruan@google.com>
    Cr-Commit-Position: refs/heads/main@{#1620373}

commit 5c61647fa6331ad61b0173fb2780e3ce732445dd
Author: Maks Orlovich <morlovich@chromium.org>
Date:   Tue Mar 10 15:57:49 2026 -0700

    Migrate ContentSettingsImageView to SetHighlightedElement.

    This required giving all of them an ElementIdentifier, which we will
    need for the WebUI impl anyway. To support multiple implementations the
    naming was placed in the Model, and the view made to use it
    consistently.

    Loosely inspired by caraitto@'s
    https://chromium-review.googlesource.com/c/chromium/src/+/7591203

    Bug: 489349570
    Change-Id: I6993f6acd2edd1d20a12ec951a4a2e2dfee4a625
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7649608
    Reviewed-by: Andy Paicu <andypaicu@chromium.org>
    Reviewed-by: Kaan Alsan <alsan@chromium.org>
    Commit-Queue: Maks Orlovich <morlovich@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1597382}
2026-05-22 16:57:23 -04:00
Max Karolinskiy 4d54051f35 [cr149] WebUI tab strip removed
All the code relating to this is gone in upstream, so it is also removed
in Brave.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/4e272219dcf3ae5ed3d110e01741ec2ae07b13f4

commit 4e272219dcf3ae5ed3d110e01741ec2ae07b13f4
Author: Mitsuru Oshima <oshima@chromium.org>
Date:   Fri Apr 24 13:19:00 2026 -0700

    Remove UseWebUITabStrip(), kUseWebUITabStrip flag

    This removes the UseWebUITabStrip function, kUseWebUITabStrip feature
    flags and simplifies the surrounding logic since it's no longer used.

    There are still other code/files specific to WebUITabStri, and they'll
    be removed in separate CLs.

    Bug: 421465978
    Change-Id: I2278ec267fcd3cc7e5b2006bcafba9ee67525686
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7787148
    Reviewed-by: Eshwar Stalin <estalin@chromium.org>
    Commit-Queue: Mitsuru Oshima <oshima@chromium.org>
    Reviewed-by: Georg Neis <neis@chromium.org>
    Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1620421}
2026-05-22 16:57:23 -04:00
Claudio DeSouza 1ab3aa4ac9 [cr149] SplitTabsToolbarButton::split_tab_menu_ type changed
This method is now declared as `SplitTabMenuModel`. This required a very
smalll adjustment on how we were overriding this field.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/f34139620b55ba9d211adaf6a6ae0315d1cc7aa2

commit f34139620b55ba9d211adaf6a6ae0315d1cc7aa2
Author: Russ Hamilton <behamilton@google.com>
Date:   Fri Apr 24 09:44:56 2026 -0700

    Also test WebUI in split tabs button interactive ui tests

    Bug: 493228701
    Change-Id: Ia39b010af06cc9f0ee5dc9142b65851daa00dd53
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7668981
    Reviewed-by: Dana Fried <dfried@chromium.org>
    Reviewed-by: Qingxin Wu <qingxinwu@google.com>
    Commit-Queue: Russ Hamilton <behamilton@google.com>
    Cr-Commit-Position: refs/heads/main@{#1620272}
2026-05-22 16:25:14 -04:00
Claudio DeSouza d38d733dde [cr149] PageActionPerActionMetricsRecorder renamed
This PR fixes the plaster for `PageActionPerActionMetricsRecorder`,
which has to use the new `PageActionMetricsRecorder`. This PR also
improves the plaster to disable any `Record` functions in this class, so
we can notified when new ones are added.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/42d106dd97f5729ff8ccf50171f3dc87798d76d8

commit 42d106dd97f5729ff8ccf50171f3dc87798d76d8
Author: Kaan Alsan <alsan@chromium.org>
Date:   Fri Apr 24 14:29:50 2026 -0700

    Consolidate PageAction Metrics Recording using ScopedMultiSourceObservation

    This CL transitions the PageAction metrics recording system from
    multiple ScopedObservation-based recorders to a single
    PageActionMetricsRecorder using ScopedMultiSourceObservation.

    Previously, we had count(page actions) * count(tabs) metrics recorder
    objects, which duplicated GURLs and created many individual scoped
    observations. This CL improves efficiency by sharing navigation state
    across all actions in a tab and reducing the total number of
    observations. With local profiling (with debug parameters on), this
    saves ~100KB per tab, with 31 page actions enabled.

    Key changes:
    - Merged per-action and page-level metrics logic into a unified
      PageActionMetricsRecorder.
    - Updated PageActionModelInterface to include GetActionId() for
      identification in the consolidated recorder.
    - Refactored PageActionControllerImpl to manage the unified recorder.
    - Deleted the redundant PageActionPageMetricsRecorder.
    - Updated unit tests and test support classes to align with the new
      architecture.

    Bug: 384074251
    Change-Id: I1aeb2205b4d36de3af68d70404ce459babf1dbef
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7790756
    Commit-Queue: Kaan Alsan <alsan@chromium.org>
    Reviewed-by: Foromo Daniel Soromou <koretadaniel@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1620471}
2026-05-22 16:25:14 -04:00
Artem Samoilenko ded7386ce6 [cr149][Android] Build fix for password store factory
Otherwise there is an error:
../../brave/chromium_src/components/password_manager/core/browser/password_store_factory_util.cc:18:5: error: unknown type name 'PrefService'
   18 |     PrefService* prefs) {

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/37a52a3a3a7babdf79058424bae296faa5b4a61e

commit 37a52a3a3a7babdf79058424bae296faa5b4a61e
Author: Victor Hugo Vianna Silva <victorvianna@google.com>
Date:   Wed Sep 3 11:17:38 2025 -0700

    Unify Create{Profile,Account}PasswordStoreBackend() into 1 function

    After recent changes, they are almost the same and can share code.

    Also:
    - IWYU.
    - Emit a TRACE_EVENT for the creation of the account store backend,
      not just the profile one.
    - Remove IsAccountStore parameter from PasswordStoreAndroidBackend,
      it was always IsAccountStore(true)
    - Changes in the store factories:
        * Reduce vertical space, some of these functions look a lot bigger
          than they need to be.
        * "ProfilePasswordStore", not "PasswordStore".
        * Consistently add DependsOn() for the affiliation service factory.
          I think in practice this isn't needed today because the
          AffiliatedMatchHelper is destroyed on Shutdown() [1], ahead of the
          destructor. But that could easily change. The new code is also
          more consistent (before the change, some factories listed the
          dependency and others didn't).

    [1] https://source.chromium.org/chromium/chromium/src/+/main:components/password_manager/core/browser/password_store/password_store.cc;l=430;drc=391e98eeaee80326c3a9d9e9dd731570dba0981a

    Bug: None
    Change-Id: Iabccc1284135d8de0e80898da80f0e145cd3a1c5
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6909469
    Commit-Queue: Victor Vianna <victorvianna@google.com>
    Reviewed-by: Ioana Pandele <ioanap@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1510417}
2026-05-22 16:25:14 -04:00
Artem Samoilenko f5483833a4 [cr149][Android] Add Glic Button to MTB
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/481c8c624365ce1b5d86a8c2ad0082611239fb81

commit 481c8c624365ce1b5d86a8c2ad0082611239fb81
Author: Alexis Wu <alexiswu@google.com>
Date:   Thu Mar 26 10:48:10 2026 -0700

    [GlicSettings] Add Glic Button to MTB

    This CL adds the glic button to the selection menu for MTB. Relevant unit tests are also added.

    screenshot: https://screenshot.googleplex.com/7VMLfF5uqAenMNz

    Fixed: b:494269230
    Change-Id: I507c3b2db9437764d5de724ffce6253c1ccd491e
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7695275
    Reviewed-by: Michael Wu <mklw@google.com>
    Commit-Queue: Alexis Wu <alexiswu@google.com>
    Reviewed-by: Matthew Jones <mdjones@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1605654}
2026-05-22 16:25:14 -04:00
Artem Samoilenko 3fda3ea37a [cr149][Android] Changes for top toolbar controls visibility
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/3be4aa262c2e4e73d091abf55f1ad055b9d7eddf

commit 3be4aa262c2e4e73d091abf55f1ad055b9d7eddf
Author: Calder Kitagawa <ckitagawa@chromium.org>
Date:   Fri Apr 17 11:02:08 2026 -0700

    [Clank IA] Update control visibility

    Toggle visibility of tab switcher, app menu and optional button using
    toolbar variations.

    Still to be done:
    - Move optional button location
    - Update URL & StatusView location

    Bug: 497898172
    Change-Id: Ied5f17595f38be55f28210682820d8e55825046e
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7762379
    Reviewed-by: Sky Malice <skym@chromium.org>
    Reviewed-by: Dan Polanco <polardz@google.com>
    Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1616699}
2026-05-22 16:25:13 -04:00
Artem Samoilenko 8af75b3a89 [cr149][Android] Changes for NTP LegacyLogoView
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/c66e45550985e3570e1cf181df0ec749ab3d80f6

commit c66e45550985e3570e1cf181df0ec749ab3d80f6
Author: Yanting Yu <yyanting@google.com>
Date:   Tue Apr 21 12:43:23 2026 -0700

    [LogoRefactor] Branch to LegacyLogoView and introduce feature flag.

    This CL branches the current LogoView implementation into LegacyLogoView
    to ensure the existing functionality remains intact while we restructure
    the new LogoView in the follow up CL.

    Changes include:
    - Branched LogoView, LogoViewBinder, layout XMLs, and corresponding unit tests into LegacyLogoView equivalents.
    - Added the ChromeFeatureList.LOGO_VIEW_REFACTOR feature flag in LogoCoordinator to dynamically switch between inflating the LogoView and the LegacyLogoView.
    - Extracted the ClickHandler interface from LogoView into LogoProperties to serve as a shared, domain-specific contract. This cleanly decouples the two views, allowing them to be fully independent while still being driven by the same PropertyModel and LogoMediator.
    - Updated new_tab_page_layout.xml to replace the `logo_holder` FrameLayout with ViewStub.

    Bug: 492453183
    Change-Id: Id0ef80f8acab9c2d15928020eb3688bd9f2afc33
    Bypass-Check-License: branched files
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7760153
    Commit-Queue: Yanting Yu <yyanting@google.com>
    Reviewed-by: Xi Han <hanxi@chromium.org>
    Reviewed-by: Andrew Grieve <agrieve@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1618376}
2026-05-22 16:25:13 -04:00
Max Karolinskiy edd588d9b2 [cr149] Adds Sec-GPC as an exception to forbidden headers.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/1917c17d0ad2fdc3e994a9aefd254b8db7bbe457

commit 1917c17d0ad2fdc3e994a9aefd254b8db7bbe457
Author: Takashi Toyoshima <toyoshim@chromium.org>
Date:   Wed Apr 22 19:42:38 2026 -0700

    OOR-CORS: Enforce extra forbidden Sec- header checks

    This CL adds a new function ContainsForbiddenSecurityHeader in
    header_util to check for unauthorized Sec- headers from renderer.

    This function is used in both CorsURLLoaderFactory::IsValidRequest and
    CorsURLLoader::FollowRedirect to prevent renderer from injecting or
    modifying these headers, while permitting Client Hints and Sec-Purpose.

    Change-Id: Ia2923ccbddddba2657d72916a03e657c1785cd85
    Bug: 494800494
2026-05-22 16:25:13 -04:00
Artem Samoilenko bc9ae2f4c5 [cr149][Android] Changes for removed web feed feature
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/1a47ae7a5c8df3b2d7ecc1bd01a620a5a0e07e05

commit 1a47ae7a5c8df3b2d7ecc1bd01a620a5a0e07e05
Author: Yanling <yanlinghu@google.com>
Date:   Tue Apr 21 17:01:09 2026 -0700

    [Feed] Part4 of remove web feed feature: Remove bridge

    Cq-Include-Trybots: luci.chrome.try:android-internal-binary-size;luci.chrome.try:android-internal-rel;luci.chrome.try:android-internal-dbg
    Bug: 407797637
    Change-Id: I5136225d8f12378cccccb7668aceb5a0d294a162
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7777487
    Commit-Queue: Yanling Hu <yanlinghu@google.com>
    Reviewed-by: Theresa Wellington <twellington@chromium.org>
    Reviewed-by: Xi Han <hanxi@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1618556}
2026-05-22 16:25:13 -04:00
Artem Samoilenko 1e4a1598f5 [cr149][Android] Introduce AutocompleteState
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/7dfb3a2d7ff70cef2b442a34fb4534a44be83b1d

commit 7dfb3a2d7ff70cef2b442a34fb4534a44be83b1d
Author: Tomasz Wiszkowski <ender@google.com>
Date:   Wed Apr 22 15:33:27 2026 -0700

    Introduce AutocompleteState.

    The new AutocompleteState clearly describes how Autocomplete stack
    responds to input changes. Three explicit states control whether user
    should see suggestions when they enter active input session.

    Change-Id: If889a3393b5ea73f23c5cd460d4b25b4926a29f0
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7787032
    Reviewed-by: Sky Malice <skym@chromium.org>
    Commit-Queue: Tomasz Wiszkowski <ender@google.com>
    Cr-Commit-Position: refs/heads/main@{#1619142}
2026-05-22 16:25:12 -04:00
Artem Samoilenko 9a07605e07 [cr149][Android] Do not allow a parameter for @CalledByNative
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/30d45a378201de2f3257e86b62ed2d7089830404

commit 30d45a378201de2f3257e86b62ed2d7089830404
Author: Andrew Grieve <agrieve@chromium.org>
Date:   Wed Apr 22 14:52:19 2026 -0700

    JNI Zero: Do not allow a parameter for @CalledByNative

    All uses of it have been migrated.

    Bug: 496331306
    Change-Id: Iee57709d8b55493712acaa731403dc35617a9e94
    Cq-Include-Trybots: luci.chrome.try:android-internal-dbg,android-internal-binary-size
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7786592
    Auto-Submit: Andrew Grieve <agrieve@chromium.org>
    Commit-Queue: Andrew Grieve <agrieve@chromium.org>
    Owners-Override: Andrew Grieve <agrieve@chromium.org>
    Reviewed-by: Martin Kong <martinkong@google.com>
    Cr-Commit-Position: refs/heads/main@{#1619108}
2026-05-22 16:25:12 -04:00
Claudio DeSouza 13b76181b5 [cr149] TemplateURLTableModel::RowCount deleted
A new member `engine_count()` serves the same purpose.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0bd93729174039f678c71990a698215207d985b5

commit 0bd93729174039f678c71990a698215207d985b5
Author: Amelie Schneider <amelies@google.com>
Date:   Thu Apr 23 08:29:23 2026 -0700

    [Search] Remove unused TemplateURLTableModel functions

    The experiment `SearchSettingsUpdate` included a refactoring to stop
    using the table model for accessing the template URL service but
    accessing it directly through the keyword controller instead. Some
    functions are already unused and can be removed, the
    TemplateURLTableModel as a whole should be removed once the flag is
    launched.

    This also excludes KeywordEditorController for Android, since it is not
    used there.

    Bug: 498543733, 490316630
    Change-Id: Ie7ab74e7eece7485c85a678b89a48f1cb15a9a94
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7768616
    Reviewed-by: Nicolas Dossou-Gbété <dgn@chromium.org>
    Commit-Queue: Amelie Schneider <amelies@google.com>
    Cr-Commit-Position: refs/heads/main@{#1619543}
2026-05-22 16:25:12 -04:00
Claudio DeSouza 7d865d3fee [cr149] Remove unused inclusion for WatermarkView
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/88bfa4ef4b4486a2fbb00d4568973ba3291215ee

commit 88bfa4ef4b4486a2fbb00d4568973ba3291215ee
Author: Nasser Al-shawwa <alshawwa@chromium.org>
Date:   Thu Apr 23 12:49:17 2026 -0700

    [Tab Share Protection] Rename WatermarkView to DataProtectionOverlayView

    The view being renamed will be used to draw overlays other than the
    watermark, for data protection. As a result, it should be renamed to
    reflect this new use-case.

    Bug: 505461536
    Change-Id: I3c97954af81ae1de7db1dffdc5459b9d13c9bd47
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7788830
    Reviewed-by: Dana Fried <dfried@chromium.org>
    Reviewed-by: Caroline Rising <corising@chromium.org>
    Commit-Queue: Nasser Al-shawwa <alshawwa@chromium.org>
    Reviewed-by: Lei Zhang <thestig@chromium.org>
    Reviewed-by: Lina Ismail <ismaill@google.com>
    Cr-Commit-Position: refs/heads/main@{#1619713}
2026-05-22 16:25:12 -04:00
Claudio DeSouza 40c3d6b3dd [cr149] ContentSettingPermissionResolver dropped from request data
This changes the constructor calls, and this change corrects that. For
the only use of `PermissionDescriptor` in the constructor, a default
constructor is being used because there is no blink value for the
permission name for `RequestType::kBraveOpenAIChat`, so we set that
separately.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/35ad82c9803604df82915104d4d062cd851214f7

commit 35ad82c9803604df82915104d4d062cd851214f7
Author: Antonio Sartori <antoniosartori@chromium.org>
Date:   Thu Apr 23 10:37:35 2026 -0700

    [permissions] Refactor PermissionRequestData

    This CL refactors PermissionRequestData so that it becomes again a
    data-only struct (which can be e.g. cloned) by removing the
    PermissionResolver member. This allows simplifying
    GeolocationPermissionContextAndroid, where we don't need to recreate
    fake PermissionRequestData for the callbacks anymore.

    The refactoring unfortunately implies adapting all callsites, which
    however become more natural as they don't need to instantiate a
    PermissionResolver anymore.

    R=hempjudith@google.com

    Change-Id: Ib7883e9f7cac32ef4039ce3098275ad9018f47d3
    Bug: 443898320
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7780845
    Commit-Queue: Antonio Sartori <antoniosartori@chromium.org>
    Reviewed-by: Javier Fernandez <jfernandez@igalia.com>
    Reviewed-by: Judith Hemp <hempjudith@google.com>
    Reviewed-by: Marc Treib <treib@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1619624}
2026-05-22 16:25:11 -04:00
Artem Samoilenko b4dd4c5554 [cr149][Android] Remove Page Summary adaptive toolbar button
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/f71a274e4251ab0af4309311f1872115cce080df

commit f71a274e4251ab0af4309311f1872115cce080df
Author: Bryan Song <bryansong@google.com>
Date:   Tue Apr 21 16:45:11 2026 -0700

    Remove Page Summary adaptive toolbar button

    There's an adaptive toolbar button that was created to test Chrome's AI
    integrations. It is no longer used. Therefore, this CL removes the
    button and associated services.

    Bug: 500481129
    Change-Id: If52a300da2af950d5303e867546ee369e1042114
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7762974
    Reviewed-by: Wenyu Fu <wenyufu@chromium.org>
    Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
    Reviewed-by: Salvador Guerrero Ramos <salg@google.com>
    Commit-Queue: Bryan Song <bryansong@google.com>
    Cr-Commit-Position: refs/heads/main@{#1618547}
2026-05-22 16:25:11 -04:00
Artem Samoilenko 5c644db989 [cr149][Android] Plumb LocationBarFocusScrimHandler to LocationBarMediator
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/9968c93603137808ad94865feef269431b0c6db1

commit 9968c93603137808ad94865feef269431b0c6db1
Author: Tomasz Wiszkowski <ender@google.com>
Date:   Mon Apr 20 15:03:13 2026 -0700

    Plumb LocationBarFocusScrimHandler to LocationBarMediator.

    This change should allow us to invoke Scrim when we need it.

    Bug: 485180312
    Change-Id: I0bb1f203d0e15c4948a61cedb4bb4c5e328b7d1a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7773078
    Commit-Queue: Tomasz Wiszkowski <ender@google.com>
    Reviewed-by: Sky Malice <skym@chromium.org>
    Auto-Submit: Tomasz Wiszkowski <ender@google.com>
    Reviewed-by: Patrick Noland <pnoland@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1617792}
2026-05-22 16:25:11 -04:00
Artem Samoilenko 0a16a35e65 [cr149][Android] Changes for favicon getter
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}
2026-05-22 16:25:11 -04:00
Claudio DeSouza 2d399e9c58 [cr149] Unused feed v2 sources deleted
Thse deleted sources were not being used in brave by now.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/c292b11c4c59f447df88a89cf081ae078dcd9711

commit c292b11c4c59f447df88a89cf081ae078dcd9711
Author: Yanling <yanlinghu@google.com>
Date:   Wed Apr 22 14:06:18 2026 -0700

    [Feed] Part5 of remove web feed feature: Remove web_feed in chrome/browser/feed

    This CL removes C++ files related to the web feed feature in
    chrome/browser/feed, deletes associated preference keys, and cleans up
    obsolete features and field trials.

    The changes include:

    1. Removed Preference Keys: kHasSeenWebFeed and kLastBadgeAnimationTime
    * Added in: https://chromium-review.git.corp.google.com/c/chromium/src/+/3950805
    * Deletion reference: https://chromium-review.git.corp.google.com/c/chromium/src/+/7681056
    * Followed deletion instruction in https://chromium.googlesource.com/chromium/src/+/main/chrome/browser/prefs/README.md#deleting-an-old-pref

    2. Removed Field Trial: FollowingFeedFollowCount
    * Added in: https://chromium-review.git.corp.google.com/c/chromium/src/+/3142168

    3. Removed Histogram:
    ContentSuggestions.Feed.WebFeed.PageInformationRequested
    * Added in: https://chromium-review.git.corp.google.com/c/chromium/src/+/3470436
    * Instruction used: https://chromium.googlesource.com/chromium/src/+/main/tools/metrics/histograms/README.md#obsolete

    4. Removed features flags:
    - FEED_FOLLOW_UI_UPDATE
       * Added in:
    https://chromium-review.git.corp.google.com/c/chromium/src/+/4584421
    https://chromium-review.git.corp.google.com/c/chromium/src/+/4895066

    - WEB_FEED_AWARENESS
       * Added in:
    https://chromium-review.git.corp.google.com/c/chromium/src/+/3579289
    https://chromium-review.git.corp.google.com/c/chromium/src/+/3615264
    https://chromium-review.git.corp.google.com/c/chromium/src/+/3900453

    OBSOLETE_HISTOGRAM[ContentSuggestions.Feed.WebFeed.PageInformationRequested]=expired
    2026-09-04.

    Cq-Include-Trybots: luci.chrome.try:android-internal-binary-size;luci.chrome.try:android-internal-rel;luci.chrome.try:android-internal-dbg
    Bug: 407797637
    Change-Id: I22bdc208ad07b0538425830ca66f38784aecf98b
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7777108
    Reviewed-by: Dominic Battré <battre@chromium.org>
    Reviewed-by: Xi Han <hanxi@chromium.org>
    Commit-Queue: Yanling Hu <yanlinghu@google.com>
    Reviewed-by: Avi Drissman <avi@chromium.org>
    Reviewed-by: Tarun Bansal <tbansal@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1619073}
2026-05-22 16:25:11 -04:00
Claudio DeSouza 5f1d48ebae [cr149] ToolbarView now handles WebUIAvatarToolbarButton
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}
2026-05-22 16:25:10 -04:00
Max Karolinskiy 344f4e6232 [cr149] Disables kHorizontalTabStripComboButton feature.
This feature is now enabled by default upstream.

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/93d66bb224293efa6bec34803570e808e575feb9

commit 93d66bb224293efa6bec34803570e808e575feb9
Author: Emily Shack <emshack@chromium.org>
Date:   Thu Apr 16 11:25:44 2026 -0700

    [ComboButton] Enable combo button on ToT

    Pre-req for 100% Stable launch

    Bug: 503351191
2026-05-22 16:25:10 -04:00
Artem Samoilenko c5b5a1e57d [cr149][Android] Remove SigninManager.revokeSyncConsent()
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/960d5db5ab29411f0289086c362f324cb648299f

commit 960d5db5ab29411f0289086c362f324cb648299f
Author: Victor Hugo Vianna Silva <victorvianna@google.com>
Date:   Wed Apr 22 01:45:07 2026 -0700

    [sync/android] Remove SigninManager.revokeSyncConsent()

    Bug: 40066949
    Change-Id: I8f3f28adbc4af00a875d7ffd509413fe7780efcb
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7776209
    Commit-Queue: Victor Vianna <victorvianna@google.com>
    Reviewed-by: Boris Sazonov <bsazonov@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1618720}
2026-05-22 16:25:10 -04:00
Claudio DeSouza 5fe7b5b8fd [cr149] //chrome/browser/lifetime modularised
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}
2026-05-22 16:25:10 -04:00
Artem Samoilenko 645e789a84 [cr149][Android] Remove getSetupInProgressHandle()
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}
2026-05-22 16:25:09 -04:00
Artem Samoilenko 93115acab6 [cr149][Android] Adds new 'Site controls' to three dot app menu
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/ecb3333dc0743a60d22e3f1a5999779b2650999b

commit ecb3333dc0743a60d22e3f1a5999779b2650999b
Author: Joel Tan-Aristy <jtanaristy@google.com>
Date:   Wed Apr 1 10:43:20 2026 -0700

    [BackButton] Adds new 'Site controls' to three dot app menu

    Makes the 'Site controls' available to the CCT three dot menu.

    https://screenshot.googleplex.com/8ozAFMVopZ8V2W9

    Also adds 'Site controls' behind the three dot app menu feature flag.

    https://screenshot.googleplex.com/7HvdevHy3Ys5Beq

    Bug: 493306650
    Change-Id: Ia436ea9b28fc27749609ed585e36a612401ca9f4
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7717669
    Reviewed-by: Theresa Sullivan <twellington@chromium.org>
    Commit-Queue: Joel Tan-Aristy <jtanaristy@google.com>
    Reviewed-by: Madhav Pruthi <madhavpruthi@google.com>
    Cr-Commit-Position: refs/heads/main@{#1608645}
2026-05-22 16:25:09 -04:00
Artem Samoilenko 112cdc83df [cr149][Android] Fixes for AssertThrowsMinimizer warning 2026-05-22 16:25:09 -04:00
Claudio DeSouza abbf8cc947 [cr149] IsWebContentsVisible cannot be override through Browser
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}
2026-05-22 16:25:09 -04:00
Claudio DeSouza c74b5da1ec [cr149] BrowserList was deleted
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/499cfaea23ab8386461cbfeec1c4a2dcbd8ca8f6

commit 499cfaea23ab8386461cbfeec1c4a2dcbd8ca8f6
Author: Thomas Lukaszewicz <tluk@chromium.org>
Date:   Wed Apr 22 11:19:07 2026 -0700

    [bedrock] Remove BrowserList

    There are no remaining clients of BrowserList and no behavior changes
    in this CL.

    The changes involve removing the files and cleaning up any remaining
    includes / comments.

    Bug: 431671320
    Change-Id: Ie61bbd3f8371cd5777d179d08ac4f47b9e29dd01
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7744394
    Commit-Queue: Thomas Lukaszewicz <tluk@chromium.org>
    Reviewed-by: Qikai Zhong <qikaizhong@microsoft.com>
    Cr-Commit-Position: refs/heads/main@{#1618978}
2026-05-22 16:25:09 -04:00
Artem Samoilenko 9a7833bd45 [cr149][WIP][Android] Sync code in removed from ManageSyncSettings
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/008e21eee2ca1b4d967a68367121423f6e411e2b

commit 008e21eee2ca1b4d967a68367121423f6e411e2b
Author: Victor Hugo Vianna Silva <victorvianna@google.com>
Date:   Mon Apr 20 04:59:40 2026 -0700

    [sync/android] Remove sync-the-feature code in ManageSyncSettings

    kForceMigrateSyncingUserToSignedIn was enabled by default on Android
    in M148.

    OBSOLETE_HISTOGRAMS=The sync error card was removed, along with its histograms.

    Bug: 40066949
    Change-Id: I8317957d3ad7cdeecaac415a11a2974af90d65d4
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7772912
    Reviewed-by: Ankush Singh <ankushkush@google.com>
    Reviewed-by: Marc Treib <treib@chromium.org>
    Commit-Queue: Victor Vianna <victorvianna@google.com>
    Auto-Submit: Victor Vianna <victorvianna@google.com>
    Cr-Commit-Position: refs/heads/main@{#1617409}
2026-05-22 16:25:08 -04:00
Artem Samoilenko b42e1d7584 [cr149][Android] Fixes for AlreadyChecked nullaway warning 2026-05-22 16:25:08 -04:00
Max Karolinskiy 5bdd8c5220 [cr149] Disables kInfobarRefresh feature.
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
2026-05-22 16:25:08 -04:00
Artem Samoilenko 1936424dcb [cr149][Android] Changes for ThinWebViewFactory
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0e9f87c1f965e3a4ec98bb5334ca4d70d95c62df

commit 0e9f87c1f965e3a4ec98bb5334ca4d70d95c62df
Author: Calder Kitagawa <ckitagawa@chromium.org>
Date:   Fri Apr 17 08:07:47 2026 -0700

    [TabBottomSheet] Add permissions support

    Bug: 491498632
    Change-Id: I44e91ce4ac8ef0bbc413503dd73123caba8cbbc5
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7763465
    Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
    Reviewed-by: Theresa Wellington <twellington@chromium.org>
    Reviewed-by: Shakti Sahu <shaktisahu@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1616570}
2026-05-22 16:25:08 -04:00
Artem Samoilenko 6c0af000b6 [cr149][Android] Changes for locking the toolbar when actuating
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/6e0e9337f49ea19d9e9246160c199089d3f21892

commit 6e0e9337f49ea19d9e9246160c199089d3f21892
Author: Hailey Wang <haileywang@google.com>
Date:   Mon Apr 20 12:27:25 2026 -0700

    [Glic] Lock the toolbar when actuating

    Bug: 501465099
    Change-Id: Ic5ad6bd5a247193c62d14f5c0ab7bc27f11022cd
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7762873
    Reviewed-by: Wenyu Fu <wenyufu@chromium.org>
    Commit-Queue: Hailey Wang <haileywang@google.com>
    Cr-Commit-Position: refs/heads/main@{#1617694}
2026-05-22 16:25:07 -04:00
Artem Samoilenko 3de1ba4f5c [cr149][Android] Nullmark Supplier<TabCreatorManager> correctly
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/e08a5701d07c631663f475bb1ba331e303a6fb6c

commit e08a5701d07c631663f475bb1ba331e303a6fb6c
Author: Henrique Nakashima <hnakashima@chromium.org>
Date:   Fri Apr 17 12:02:30 2026 -0700

    [Android] Nullmark Supplier<TabCreatorManager> correctly

    This is part of adding @NullMarked to TabbedRootUiCoordinator

    Change-Id: I6ac5aa86205963624397e99b15180f06c1c7b488
    Bug: 389129271
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7766565
    Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
    Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1616739}
2026-05-22 16:25:07 -04:00
Artem Samoilenko 1d33bdf24c [cr149][Android] Changes for optional/adaptive code in new build target
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/eb9d7815cb653e948dda93f5f7e6df48080ab8ac

commit eb9d7815cb653e948dda93f5f7e6df48080ab8ac
Author: Calder Kitagawa <ckitagawa@chromium.org>
Date:   Tue Apr 21 10:28:47 2026 -0700

    [IA] Move optional/adaptive code to new build target

    When moved to LocationBar this will create a cyclic dependency between
    omnibox and toolbar. Break this by moving the optional/adaptive button
    code to a separate build target.

    Bug: 491511644
    Change-Id: I4531d28de4507d5590f0ba447e6b66cc2a9766a0
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7771432
    Auto-Submit: Calder Kitagawa <ckitagawa@chromium.org>
    Reviewed-by: Theresa Wellington <twellington@chromium.org>
    Reviewed-by: Sky Malice <skym@chromium.org>
    Commit-Queue: Theresa Wellington <twellington@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1618292}
2026-05-22 16:25:07 -04:00
Artem Samoilenko 166a0147a5 [cr149][Android] Changes for TabbedAppMenuPropertiesDelegate c-tor
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/bafb125de13ea5ef6b6bf0a39398f836c834efc2

commit bafb125de13ea5ef6b6bf0a39398f836c834efc2
Author: Yanling <yanlinghu@google.com>
Date:   Mon Apr 20 11:56:14 2026 -0700

    [Feed] Part2 of remove web feed feature: Delete Web Feed small UI components and associated IPHs

    this CL cleans up various small UI components, including removing
    related In-Product Help (IPH) features and preference keys.

    1. Removed WebFeedMainMenuItem, WebFeedFollowIntroController,
    WebFeedFollowIntroView,WebFeedRecommendationFollowAcceleratorController,
    ClickableTextBubble and WebFeedSnackbarController.

    2. Removed IPH Features: Deletion reference: https://crrev.com/c/7067894
    - IPH_WebFeedFollow
      * Added in: https://crrev.com/c/2817518
    - IPH_WebFeedAwareness
      * Added in: https://crrev.com/c/3632953
    - IPH_WebFeedPostFollowDialogWithUIUpdate
      * Added in: https://crrev.com/c/4867332
    - IPH_WebFeedPostFollowDialog
      * Added in: https://crrev.com/c/4867332

    3. Removed Chrome Preference Keys:
    - WEB_FEED_INTRO_LAST_SHOWN_TIME_MS
    - WEB_FEED_INTRO_WEB_FEED_ID_SHOWN_TIME_MS_PREFIX
    - WEB_FEED_INTRO_WEB_FEED_ID_SHOWN_COUNT_PREFIX
      * Added in: https://crrev.com/c/2817518 and https://crrev.com/c/3692349
      * Deletion reference: https://crrev.com/c/7561272
      * Followed deprecation instructions from ChromePreferenceKeys.java: https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java;l=36-39;drc=30c17203494464b1b107c90273c1358db359e04a

    Cq-Include-Trybots: luci.chrome.try:android-internal-binary-size;luci.chrome.try:android-internal-rel;luci.chrome.try:android-internal-dbg
    Bug: 407797637
    Change-Id: I0e3669255394f6121f5d5b4352171767d0f43fa3
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7757080
    Reviewed-by: Theresa Wellington <twellington@chromium.org>
    Reviewed-by: Xi Han <hanxi@chromium.org>
    Commit-Queue: Yanling Hu <yanlinghu@google.com>
    Cr-Commit-Position: refs/heads/main@{#1617671}
2026-05-22 16:25:07 -04:00
Artem Samoilenko ed7896dca4 [cr149][Android] Changes for tab favicon feature
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}
2026-05-22 16:25:06 -04:00
Claudio DeSouza 75804a38a6 [cr149] //chrome/browser/metrics modularised
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}
2026-05-22 16:25:06 -04:00
Claudio DeSouza 645d1b92c1 [cr149][WIP] ReadingListPageHandler has WebContentsObserver
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}
2026-05-22 16:25:06 -04:00
Claudio DeSouza 44051d8b9f [WIP][cr149] AvatarToolbarButton using more of state_manager_
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}
2026-05-22 16:25:06 -04:00
Claudio DeSouza 611ecdf354 [cr149] //chrome/browser/first_run modularised
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}
2026-05-22 16:25:06 -04:00
Claudio DeSouza e45264bb6c [cr149] ToolbarButtonProvider now unowned data
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/d37c85afb67b54cef97da7097943b250dc8e6590

commit d37c85afb67b54cef97da7097943b250dc8e6590
Author: Thomas Lukaszewicz <tluk@chromium.org>
Date:   Mon Apr 20 11:08:23 2026 -0700

    [bedrock] Update ToolbarButtonProvider to support UnownedUserData

    Allows clients to depend on ToolbarButtonProvider without a
    direct dependency on BrowserView or Browser.

    Bug: 502745808
    Change-Id: If060854181eceba5942c69570f36e3cbb2ac7af9
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7770291
    Commit-Queue: Thomas Lukaszewicz <tluk@chromium.org>
    Reviewed-by: David Yeung <dayeung@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1617621}
2026-05-22 16:25:05 -04:00
Claudio DeSouza 824695407f [cr149] Fixing kLearnMoreLink override and others
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}
2026-05-22 16:25:05 -04:00
Claudio DeSouza 75e381f5a4 [android][cr149] ChromeBaseCheckBoxPreference dropped from sync settings
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/008e21eee2ca1b4d967a68367121423f6e411e2b

commit 008e21eee2ca1b4d967a68367121423f6e411e2b
Author: Victor Hugo Vianna Silva <victorvianna@google.com>
Date:   Mon Apr 20 04:59:40 2026 -0700

    [sync/android] Remove sync-the-feature code in ManageSyncSettings

    kForceMigrateSyncingUserToSignedIn was enabled by default on Android
    in M148.

    OBSOLETE_HISTOGRAMS=The sync error card was removed, along with its histograms.

    Bug: 40066949
    Change-Id: I8317957d3ad7cdeecaac415a11a2974af90d65d4
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7772912
    Reviewed-by: Ankush Singh <ankushkush@google.com>
    Reviewed-by: Marc Treib <treib@chromium.org>
    Commit-Queue: Victor Vianna <victorvianna@google.com>
    Auto-Submit: Victor Vianna <victorvianna@google.com>
    Cr-Commit-Position: refs/heads/main@{#1617409}
2026-05-22 16:25:05 -04:00
Claudio DeSouza 2d41d7aa65 [cr149] UpdateDevtools simplified
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}
2026-05-22 16:25:05 -04:00
Claudio DeSouza ba22be5679 [cr149] GetAvatarToolbarButton() deleted
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}
2026-05-22 16:25:04 -04:00
Claudio DeSouza ca98abdf61 [cr149] Reanchoring clipboard_host_impl.h override
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/32963b6b2e6886a83b4c5bb02d938f209bb54400

commit 32963b6b2e6886a83b4c5bb02d938f209bb54400
Author: Ahmed Raslan <rslan@google.com>
Date:   Thu Apr 16 11:24:18 2026 -0700

    Unify ClipboardEndpoint creation

    This change centralizes the logic for creating ui::DataTransferEndpoint
    and content::ClipboardEndpoint instances by moving the helper functions
    CreateDataEndpoint and CreateClipboardEndpoint into
    content/public/browser/clipboard_types.h

    Bug: 410835513
    Change-Id: I42461c2551fa3ddbd479f4c2c47c1d18417eeba7
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7748266
    Reviewed-by: Bo Liu <boliu@chromium.org>
    Reviewed-by: Dominique Fauteux-Chapleau <domfc@chromium.org>
    Reviewed-by: Nasko Oskov <nasko@chromium.org>
    Commit-Queue: Ahmed Raslan <rslan@google.com>
    Cr-Commit-Position: refs/heads/main@{#1616013}
2026-05-22 16:25:04 -04:00