Commit Graph
75256 Commits
Author SHA1 Message Date
Max Karolinskiy 85873b5234 [cr145] Updates FlagsStateTest.ShowDefaultState unit test.
Chromium change:

https://source.chromium.org/chromium/chromium/src/+/f5e3814d6aad1cdb70be429906626b1478b1bf94

commit f5e3814d6aad1cdb70be429906626b1478b1bf94
Author: Ernest Nguyen Hung <ernn@google.com>
Date:   Wed Dec 17 01:19:16 2025 -0800

    Fix parsing flags if they contain enable/disable features switch

    If multiple flags attempt to add the same switch, only the last one
    added is preserved. This is unexpected for
    `switches::k(Enable|Disable)Features` switches and could make one think
    that `chrome://flags` overwrites don't work properly (it already
    happened :)). This pattern is already used in our codebase to e.g. to
    enable multiple switches with one flag,
    https://source.chromium.org/search?q=(switches::kEnableFeatures%20OR%20switches::kDisableFeatures)%20%20file:chrome%2Fbrowser%2Fabout_flags.cc&sq=&ss=chromium.

    This CL fixes flags parsing for such flags by merging values for
    `switches::k(Enable|Disable)Features`.
2026-01-29 13:41:01 -05:00
Artem Samoilenko f139c935ac [cr145][Android] Changes for BravePrivacySettingsTest
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/be24c938e77a7f56ad3e3322c25952222036b2a8

commit be24c938e77a7f56ad3e3322c25952222036b2a8
Author: Fiona Macintosh <fmacintosh@google.com>
Date:   Tue Dec 30 10:34:45 2025 -0800

    Delete references to 3PCD feature on Android

    NO_IFTTT=strings predate new grd

    Bug: b:382043551
    Change-Id: I3e9cd5b6b8926ca8b805c08278c452a74f2fc3b1
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7347296
    Commit-Queue: Fiona Macintosh <fmacintosh@google.com>
    Owners-Override: Fiona Macintosh <fmacintosh@google.com>
    Reviewed-by: Kevin Graney <kmg@google.com>
    Reviewed-by: Wenyu Fu <wenyufu@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1563438}
2026-01-29 13:41:00 -05:00
Artem Samoilenko 06f7a77a02 [cr145][Android] Changes for ActivityTabProvider in robolectric tests
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/416a61c418c152a7a7ae568d89302e5ecb6e4a3d

commit 416a61c418c152a7a7ae568d89302e5ecb6e4a3d
Author: Andrew Grieve <agrieve@chromium.org>
Date:   Tue Dec 2 14:13:59 2025 -0800

    Android: Split ObservableSupplier into Nullable / Monotonic / NonNull variants

    The goal is to use proper @Nullable annotations with
    ObservableSuppliers.

    To achieve this, we use interfaces that define nullness:
     * (Settable)NullableObservableSupplier
     * (Settable)ObservableSupplier <-- monotonic
     * (Settable)NonNullObservableSupplier

    And we have ObservableSupplierImpl implement all of them.

    In order to make this migration manageable, I've marked the interfaces
    as @NullUnmarked, and will fix annotations in batches until they
    can be marked @NullMarked.

    This CL includes a batch in order to test out the new interfaces (and
    because many were necessary to make the change).

    Monotonic suppliers are by far the most common afaict, so that's why
    the non-prefixed ObservableSupplier is the monotonic one (that, and
    because "Monotonic" is a mouthful).

    One implication of this approach is that we'll never have:
       ObservableSupplier<@Nullable Foo>
    We'd have instead:
       NullableObservableSupplier<Foo>

    Having the nullness in the interface rather than in the generic
    allows for defining toNonNull() only on monotonic suppliers, and
    simplifies the implementation.

    Bug: 455874046
    Change-Id: Id48e235b9ff16a5b21a9c1199863150d17c22736
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7206746
    Commit-Queue: Andrew Grieve <agrieve@chromium.org>
    Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
    Owners-Override: Andrew Grieve <agrieve@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1553094}
2026-01-29 13:41:00 -05:00
Artem Samoilenko 447aef2500 [cr145][Android] Remove TabGroupModelFilterProvider
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/f12fd21bbaa4ecdd44a76d39e37e086c198664f1

commit f12fd21bbaa4ecdd44a76d39e37e086c198664f1
Author: Hitarth Kothari <hitarthkothari@google.com>
Date:   Mon Dec 29 11:13:11 2025 -0800

    Reland "Remove TabGroupModelFilterProvider"

    This is a reland of commit f00182307d3765bac09f1bc45488c75f423607a2

    Original change's description:
    > Remove TabGroupModelFilterProvider
    >
    > Bug: 467323363
    > Change-Id: I34d003bdf8ef089b9b5a9a77020a68953dc00888
    > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7302039
    > Reviewed-by: Fiaz Muhammad <mfiaz@google.com>
    > Commit-Queue: Hitarth Kothari <hitarthkothari@google.com>
    > Owners-Override: Hitarth Kothari <hitarthkothari@google.com>
    > Cr-Commit-Position: refs/heads/main@{#1562275}

    Bug: 467323363
    Change-Id: Ie8090229572ec1b97e21cfbbb53aef578d4037da
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7349423
    Reviewed-by: Fiaz Muhammad <mfiaz@google.com>
    Owners-Override: Hitarth Kothari <hitarthkothari@google.com>
    Commit-Queue: Hitarth Kothari <hitarthkothari@google.com>
    Cr-Commit-Position: refs/heads/main@{#1563178}
2026-01-29 13:41:00 -05:00
Artem Samoilenko d58430f145 [cr145][Android] Clean up floating-snackbar flag
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8607312f6ad27f2bb40aa29f91e9ff92c49e9a65

commit 8607312f6ad27f2bb40aa29f91e9ff92c49e9a65
Author: Eleanor Lee <eleanorlee@google.com>
Date:   Mon Jan 5 16:31:43 2026 -0800

    clean up floating-snackbar flag

    NO_IFTTT=lint not applicable

    Bug: 465404492
    Change-Id: If5806d4c6d0c10bd2c3bb7f407847dbbbdf11314
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7349101
    Commit-Queue: Eleanor Lee <eleanorlee@google.com>
    Reviewed-by: Theresa Sullivan <twellington@chromium.org>
    Reviewed-by: Wenyu Fu <wenyufu@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1564694}
2026-01-29 13:40:59 -05:00
Artem Samoilenko dd39249b2c [cr145] Keep glic GRDs in resource ID filtering to avoid missing includes
Otherwise there is a build error:
Traceback (most recent call last):
  File "/mnt/wd2t/projects/brave-browser-3/src/out/android_Release_arm64/../../tools/grit/grit.py", line 17, in <module>
    sys.exit(grit.grit_runner.Main(sys.argv[1:]))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/wd2t/projects/brave-browser-3/src/tools/grit/grit/grit_runner.py", line 313, in Main
    return toolobject.Run(options, args[1:])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/wd2t/projects/brave-browser-3/src/tools/grit/grit/tool/build.py", line 265, in Run
    self.res = grd_reader.Parse(opts.input,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/wd2t/projects/brave-browser-3/src/tools/grit/grit/grd_reader.py", line 252, in Parse
    handler.root.AssignFirstIds(filename_or_stream, defines)
  File "/mnt/wd2t/projects/brave-browser-3/src/tools/grit/grit/node/misc.py", line 657, in AssignFirstIds
    raise Exception('Please update %s and add a first id for %s (%s).' %
Exception: Please update ../../out/android_Release_arm64/gen/tools/gritsettings/default_resource_ids and add a first id for chrome/browser/glic/resources/browser_resources.grd (includes).
2026-01-29 13:40:59 -05:00
Claudio DeSouza 2b39fb25cf [cr145] BrowserRootView::tabstrip() removed
The removal of this accessor was causing failures to an existing
override replacing calls for `ConvertPointToTarget`, which was making
use of this accessor. This change corrects the way to how this object is
retrieved in the override.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/98134b0b68889c778dde25b32e506d3a0bb634b8

commit 98134b0b68889c778dde25b32e506d3a0bb634b8
Author: dljames <dljames@chromium.org>
Date:   Mon Jan 5 12:10:46 2026 -0800

    [Vertical Tabs] Remove usage of TabStrip from BrowserRootView 2

    Removes usage of TabStrip from BrowserRootView entirely. The same
    behavior can be achieved by using TabStripRegionView the tabstrip
    agnostic interface. Making this change will utlimately remove the need
    for BrowserView::tab_strip() in the future allowing the code to work
    as-is when swapping between VerticalTabs and HorizontalTabs.

    To achieve this, TabStripRegionView now extends
    BrowserRootView::DropTarget. This allows BrowserRootView to forward drop
    events through the interface and into the TabStrip implementations. This
    allows tabs to appear as if they extend to the full height / width of
    their container even though the bounds are stricter.

    Change-Id: I1bf7948e632fe1122189eccd2dd89ea8f8679b79
    Bug: 465190040
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7304863
    Reviewed-by: David Pennington <dpenning@chromium.org>
    Commit-Queue: Darryl James <dljames@chromium.org>
    Reviewed-by: Steven Luong <stluong@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1564542}
2026-01-29 13:40:59 -05:00
Claudio DeSouza 83a2a8db4e [cr145] ExtensionsMenuMainPageView::menu_items_ renamed
This affects the override in places that refers to this field, which is
now called `menu_entries_`.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/7e4fef94f5539f11142ba3870c1e26fb2e19da9c

commit 7e4fef94f5539f11142ba3870c1e26fb2e19da9c
Author: EmiliaPaz <emiliapaz@chromium.org>
Date:   Sun Jan 4 17:59:10 2026 -0800

    [Extensions] Finish updating ExtensionsMenuEntryView names (pt 2)

    This CL completes the renaming of methods and structs the referenced
    'Item', which now is named 'Entry'.

    No functionality changed.

    Fixed: 471045053
    Change-Id: I4cfc90c165ffb6f1645d7ee4af968a660bddb1b6
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7355237
    Commit-Queue: Emilia Paz <emiliapaz@chromium.org>
    Reviewed-by: Eva Su <evasu@chromium.org>
    Auto-Submit: Emilia Paz <emiliapaz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1564137}
2026-01-29 13:40:58 -05:00
Claudio DeSouza 76f589704e [cr145] Adjust AddRestoredTab/ReplaceRestoredTab overrides
This functions now pass a span rather than a vector for the sessions
argument, which requires the override definition to also be updated.

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

commit c350cdc781d23f5196ab02e3e813401b5a00af8b
Author: Jeffrey Yu <yuje@chromium.org>
Date:   Mon Jan 5 08:40:37 2026 -0800

    Use `base::span<const T>` instead of `const std::vector<T>&`.

    Bug: 471980709
    Change-Id: If91d9640ecd1366f1fde5ceef501123af6c1d9c8
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7331439
    Reviewed-by: Eshwar Stalin <estalin@chromium.org>
    Reviewed-by: Colin Blundell <blundell@chromium.org>
    Commit-Queue: Jeffrey Yu <yuje@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1564400}
2026-01-29 13:40:58 -05:00
Claudio DeSouza a298eb97d1 [cr145] Landed cherry-pick for glic vertical tab fix
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/c61c8fbae57f1b8ca96c14d3a8d61bbd621aae3e

commit c61c8fbae57f1b8ca96c14d3a8d61bbd621aae3e
Author: Claudio DeSouza <cdesouza@chromium.org>
Date:   Mon Jan 5 09:58:17 2026 -0800

    [Vertical Tabs] Guard glic deps behind enable_glic

    This change is a follow-up from a previous CL
    (https://crrev.com/c/7301219), which introduced dependencies to glic
    targets, which are required to be guarded behind `enable_glic` for when
    this value is `false`.

    Change-Id: I55cc363479eabf8fff0da567a81edaafae082d6c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7385050
    Commit-Queue: David Pennington <dpenning@chromium.org>
    Reviewed-by: David Pennington <dpenning@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1564443}
2026-01-29 13:40:58 -05:00
Max Karolinskiy 1cc20ef905 [cr145] Add a replacement test for RegisterChromeUriSchemeForChromium.
Upstream hardcoded the registry path for this test, but we need to use
different paths for each channel.

Chromium change:

https://source.chromium.org/chromium/chromium/src/+/17d026d2937db8a2a7126aff007d98444466799c

commit 17d026d2937db8a2a7126aff007d98444466799c
Author: Deepak Ravichandran <deepakr@google.com>
Date:   Mon Dec 22 08:23:59 2025 -0800

    Reland "Windows: Register custom URI schemes for branded and unbranded builds"

    This is a reland of commit 84788f0a410035c0f149bf8104b8df0c746d91e4

    Original change's description:
    > Windows: Register custom URI schemes for branded and unbranded builds
    >
    > Mirror https://crrev.com/c/7087621 but on Windows by registering custom URI schemes
    > (e.g., `google-chrome://`, `chromium://`) for the browser.
    >
    > This change:
    >  Updates `chrome/installer/util/shell_util.cc` to correctly register custom URI schemes,
    >  including `chromium://` for unbranded builds, by adding "chromium" to `kPotentialProtocolAssociations`
    >  and modifying `AddChromeUriSchemeWorkItems` to use `install_static::GetDirectLaunchUrlScheme()`
    >  for dynamic lookup during registration.
    >
    > Bug: b:446672134
2026-01-29 13:40:58 -05:00
Max Karolinskiy ef9f42fa09 [cr145] Fixes guessConfig.ts to use path.win32 on Windows.
The paths were not being resolved correctly on windows resulting in not
finding the build output directories.
2026-01-29 13:40:57 -05:00
Artem Samoilenko e119c2a14c [cr145][Android] Persist incognito reauthentication state
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/c75a96efda7d9836c13bdf2594979c094e2c1ca6

commit c75a96efda7d9836c13bdf2594979c094e2c1ca6
Author: Charles Hager <clhager@google.com>
Date:   Mon Dec 22 11:05:05 2025 -0800

    Persist incognito reauthentication state

    This change persists whether incognito is in a "pending reauthentication" state, in order to make sure that incognito reauth rules apply when persisting incognito state.

    Bug: 459921316
    Change-Id: I331b401eb93e2a3ebdcaef8da98cd6aa721a0e89
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7262141
    Reviewed-by: Christian Dullweber <dullweber@chromium.org>
    Reviewed-by: Theresa Sullivan <twellington@chromium.org>
    Commit-Queue: Charles Hager <clhager@google.com>
    Cr-Commit-Position: refs/heads/main@{#1561888}
2026-01-29 13:40:57 -05:00
Artem Samoilenko 45154aa725 [cr145][Android] Refactor MultiWindowUtils#closeWindow(instanceId) -> closeWindows(List<InstanceId>)
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/9eab1379c2ec6297c9d582ad90547ae712934e22

commit 9eab1379c2ec6297c9d582ad90547ae712934e22
Author: Zhe Li <zheliooo@google.com>
Date:   Thu Dec 18 11:11:19 2025 -0800

    [RWM][RecentlyClosed] Clear all inactive windows in addition to tab entries

    - Refactor #closeWindow(instanceId) -> closeWindows(List<InstanceId>) to align with other closeTab impl and to avoid instanceStateObserver#onInstanceClosed() Invoked multiple times when removing multiple windows.

    Demo: https://drive.google.com/file/d/1WCRDoJ23bFnRss-k0atyn-cT1DgsZ2TO/view?usp=sharing

    OBSOLETE_HISTOGRAM[Android.MultiWindowMode.CloseWindow.AppSource]=Replaced by Android.MultiWindowMode.CloseWindow.AppSource2

    Bug: 444680605
    Change-Id: Ibbcaa1559bb8ec555b9f5add03a9dc4fe2d7a7d2
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7261791
    Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
    Commit-Queue: Zhe Li <zheliooo@google.com>
    Cr-Commit-Position: refs/heads/main@{#1560697}
2026-01-29 13:40:57 -05:00
Artem Samoilenko bf36c2a520 [cr145][Android] Changes for new BookmarkToolbarCoordinator c-tor signature
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/d5213c799a29303dcc0e9497fda72130b39af681

commit d5213c799a29303dcc0e9497fda72130b39af681
Author: Ho Cheung <hocheung@chromium.org>
Date:   Tue Dec 23 17:03:39 2025 -0800

    [Bookmarks] Add "Copy link" option to Android bookmark manager selection menu

    Add a "Copy link" menu option to the selection mode menu in the
    Android bookmarks manager. When a single bookmark is selected,
    users can now copy its URL to the clipboard via the overflow menu,
    providing a quick way to share bookmark URLs without opening them.

    This feature:

    - Appears in the three-dot overflow menu alongside "Open in new tab"
      and "Open in Incognito tab" when exactly one bookmark is selected.

    - Is hidden when folders are selected (folders have no URL).

    - Clears the selection after copying for a cleaner UX.

    - Shows a "Copied" snackbar notification to confirm the action.

    - Reuses existing translated strings (@string/copy_link, @string/copied)
      to avoid additional i18n overhead.

    At the same time, add appropriate tests to improve code coverage and
    UserAction for statistical use.

    Design doc:

    https://docs.google.com/document/d/1zDD-gk01xMioNgL_NTKroxvPW1HnVbPDHIxNQlF-_ZI

    Bug: 448009940
    Change-Id: I60fdc09a971daea4a92c64b79d3a1706502e63d2
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7227136
    Reviewed-by: Sky Malice <skym@chromium.org>
    Reviewed-by: Wenyu Fu <wenyufu@chromium.org>
    Reviewed-by: Brandon Wylie <wylieb@google.com>
    Owners-Override: Wenyu Fu <wenyufu@chromium.org>
    Reviewed-by: Theresa Sullivan <twellington@chromium.org>
    Commit-Queue: Aaron Teo <hocheung@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1562385}
2026-01-29 13:40:56 -05:00
Claudio DeSouza beebb595a2 [cr145] Glic exclusion fix for //chrome/browser/ui/views/tabs
This fix has also been submitted as a CL:

https://crrev.com/c/7385050

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/2ee88b0f884b4b34add78741239bfa01b18706c0

commit 2ee88b0f884b4b34add78741239bfa01b18706c0
Author: Claudio DeSouza <cdesouza@chromium.org>
Date:   Sun Jan 4 11:31:00 2026 -0300

    [Vertical Tabs] Guard glic deps behind enable_glic

    This change is a follow-up from a previous CL
    (https://crrev.com/c/7301219), which introduced dependencies to glic
    targets, which are required to be guarded behind `enable_glic` for when
    this value is `false`.

    Change-Id: I55cc363479eabf8fff0da567a81edaafae082d6c
2026-01-29 13:40:56 -05:00
Claudio DeSouza 14e0575cd5 [cr145] zmij crate vendored in upstream
This crate was being vendored in our tree as a result of being a
transient dependency. This change updates our tree's reference to it, to
permit the use of the version vendored in upstream.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/1d1db2ee976f5f08d2778aeec2bbc8f4a7f0820d

commit 1d1db2ee976f5f08d2778aeec2bbc8f4a7f0820d
Author: Lukasz Anforowicz <lukasza@chromium.org>
Date:   Mon Dec 29 20:31:16 2025 -0800

    Roll serde_json: 1.0.145 => 1.0.148 in //third_party/rust.

    This CL has been created semi-automatically.  The expected review
    process and other details can be found at
    //tools/crates/create_update_cl.md

    Updated crates:

    * serde_json: 1.0.145 => 1.0.148;
      https://docs.rs/crate/serde_json/1.0.148

    New crates:

    * zmij@1.0.2; https://docs.rs/crate/zmij/1.0.2

    Bug: None
    Change-Id: I64a3620638e3151619c8e19b39a28b2e2e846fb1
    Cq-Include-Trybots: chromium/try:android-rust-arm32-rel
    Cq-Include-Trybots: chromium/try:android-rust-arm64-dbg
    Cq-Include-Trybots: chromium/try:android-rust-arm64-rel
    Cq-Include-Trybots: chromium/try:linux-rust-x64-dbg
    Cq-Include-Trybots: chromium/try:linux-rust-x64-rel
    Cq-Include-Trybots: chromium/try:win-rust-x64-dbg
    Cq-Include-Trybots: chromium/try:win-rust-x64-rel
    Disable-Rts: True
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7354767
    Reviewed-by: Daniel Rubery <drubery@chromium.org>
    Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1563312}
2026-01-29 13:40:55 -05:00
Claudio DeSouza 19a3a3ff51 [cr145] ListSelectionModel now available in TabStripModel
This function is now gone entirely, but now there's an accessor in the
model that can provide its value.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/bd1c829796ec0b3f6ea58195393b4254dc7b2f8f
https://chromium.googlesource.com/chromium/src/+/7791541f7a7285eb8825493692d0b06431a4c3f1

commit bd1c829796ec0b3f6ea58195393b4254dc7b2f8f
Author: Dominic Austria <dominicaustria@google.com>
Date:   Tue Dec 30 11:46:33 2025 -0800

    [SelectionPtr]Cache the ListSelectionModel for the accessor

    TabStripModel::selection_model() returns a ListSelectionModel object but
    it is internally using a SelectionState, and so we need to convert this
    object to a ListSelectionModel. This is linear in the number of tabs, so
    it is concerning if there are clients who spam calls to
    TabStripModel::selection_model(). As a precautionary measure we can
    cache a ListSelectionModel object and generate it only when necessary
    (when the indices of the selection are potentially updated).

    There are no tests in this file since after looking at
    tab_strip_model_unittest.cc, these changes are already tested by the
    ones there.

    Change-Id: I58e2beb7eca900f6e1d1bf19b45ffcf02ed4823a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7281804
    Commit-Queue: Dominic Austria <dominicaustria@google.com>
    Reviewed-by: Eshwar Stalin <estalin@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1563457}

commit 7791541f7a7285eb8825493692d0b06431a4c3f1
Author: Dominic Austria <dominicaustria@google.com>
Date:   Mon Dec 29 18:06:18 2025 -0800

    [SelectionPtr]Remove the adapter and use SelectionState only

    We change the type of selection_model_ to the simpler SelectionState,
    instead of an adapter that implements both the API of SelectionState and
    ListSelectionModel at the same time. Additionally, we move away from
    using index based logic and ListSelectionModel, replacing it with
    pointer based logic and the SelectionState class. This required us to
    rewrite the logic of several functions in TabStripModel.

    Low-Coverage-Reason:TRIVIAL_CHANGE The warning for the low coverage is
    for tab_strip_internal_util.cc, and this CL only has very minor changes
    to that file.

    BYPASS_LARGE_CHANGE_WARNING:Large scale refactor that is easier to
    review as one CL. Most of the changes are only in one file, namely the
    TabStripModel.

    Bug: 460121011
    Change-Id: I0a21f1c3544dc7f3acf0b4413cd81c9d51a47574
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7271572
    Commit-Queue: Dominic Austria <dominicaustria@google.com>
    Reviewed-by: David Pennington <dpenning@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1563297}
2026-01-29 13:40:55 -05:00
Claudio DeSouza 2a39525d01 [cr145] Several feature flags now part of kSideBySide
These flags are now all gated by `kSideBySide`, and with that we don't
need to test the value of these as this is the desired behaviour.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/290f338f8cafdbe7f41dc1c86640aa4c1e4f78d4

commit 290f338f8cafdbe7f41dc1c86640aa4c1e4f78d4
Author: Alison Gale <agale@chromium.org>
Date:   Thu Dec 11 06:05:03 2025 -0800

    [SxS] Clean up sub-flags within the split view experiment

    These will mostly be gated behind the top level kSideBySide flag till I
    clean that up. Getting these out of the way to simplify things.

    Bug: 454347097
    Change-Id: If73131d804bf85fea516952a0b4ef3a5a4b215ea
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7248788
    Commit-Queue: Alison Gale <agale@chromium.org>
    Reviewed-by: David Pennington <dpenning@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1557353}
2026-01-29 13:40:55 -05:00
Claudio DeSouza 9a84ef7882 [cr145] kCookieDeprecationFacilitatedTesting deleted
The code it was guarding was also deleted, so this we can just delete
the disabling of this flag.

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

commit e114f525e30cdd4a4ee3c1d1e3acdff7ba35c5dc
Author: Kevin Graney <kmg@google.com>
Date:   Tue Dec 30 06:39:19 2025 -0800

    Remove dead TPCD experiment code

    Change-Id: I8f31b7318818b37e28fd377fc4815fc011e0b6bb
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7355502
    Reviewed-by: Fiona Macintosh <fmacintosh@google.com>
    Reviewed-by: Avi Drissman <avi@chromium.org>
    Commit-Queue: Kevin Graney <kmg@google.com>
    Cr-Commit-Position: refs/heads/main@{#1563386}
2026-01-29 13:40:54 -05:00
Claudio DeSouza 821d15251d [cr145] Several TabStripModel methods using TabInterface
This change in upstream has affected several places where these methods
were being extended. Most changes involve now using `TabInterface`,
rather than `WebContents`.

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

commit fdb26aae9fcf18a4065d95f88da9677b71ed6512
Author: Eshwar Stalin <estalin@chromium.org>
Date:   Tue Dec 30 15:57:18 2025 -0800

    Updating TabStripModel observer methods for consistency

    Renaming some of the functions for consistency. Also switching some of
    the functions from using content::WebContents to tabs::TabInterface to better align with the long term direction.

    Change-Id: I3b3cf44f02ed6036282adb132fcfe204853d8a13
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7350719
    Commit-Queue: Eshwar Stalin <estalin@chromium.org>
    Reviewed-by: David Pennington <dpenning@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1563530}
2026-01-29 13:40:54 -05:00
Claudio DeSouza 3869862f7e [cr145] DeviceInfo added ios promo ctor arg
This new argument in the constructor has to be passed along with the
Brave-specific code and the Chromium new interface.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/3d9be32e4f4422b9807a20f83f6e963412c367e1

commit 3d9be32e4f4422b9807a20f83f6e963412c367e1
Author: Hira Mahmood <hiramahmood@google.com>
Date:   Mon Dec 29 08:50:36 2025 -0800

    Add desktop_to_ios_promo_receiving_enabled to DeviceInfo

    The new Desktop-to-iOS promos involve a reminder flow that allows users
    to tap a button on the desktop promo to send a reminder to their iOS
    device.

    This CL adds a field to DeviceInfo to signal if the receiving end of the
    Desktop-to-iOS promos are enabled are on the iOS device, and checks the
    value of the field (in chrome/browser/ui/promos/ios_promo_controller.cc)
    before displaying the desktop promo to ensure the desktop promo is only
    shown if the entire flow is enabled. Once the desktop-to-iOS promo
    feature is fully ramped up, the field will be removed.

    More context/discussion on the experiment set-up can be found in
    crbug.com/449758460

    Low-Coverage-Reason: TESTS_IN_SEPARATE_CL
    Fixed: 470198750
    Change-Id: Ib51e77f52c181e2eba4b543f81136f4a7ebc5599
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7276213
    Reviewed-by: Jood Hajeer <jood@google.com>
    Owners-Override: Hira Mahmood <hiramahmood@google.com>
    Commit-Queue: Hira Mahmood <hiramahmood@google.com>
    Cr-Commit-Position: refs/heads/main@{#1563145}
2026-01-29 13:40:54 -05:00
Claudio DeSouza 67aa8c4e20 [cr145] TpcdExperimentEligibility removed
This is of no consequence to Brave, as all code affected was merely
stubbed.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/1ff3d488493250994bfbabe1bde4c8433a0a5f5e

commit 1ff3d488493250994bfbabe1bde4c8433a0a5f5e
Author: Kevin Graney <kmg@google.com>
Date:   Mon Dec 29 09:34:15 2025 -0800

    Remove TpcdExperimentEligibility

    Bug: 469047728
    Change-Id: Idf13db2401a3943f83bfdffee97ffe349a28fdd0
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7312475
    Reviewed-by: Fiona Macintosh <fmacintosh@google.com>
    Commit-Queue: Kevin Graney <kmg@google.com>
    Cr-Commit-Position: refs/heads/main@{#1563158}
2026-01-29 13:40:54 -05:00
Claudio DeSouza 1bcd55a58f [cr145][ios] ScopeSet header deleted
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/66263c58fa0d6395ab1886eae13acca6bf97a25c

commit 66263c58fa0d6395ab1886eae13acca6bf97a25c
Author: Tanmoy Mollik <triploblastic@google.com>
Date:   Tue Dec 23 04:19:18 2025 -0800

    Remove identity_manager/scope_set.h

    Bug: 425896213
    Change-Id: If6270b9393917f1e4873a06bf000fb8d20981546
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7264626
    Reviewed-by: Alex Ilin <alexilin@chromium.org>
    Owners-Override: Alex Ilin <alexilin@chromium.org>
    Commit-Queue: Tanmoy Mollik <triploblastic@google.com>
    Cr-Commit-Position: refs/heads/main@{#1562140}
2026-01-29 13:40:53 -05:00
Claudio DeSouza 3ae0ed0540 [cr145][ios] Handling kMtcProofDraftDavidben08 sig algo
For now this algo is being handled as NOTREACHED for the purpose of
these functions, as there seems to be some indication that this is too
experimental still.

Chromium change:
https://boringssl.googlesource.com/boringssl/+/52b1463b45712c747a810be819a9cd41ab33fc46

commit 52b1463b45712c747a810be819a9cd41ab33fc46
Author: Nick Harper <nharper@chromium.org>
Date:   Tue Sep 9 17:04:01 2025 +0000

    [WIP] Support verifying signatureless MTCs.

    Add support to CertPathBuilder to verify Merkle Tree Certificates as
    defined in draft-davidben-tls-merkle-tree-certs-08.  This only supports
    "signatureless" certificates (i.e. ones that contain a Merkle Tree
    inclusion proof but no RSA/ECDSA/ML-DSA signature).

    Change-Id: I6f2ff82897393ca8944228fe44275bb9e91729f4
    Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/82727
    Commit-Queue: Nick Harper <nharper@chromium.org>
    Reviewed-by: Matt Mueller <mattm@google.com>
2026-01-29 13:40:53 -05:00
Claudio DeSouza e3edc272dc [cr145] ExtensionsMenuEntryView created from `ExtensionMenuItemView
Our overrides seem to have degraded at some point, likely because of the
kExtensionsMenuAccessControl feature which is disabled upstream but
probably was enabled at some point.

Updated our code to just replace the icon with ours and use our colors.
Adding and removing the pin button doesn't make sense with the
kExtensionsMenuAccessControl flag disabled because there's no way to pin
the extension without the button.

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

commit bb541027810371415e77f868a4986665a874dc14
Author: EmiliaPaz <emiliapaz@chromium.org>
Date:   Tue Dec 23 10:18:01 2025 -0800

    [Extensions] Add ExtensionsMenuEntryView for menu under feature

    With the introduction of ExtensionMenuViewModel, we aim to move
    extension-related logic into the model. This CL introduces
    ExtensionsMenuEntryView to serve the new menu specifically, allowing it
    to evolve independently from the legacy ExtensionsMenuItemView as it
    was starting to differ considerably.

    Testing was updated to reflect the new name.

    This CL has no functionality change.

    Bug: 471045053
    Change-Id: I0f4d9cb62de95177b0c7735874e894863debe402
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7298432
    Reviewed-by: Masa Fujita <massan@google.com>
    Commit-Queue: Emilia Paz <emiliapaz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1562238}
2026-01-29 13:40:53 -05:00
Claudio DeSouza b03ce3f7f1 [cr145] AreThirdPartyCookiesBlockedByCookieDeprecationExperiment deleted
This change removes all references to this feature from brave, and
corrects our overrides for `PrivacySandboxSettings`.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0566a9bc798704a2896d10619051c925cdaf32f8

commit 0566a9bc798704a2896d10619051c925cdaf32f8
Author: Fiona Macintosh <fmacintosh@google.com>
Date:   Tue Dec 23 07:26:20 2025 -0800

    Clean up AreThirdPartyCookiesBlockedByCookieDeprecationExperiment

    Fixed: b:469049295
    Change-Id: I7fe4f9072130c974e5788de71d7a2e753bd21255
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7300645
    Reviewed-by: Kevin Graney <kmg@google.com>
    Commit-Queue: Fiona Macintosh <fmacintosh@google.com>
    Cr-Commit-Position: refs/heads/main@{#1562181}
2026-01-29 13:40:52 -05:00
Claudio DeSouza e77279f7ce [cr145] Removing inclusions for ExperimentManager
This feature has been deleted upstream, and it looks like a header was
being included to preempty a substitution.

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

commit db3f2ba6a84dad6b4ed64834814bf04850d48fc8
Author: Kevin Graney <kmg@google.com>
Date:   Tue Dec 23 10:42:35 2025 -0800

    Remove ExperimentManager

    Bug: 469047728
    Change-Id: I51989450b4de3b0b6462251352fd17934395e884
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7273653
    Reviewed-by: Jonathan Njeunje <njeunje@chromium.org>
    Reviewed-by: Luc Nguyen <lucnguyen@google.com>
    Commit-Queue: Kevin Graney <kmg@google.com>
    Cr-Commit-Position: refs/heads/main@{#1562247}
2026-01-29 13:40:52 -05:00
Claudio DeSouza df165bb574 [cr145] BrowserList::empty() deleted
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/cef649e1743b0d439d5c75dc97258dd2bb37881f

commit cef649e1743b0d439d5c75dc97258dd2bb37881f
Author: Qikai <qikaizhong@microsoft.com>
Date:   Tue Dec 23 00:32:47 2025 -0800

    [bedrock] Remove unused BrowserList::empty() method

    The empty() method is no longer referenced anywhere in the codebase and
    can be safely removed.

    Bug: 431671320
    Change-Id: Ib69b46390b6495efa86f8b6524f7270b4ce34d99
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7280243
    Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
    Commit-Queue: Qikai Zhong <qikaizhong@microsoft.com>
    Reviewed-by: Tom Lukaszewicz <tluk@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1562116}
2026-01-29 13:40:52 -05:00
Claudio DeSouza ca54bee157 [cr145] base::to_underlying deleted
We can now use `std::to_underlying` with cxx23 switched on.

```sh
files_using_header="$(git grep -l base::to_underlying | tr '\n' ' ')"
sed -i 's/base::to_underlying/std::to_underlying/g' \
  ${files_using_header}
../tools/add_header.py --header '<utility>' ${files_using_header}
files_including_header="$(git grep -l base/types/cxx23_to_underlying.h | tr '\n' ' ')"
../tools/add_header.py --header '"base/types/cxx23_to_underlying.h"' \
  --remove ${files_including_header}
git cl format
```

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/2a2bf2f67290880f6d15f514309f0739bfda0add

commit 2a2bf2f67290880f6d15f514309f0739bfda0add
Author: Victor Hugo Vianna Silva <victorvianna@google.com>
Date:   Mon Dec 22 09:27:38 2025 -0800

    Migrate usages of base::to_underlying in //ash

    ```
    files_using_header="$(git grep -l base::to_underlying | tr '\n' ' ')"
    sed -i 's/base::to_underlying/std::to_underlying/g' \
      ${files_using_header}
    tools/add_header.py --header '<utility>' ${files_using_header}
    files_including_header="$(git grep -l base/types/cxx23_to_underlying.h | tr '\n' ' ')"
    tools/add_header.py --header '"base/types/cxx23_to_underlying.h"' \
      --remove ${files_including_header}
    git cl format
    ```

    Then some manual fixes.

    Bug: 470039537
    Change-Id: I4c8f291f2edaca23a7ea57dab278662299d5d9b8
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7278357
    Reviewed-by: James Cook <jamescook@chromium.org>
    Commit-Queue: Victor Vianna <victorvianna@google.com>
    Cr-Commit-Position: refs/heads/main@{#1561830}
2026-01-29 13:40:51 -05:00
Claudio DeSouza ad809ad7d3 [cr145] GlicTabSubMenuModel non-glic fix landed
This fix had been submitted upstream to correct this build failure, and
the patch can now be dropped.

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

commit e11a1e7affeec1f96e287db9a403809e68b54305
Author: Claudio DeSouza <cdesouza@chromium.org>
Date:   Tue Dec 23 09:46:22 2025 -0800

    [GlicMI] Remove `GlicTabSubMenuModel` from non-glic builds

    This change guards the newly introduced sources behind
    `enable_glic=true`.

    Bug: 469768350
    Change-Id: Ib964366132c1853016d5f8443d6203d22018582f
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7309288
    Commit-Queue: Claudio DeSouza <cdesouza@chromium.org>
    Reviewed-by: Darryl James <dljames@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1562225}
2026-01-29 13:40:51 -05:00
Claudio DeSouza d2f1e0d16a [cr145] Dropping all references to TrackingProtectionSettings
Upstream is about to delete this class from the code. This change
corrects the various place where the instance used to be passed in.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/98049c0970ad482e3abc2ca7f5240c1ad15d5a53

commit 98049c0970ad482e3abc2ca7f5240c1ad15d5a53
Author: Fiona Macintosh <fmacintosh@google.com>
Date:   Mon Dec 22 07:36:16 2025 -0800

    Remove TrackingProtectionSettings references outside of PS directory

    This enables the deletion of TrackingProtectionSettingsFactory. Deletion
    of the TrackingProtectionSettings class and prefs file will be in a
    follow-up CL.

    Bug: b:462419925
    Change-Id: If1ee80e79c5ec2d043f141f2328fe2a0da3ed8f2
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7275851
    Commit-Queue: Fiona Macintosh <fmacintosh@google.com>
    Reviewed-by: Christian Dullweber <dullweber@chromium.org>
    Reviewed-by: Alex Ilin <alexilin@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1561795}
2026-01-29 13:40:51 -05:00
Claudio DeSouza 51c76e97e3 [cr145] Fixing ExtensionMenuItemView overrides
There have been several changes to `ExtensionMenuItemView`, but they
affect mostly how the ctor is being called, and how the override in
place is written, for our particular usecase.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/1cef5c89d45b9007798c27d3f8eea65e4967f677

commit 1cef5c89d45b9007798c27d3f8eea65e4967f677
Author: EmiliaPaz <emiliapaz@chromium.org>
Date:   Sun Dec 21 17:34:22 2025 -0800

    [Extensions] Move ExtensionActionViewModel ownership to ExtensionsMenuViewModel

    This CL refactors the ownership model of the Extensions Menu to better
    align with the MVC architecture. Previously, ExtensionMenuItemView (the
    View) owned the ExtensionActionViewModel, making the View responsible for business logic lifecycle and preventing the Model from acting as the single source of truth.

    This change moves the ownership of ExtensionActionViewModel from
    ExtensionMenuItemView to ExtensionsMenuViewModel.

    Key changes:
    (1) Model Ownership: ExtensionsMenuViewModel now maintains a
    vector<unique_ptr<ExtensionActionViewModel>>. It is responsible for
    populating, sorting (alphabetically), and managing the lifecycle of
    these models.

    (2) Delegate Factory: Introduces ExtensionsMenuViewModel::Delegate to
    abstract the creation of platform-specific ViewModels.
    ExtensionsMenuDelegateDesktop implements this to create models backed by
    Views, while the Model remains platform-agnostic.

    (3) View Updates: The Model now calculates insertion/removal indices and
    notifies the Delegate. This allows the View to update in O(1) time
    without needing to look up items by ID or re-sort the UI manually.

    (4) ExtensionMenuItemView: Updated to support a non-owning raw_ptr
    constructor. During the migration (under kExtensionsMenuAccessControl),
    it temporarily supports both ownership models.

    This means the menu model will be able to access the action model for
    information, instead of having to receive it from the View or having
    to compute it given an extension id.

    Bug: 449814184
    Change-Id: Ica3d4f91f9d685f0445f097d544a0c50a9c29da6
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7265742
    Reviewed-by: Shuhei Takahashi <nya@chromium.org>
    Commit-Queue: Emilia Paz <emiliapaz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1561676}
2026-01-29 13:40:50 -05:00
Claudio DeSouza db1fa9f78d [cr145] SetActOnWebForTesting renamed
This function is now named `set_act_on_web_for_testing`.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/1508df194a32cc26d034590731b3247184f26803

commit 1508df194a32cc26d034590731b3247184f26803
Author: William Liu <liuwilliam@chromium.org>
Date:   Mon Dec 22 14:00:32 2025 -0800

    Fix CamelCase/snake_case on ActorPolicyChecker

    Bug: 448383875
    Change-Id: Iaaf445b2575985ac708ba52bad3788061078e61c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7302705
    Commit-Queue: William Liu <liuwilliam@chromium.org>
    Reviewed-by: Sophie Chang <sophiechang@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1561975}
2026-01-29 13:40:50 -05:00
Claudio DeSouza 0b586b3beb [cr145] Fix GlicTabSubMenuModel glic inclusion
This class should have not been included. This change adds a patch for a
CL that has been submitted correcting this issue.

Fix: https://crrev.com/c/7309288

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/73ea1fa74a50d59bc9ded6164c3bdf0836fb8dfa

commit 73ea1fa74a50d59bc9ded6164c3bdf0836fb8dfa
Author: Sana Akbani <sanaakbani@google.com>
Date:   Fri Dec 19 10:20:20 2025 -0800

    Reland "[GlicMI] Create initial GlicTabSubMenuModel for sharing tabs
    with Glic through the Tab Context Menu."

    This is a reland of commit da0386834b437c054c3f9d4984383896b2e541a3
    which fixes the GlicTabSubMenuModelTest breaking on Windows. The FRE
    pref was originally set for ChromeOS, but the BUILDFLAG is now removed
    so that it is manually set for all platforms. This should allow the test
    to pass on Windows.

    Original change's description:
    > [GlicMI] Create initial GlicTabSubMenuModel for sharing tabs
    > with Glic through the Tab Context Menu.
    >
    > This includes one string, "Start new Chat with Gemini", which currently
    > does nothing when clicked, but implementation will be added in a follow
    > up.
    >
    > Mocks are located inside the bug.
    >
    > Bug: 469768350
    > Change-Id: I1801a302872357525b9c0dcc24eeb153e0af031d
    > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7268663
    > Reviewed-by: Darryl James <dljames@chromium.org>
    > Commit-Queue: Sana Akbani <sanaakbani@google.com>
    > Cr-Commit-Position: refs/heads/main@{#1560327}

    Bug: 469768350
    Change-Id: I1530a36e846245c4a495d38187893fc799d7dafc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7275269
    Commit-Queue: Sana Akbani <sanaakbani@google.com>
    Reviewed-by: Darryl James <dljames@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1561231}
2026-01-29 13:40:50 -05:00
Claudio DeSouza 22b5d46193 [cr145] SidePanelWebUIViewT changed web_contents() access
Access to `web_contents()` was done before through a field, namely,
`contents_wrapper_`. This field has now been dropped, and a
`web_contents()` accessor is available now.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/5606fc836948a2716ac555557e77416dfcd82421

commit 5606fc836948a2716ac555557e77416dfcd82421
Author: yuyisi <hellofroser@gmail.com>
Date:   Sun Dec 21 16:26:01 2025 -0800

    FIXUP: A `raw_ptr` can be removed from `SidePanelWebUIView`

    Since the `SidePanelWebUIView` itself can retrieve the `WebContents`
    instance via `web_contents()`, we do not need to store it using a
    separate raw pointer.

    Fixed: 470115259
    Change-Id: I76b12292771f3e1f15a8f5c71e08152ec350588e
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7274662
    Reviewed-by: Avi Drissman <avi@chromium.org>
    Commit-Queue: YISI YU <hellofroser@gmail.com>
    Reviewed-by: Tom Lukaszewicz <tluk@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1561667}
2026-01-29 13:40:50 -05:00
Claudio DeSouza 2d1544d45f [cr145] Upgrading Apple toolchain to 26.2
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8c7a5f33a2529e3b1c74f03f03018b9ed8e2bc59

commit 8c7a5f33a2529e3b1c74f03f03018b9ed8e2bc59
Author: Mark Mentovai <mark@chromium.org>
Date:   Mon Dec 15 08:49:17 2025 -0800

    mac: Switch to Xcode 26.2 17C52 (2025-12-12) and SDK 26.2 25C57

    Change-Id: I6cd9ebbf21ff69c4bad8ece5df44a3cb6b5b5bb2
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7261578
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Mark Mentovai <mark@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1558763}
2026-01-29 13:40:49 -05:00
Claudio DeSouza e3d18e4f23 [cr145] Use CopyFromSurfaceResult callback
Upstream has migrated several places from
`viz::CopyOutputBitmapWithMetadata` to this new callback. This has also
affected the rewards code, where `Bitmap` was being passed as a const
ref, but now ends up being passed by value.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/2fad3cf2b5d23a859c16cbc5a7b7273614fbd766

commit 2fad3cf2b5d23a859c16cbc5a7b7273614fbd766
Author: Tianyang Xu <xtlsheep@google.com>
Date:   Fri Dec 19 09:30:13 2025 -0800

    Add better error support for CopyFromSurface method

    To better support error handling in CopyFromSurface, changed expecting
    type of callback from
    `const viz::CopyOutputBitmapWithMetadata&`
    to
    `const base::expected<viz::CopyOutputBitmapWithMetadata, std::string>&`

    This CL is very similar to `Add wrapper struct for CopyFromSurface
    output` https://crrev.com/c/7003989

    Bug: 447589565
    Change-Id: I684ab9ae721b681ede7acf87387b18120a2331ed
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7229082
    Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
    Reviewed-by: thefrog <thefrog@chromium.org>
    Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
    Reviewed-by: David Bokan <bokan@chromium.org>
    Reviewed-by: Nihar Majmudar <niharm@google.com>
    Commit-Queue: Tianyang Xu <xtlsheep@google.com>
    Cr-Commit-Position: refs/heads/main@{#1561205}
2026-01-29 13:40:49 -05:00
Claudio DeSouza 38c8f86d78 [cr145] prefs::kCloudPrintProxyEnabled deprecated
This pref is now deprecated and about to be deleted with the feature it
was guarding. This change removes the override for this pref, as it is
not public anymore, and the pref is set for removal.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8dd15b8605b8f346b84304dbe2342c3333d3c540

commit 8dd15b8605b8f346b84304dbe2342c3333d3c540
Author: Damian Rogowski <drogo@google.com>
Date:   Fri Dec 19 03:00:49 2025 -0800

    Remove the support for CloudPrintProxyEnabled policy

    This change removes the support for CloudPrintProxyEnabled policy, as
    the Cloud Print feature is now deprecated.

    The following changes are included:

    - The CloudPrintProxyEnabled policy definition has been marked
    as deprecated and its references cleaned up.
    - The corresponding policy-to-preference mapping test has been deleted from CloudPrintProxyEnabled.json.
    - A number of preferences related to Cloud Print have been deleted
    from pref_names.h.
    - kCloudPrintProxyEnabled and kCloudPrintEmail prefs have been set
    to be cleared.
    - The traffic annotation test cases in
    tools/traffic_annotation/scripts/test_data/extractor_outputs/
    good_branched_completing_annotation.txt and
    tools/traffic_annotation/scripts/test_data/extractor_outputs/
    good_completing_annotation.txt, which used the CloudPrintProxyEnabled
    policy and a non-existent file
    chrome/service/cloud_print/cloud_print_url_fetcher.cc, have been
    deleted.

    BUG=40268453
    Change-Id: I9d1e1443b968db986cb22c3c3a906a3d555821ba

    Change-Id: I9d1e1443b968db986cb22c3c3a906a3d555821ba
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7275885
    Reviewed-by: Nicolas Ouellet-Payeur <nicolaso@chromium.org>
    Reviewed-by: Igor Ruvinov <igorruvinov@chromium.org>
    Reviewed-by: Owen Min <zmin@chromium.org>
    Reviewed-by: Lei Zhang <thestig@chromium.org>
    Commit-Queue: Damian Rogowski <drogo@google.com>
    Cr-Commit-Position: refs/heads/main@{#1561054}
2026-01-29 13:40:49 -05:00
Claudio DeSouza 119e178498 [cr145] ExtensionsMenuViewPlatformDelegateViews renamed
This change affects an override/patch for this type, which had to be
moved around.

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

commit f0679a28a42d1e167fde8f56c32463ddc89d8035
Author: EmiliaPaz <emiliapaz@chromium.org>
Date:   Thu Dec 18 19:49:12 2025 -0800

    [Extensions] Change EMViewPlatformDelegateViews to EMDelegateDesktop

    Per offline discussion:
     - drop ViewPlatform, since it doesn't add important information to
       the class
     - change Views to Desktop, since Views is too close to View
       potentially causing confusion

    Bug: 449814184
    Bypass-Check-License: renamed file
    Change-Id: I64be104579d89b4484c3aa23d01f9df212882861
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7264763
    Reviewed-by: Masa Fujita <massan@google.com>
    Commit-Queue: Masa Fujita <massan@google.com>
    Auto-Submit: Emilia Paz <emiliapaz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1560987}
2026-01-29 13:40:48 -05:00
Max Karolinskiy d38656d7bd [cr145] Exclude ffmpeg from unsafe buffer check.
Upstream already excludes most of //third_party, but because of how
ffmpeg generates includes the search path ends up going via
../../brave/chromium_src/../../third_party/ffmpeg.

Error:

In file included from ../../third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c:2:
In file included from ../../brave/chromium_src/../../third_party/ffmpeg/libavformat/aacdec.c:26:
../../brave/chromium_src/../../third_party/ffmpeg/libavformat/avio_internal.h(126,31): error: unsafe buffer access [-Werror,-Wunsafe-buffer-usage]
  126 |     avio_wl32(pb, MKTAG(s[0], s[1], s[2], s[3]));
      |                               ^
../../brave/chromium_src/../../third_party/ffmpeg/libavformat/avio_internal.h(126,31): note: See //docs/unsafe_buffers.md for help.

Also, alphabetized our entries in the patch.
2026-01-29 13:40:48 -05:00
Max Karolinskiy a647920631 [cr145] Contextrual search service factory gn target modev.
Chromium change:

https://source.chromium.org/chromium/chromium/src/+/9a3f20f017c15681e9e3395a079fd57aa1170484

commit 9a3f20f017c15681e9e3395a079fd57aa1170484
Author: Juan Mojica <juanmojica@google.com>
Date:   Mon Nov 24 02:22:10 2025 -0800

    [contextual-search] Move ContextualSearchServiceFactory to contextual_search target.

    The existing "web_contents_helper" target is renamed to
    "contextual_search" and now includes both the service factory and the
    web contents helper. Dependencies on the old target are updated
    accordingly
2026-01-29 13:40:48 -05:00
Max Karolinskiy d0b6e8276e [cr145] Feed feature list was componentized.
Chromium change:

https://chromium.googlesource.com/chromium/src/+/80a6607029d8d

commit 80a6607029d8d3ad8b2a716d7f09016d2c09fefc
Author: Eriko Kurimoto <elkurin@google.com>
Date:   Tue Nov 19 05:36:56 2024 +0000

    feed: Build //components/feed:feature_list as component

    This CL corrects the build rules inside //components/feed:feature_list
    as it's depended by components.

    This is required fix for the reland of crrev.com/c/5975253.

    Bug: 373908090, b:367479298
2026-01-29 13:40:47 -05:00
Claudio DeSouza 417ae56ef4 [cr145] Use ClientCacheKey
The code around `PredictionManager` is now using `ClientCacheKey`,
rather than `proto::ModelCacheKey`.

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

commit fcc7601b4f59068aaff6a0ea103fc69bfbe94329
Author: Steven Holte <holte@google.com>
Date:   Thu Dec 18 16:47:00 2025 -0800

    Add a ClientCacheKey type

    This adds for client cache keys, to help distinguish from server keys, which
    are not interchangable.

    As a nice side-effect, this allows storing the hash, so we only need to
    compute it once per startup.

    Change-Id: I3bb7cbea44614272f48e41ef6055886d6a6a6964
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7274296
    Commit-Queue: Steven Holte <holte@chromium.org>
    Reviewed-by: Zekun Jiang <zekunjiang@google.com>
    Auto-Submit: Steven Holte <holte@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1560927}
2026-01-29 13:40:47 -05:00
Claudio DeSouza 0f82c17c07 [cr145] CookieBlocking3pcdStatus deleted
The use of this status everywhere has been dropped from Chromium.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/45619a47cea5e2b373bfc46826552c7a6e925b90

commit 45619a47cea5e2b373bfc46826552c7a6e925b90
Author: Fiona Macintosh <fmacintosh@google.com>
Date:   Thu Dec 18 12:25:20 2025 -0800

    Clean up CookieBlocking3pcdStatus

    Bug: b:382043551
    Change-Id: I924186151afccc3511731f90d07e2bd9e9d71fe0
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7268426
    Reviewed-by: Christian Dullweber <dullweber@chromium.org>
    Commit-Queue: Fiona Macintosh <fmacintosh@google.com>
    Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1560755}
2026-01-29 13:40:47 -05:00
Artem Samoilenko a28cccf90b [cr145][Android] New method variation for SettingsIntentUtil.createIntent
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/17d86894d67e5807756d5e437d813cc13e5ee630

commit 17d86894d67e5807756d5e437d813cc13e5ee630
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date:   Wed Dec 17 13:18:21 2025 -0800

    [Settings Search] Let Sync pref open from search results

    Sync preference in main settings either opens a fragment via
    SettingsNavigation or displays a toast if it is disabled by
    administration policy. This CL makes it work in the same way when
    opened from search results.

    For this to work, SettingsNavigation#startSettings is given an extra
    parameter (EXTRA_FRAGMENT_TAG) which is given to a fragment transition
    from search to result state. This allows the fragment opened via
    SettingsNavigation to behave as expected for back action/tap on title.

    Bug: 469676538
    Change-Id: Ic84cac90a195bbfebf6734727b3367b8aeec52a5
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7268507
    Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
    Reviewed-by: Moe Adel <adelm@google.com>
    Cr-Commit-Position: refs/heads/main@{#1560153}
2026-01-29 13:40:46 -05:00
Artem Samoilenko 60aa8a7785 [cr145][Android] Changes for moving wipeSyncUserData logic to native
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/5af9bb70f51054a15950e9b252890a7cb7132d00

commit 5af9bb70f51054a15950e9b252890a7cb7132d00
Author: quacksort <quacksort@google.com>
Date:   Thu Dec 18 02:26:06 2025 -0800

    [Signin][Android] Move wipeSyncUserData logic to native

    This CL moves the implementation of wipeSyncUserData from Java to C++ in
    SigninManagerAndroid, for consistency with wipeGoogleServiceWorkerCaches
    and wipeProfileData.

    Bug: 40831634
    Change-Id: I0911af673e2cc8091cab8ba74db07448df46a1d5
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7252681
    Reviewed-by: Boris Sazonov <bsazonov@chromium.org>
    Commit-Queue: Lucia Giorgi <quacksort@google.com>
    Cr-Commit-Position: refs/heads/main@{#1560421}
2026-01-29 13:40:46 -05:00
Artem Samoilenko 18eeaa74fa [cr145][Android] Changes for the user modified navigation
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8a572f986d8d90fe1befaa2792dabff71410b4db

commit 8a572f986d8d90fe1befaa2792dabff71410b4db
Author: Abdelrahman Eed <abdoeed@google.com>
Date:   Tue Dec 16 11:20:41 2025 -0800

    [Clank Navigation] Add support for user-modified (Shift-Click)

    This CL adds support for the user modified navigation (Shift + Left
    click) to launch a new browser window or an app if one is present
    depending on the navigation source, for desktop devices.

    Changes (only affecting desktop Android devices, or if we are on desktop
    windowing):
    - Launch a new chrome window if navigating from the chrome browser
    - Launch an app to handle the navigation if navigating from a CCT

    NO_IFTTT=the check is not working properly, I added the changes needed

    Change-Id: I480eb5b648c7da281a83e592fec2b45d52a89631
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6662663
    Commit-Queue: Abdelrahman Eed <abdoeed@google.com>
    Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
    Auto-Submit: Abdelrahman Eed <abdoeed@google.com>
    Commit-Queue: Michael Thiessen <mthiesse@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1559473}
2026-01-29 13:40:46 -05:00
Artem Samoilenko c566e81d62 [cr145][Android] Remove deprecated FirstRunFragment.onNativeInitialized
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/6ba08476e9338abfe074dbf92fb2ac01c9583bf3

commit 6ba08476e9338abfe074dbf92fb2ac01c9583bf3
Author: Boris Sazonov <bsazonov@chromium.org>
Date:   Wed Dec 17 07:13:35 2025 -0800

    [Android] Remove deprecated FirstRunFragment.onNativeInitialized

    No longer needed.

    Fixed: 40232440
    Change-Id: I147403115e8b928e8088ea437dbefa8d444da636
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7262576
    Commit-Queue: Tanmoy Mollik <triploblastic@google.com>
    Auto-Submit: Boris Sazonov <bsazonov@chromium.org>
    Reviewed-by: Tanmoy Mollik <triploblastic@google.com>
    Cr-Commit-Position: refs/heads/main@{#1559945}
2026-01-29 13:40:45 -05:00
Max Karolinskiy 936f7e0258 [cr145] Avoid NOTREACHED in UMA GetPermissionStringForUma. 2026-01-29 13:40:45 -05:00