Commit Graph
74321 Commits
Author SHA1 Message Date
AlexeyBarabash e1e081c80f [cr144][Android] Adjusted pin tab icon color on NTP
Forced the color of pin icon at most visited strip to white color.

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/4aa1ff3579960b0946ab8707528e9b3299a929bd

	[MVT Customization][Launch] Enable MostVisitedTilesCustomization (ToT by default).

	This CL enables MVT Customization by default on Android:
	* kMostVisitedTilesCustomization: Disabled -> Enabled.

	This corresponds to the flag #most-visited-tiles-customization, which
	was added in crrev.com/c/6199259 .

	We will apply Finch 100% everywhere after this CL lands.

	Bug: 388782412
	Change-Id: Ib04f110b0fa7e6366264cbb071815c69033d1fc7
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7169644
2025-12-21 17:13:19 -05:00
Simon Hong 471cc343d5 Migrated BraveTabContextMenuContents to TabContextMenuController part 4
This change completes the migration by:
- Creating brave/browser/ui/tabs:browser_tests target
- Moving brave_tab_context_menu_contents_browsertest.cc from
  browser/ui/views/tabs/ to browser/ui/tabs/ and renaming it to
  brave_tab_menu_browsertest.cc
- Renaming test class from BraveTabContextMenuContentsTest to
  BraveTabMenuBrowserTest
- Updating brave/test:browser_tests to depend on the new target

This reorganizes the test to match the logical location of the tab
menu functionality being tested.
2025-12-21 17:13:19 -05:00
Simon Hong cb4508c60a Migrated BraveTabContextMenuContents to TabContextMenuController part 3
This commit completes the migration from BraveTabContextMenuContents to
Chromium's TabContextMenuController pattern by introducing
BraveTabMenuModelFactory for Brave-specific menu models.
2025-12-21 17:13:18 -05:00
Simon Hong 5f95523936 Migrated BraveTabContextMenuContents to TabContextMenuController part 2
Created BraveBrowserTabMenuModelDelegate that extends
chrome::BrowserTabMenuModelDelegate to provide Brave-specific
functionality for tab context menus.

BraveBrowserTabMenuModelDelegates implements
  * ShouldShowVerticalTab() - checks vertical tabs state
  * GetContainersMenuModelDelegate() - returns container menu delegate
  * ContainersMenuModelDelegate interface (when ENABLE_CONTAINERS):
    - OnContainerSelected()
    - GetCurrentContainerIds()
    - GetBrowserToOpenSettings()
    - GetScaleFactor()
With this change, BraveTabContextMenuContents will be deprecated easily.

ContainerMenuModel::Delegate becomes ContainerMenuModel for fwd-declare
in tab_menu_model_delegate.h. It was difficult to fwd-declare the nested
class.
2025-12-21 17:13:18 -05:00
Simon Hong 87a83c2c84 Migrated BraveTabContextMenuContents to TabContextMenuController part 1
Move context menu command handling logic from BraveTabContextMenuContents
to BraveBrowserTabStripController.
This is the first step in deprecating BraveTabContextMenuContents
and aligning with Chromium's TabContextMenuController.

Changes:
- Add GetAllTabsMuted() method to BraveTabStripModel to centralize muted tabs
  logic and eliminate duplication
- Implement TabContextMenuController interface methods in
  BraveBrowserTabStripController:
  * ExecuteContextMenuCommand() - handles all Brave-specific commands
  * IsContextMenuCommandChecked() - checks vertical tabs state
  * IsContextMenuCommandEnabled() - validates command availability
- Remove BraveTabContextMenuCommand enum, use TabStripModel::Command* directly
- Simplify BraveTabContextMenuContents by removing command handling logic
- Update BraveTabMenuModel to use GetAllTabsMuted() instead of duplicated logic

Chromium change:

https://chromium-review.googlesource.com/c/chromium/src/+/7170762

    [Vertical Tabs] Creating TabContextMenuHelper

    In order for vertical tabs to reuse some of the tab context menu logic,
    we will move the existing TabContextMenuContents out of
    BrowserTabStripController. This lets us create a new class called
    TabContextMenuController which abstracts the functionality.
2025-12-21 17:13:17 -05:00
Sangwoo Ko b7d17b6dff [cr144] Fix sidebar crash due to accessing invalid margins
We should check if the margins property is valid before accessing it to
prevent crashes.
2025-12-21 17:13:17 -05:00
Max Karolinskiy 3bed74eee7 [cr144] Disables kTabbedBrowserUseNewLayout and related features.
These features are now turned on by default upstream and they cause
BrowserViewLayout::CreateLayout to create BrowserViewTabbedLayoutImpl
layout which we don't override yet and our BraveBrowserViewLayout
doesn't get created, but because of overrides elsewhere this causes
crashes in layout.

Chromium change:

https://chromium.googlesource.com/chromium/src/+/838d53b6116eea2fe8c3925706c935ed4c215ae6

commit 838d53b6116eea2fe8c3925706c935ed4c215ae6
Author: Dana Fried <dfried@chromium.org>
Date:   Tue Nov 25 14:10:38 2025 -0800

    Reland "[Chrome Next] Enable new layout with THSB support by default"

    This reverts commit 7f022b6ba56e1d6db06ea7db3cb877db8db99645.

    Reason for revert: Disable test that was flaking on Mac (see attached bug for further details).

    Also fixes an incorrect calculation that could cause a test to fail on Linux depending on how Widgets are rendered on a particular bot.

    Original change's description:
    > Revert "[Chrome Next] Enable new layout with THSB support by default"
    >
    > This reverts commit 76dd43c1e46b85047fe11d0b48d1df7cd9103365.
    >
    > Reason for revert: Suspected to cause
    > HelpBubbleFactoryWebUIInteractiveUiTest.* failures
    > https://ci.chromium.org/ui/p/chrome/builders/ci/mac-rel-ready/40022/overview
    >
    > Original change's description:
    > > [Chrome Next] Enable new layout with THSB support by default
    > >
    > > This turns on the new layout for tabbed browsers that enables
    > > Toolbar Height Side Panel by default.
    > >
    > > The flag is still configurable via chrome://flags, and can be used as
    > > an emergency killswitch if something goes terribly wrong.
    > >
    > > Bug: 453717426
    > > Change-Id: Ib2e5cb469444efe50c5fd2a3d4650e22a102f0f2
    > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7185002
    > > Commit-Queue: Dana Fried <dfried@chromium.org>
    > > Auto-Submit: Dana Fried <dfried@chromium.org>
    > > Reviewed-by: Eshwar Stalin <estalin@chromium.org>
    > > Cr-Commit-Position: refs/heads/main@{#1549207}
    >
    > Bug: 453717426
2025-12-21 17:13:16 -05:00
AlexeyBarabash 9f5bcb8247 [cr144][Android] Fixed some PasswordSettingsSearchTest tests
testSearchDisplaysNoResultMessageIfSearchTurnsUpEmpty and
testSearchIconVisibleInActionBar were broken

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/ff516594a0fd7f3ecc7ac87ee64592a8aa74bac0

	[Android][Settings] Show title breadcrumb in detail pane for search

	Displays the title breadcrumb view at the top of the content pane,
	beneath the search bar UI. The view remains sticky and not scrolled
	together with the rest of the detail pane. Introduces a new layout
	xml that defines the title and the fragment container for this.

	The title breadcrumb skips displaying the titles of the settings
	prior to search once the search is on.

	Bug: 462459895
	Change-Id: I202acdbe3bb38f054a1982712a66509456fdb2d1
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7180880
2025-12-21 17:13:16 -05:00
Max Karolinskiy c1a027e62c [cr144] Use UNSAFE_TODO for chromium_src override.
The upstream code we override uses UNSAFE_TODO, so we'll match for now.

In file included from ../../brave/chromium_src/chrome/installer/util/shell_util.cc:72:
../..\chrome/installer/util/shell_util.cc(484,5): error: unsafe buffer access [-Werror,-Wunsafe-buffer-usage]
  484 |     BRAVE_GET_SHELL_INTEGRATION_ENTRIES
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../brave/chromium_src/chrome/installer/util/shell_util.cc(59,33): note: expanded from macro 'BRAVE_GET_SHELL_INTEGRATION_ENTRIES'
   59 |   const std::wstring file_ext = ShellUtil::kPotentialFileAssociations[i]; \
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../..\chrome/installer/util/shell_util.cc(484,5): note: See //docs/unsafe_buffers.md for help.
../../brave/chromium_src/chrome/installer/util/shell_util.cc(59,33): note: expanded from macro 'BRAVE_GET_SHELL_INTEGRATION_ENTRIES'
   59 |   const std::wstring file_ext = ShellUtil::kPotentialFileAssociations[i]; \
      |                                 ^
1 error generated.

Chromium change:

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

commit ce967e366f66cb46d2c8b8219fa2972ed9d64762
Author: Arthur Sonzogni <arthursonzogni@chromium.org>
Date:   Thu Nov 20 04:35:05 2025 -0800

    Convert to UNSAFE_TODO in chrome

    This is an automated #cleanup patch using the [Script] below.

    We are migrating from coarse-grained file-level suppression (#pragma
    allow_unsafe_buffers) to granular, expression-level markers
    (UNSAFE_TODO()). The pragma disables safety checks for an entire file,
    whereas UNSAFE_TODO() isolates specific potentially unsafe operations,
    allowing the rest of the file to be enforced as safe.

    This CL was uploaded by an experimental version of git cl split
    (https://crbug.com/389069356).

    Script: https://docs.google.com/document/d/1ORQGBNn2R-CEvNbDTjRd-GrOBOFlCxIHdcvSUA_EhR4/edit?usp=sharing
    AX-Relnotes: N/A
    Cleanup: This is an automated #cleanup.
    Bug: 409340989
2025-12-21 17:13:15 -05:00
Emerick Rogul 7cbb3b9f98 [cr144] Update Lit mangler snapshots 2025-12-21 17:13:15 -05:00
AlexeyBarabash 785fb7461c [cr144][Android] Removed MonochromePublic targets
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/53d2c26ab7847426c87cc2a2aaf31b8e31bb2c14

	android: Remove MonochromePublic targets

	Removes MonochromePublic APK and Bundle targets, including smoke tests
	and aliases.

	Updates libmonochrome_tmpl to use ChromePublic targets for JNI
	generation and updates VR benchmark dependencies.

	Bug: 427481836
	Change-Id: Ibba0e8f9035975fc906af4fc469c64e9775b6da0
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7207874
2025-12-21 17:13:14 -05:00
AlexeyBarabash 8106226edd [cr144][Android] Removed kClearBrowsingDataAndroidSurvey flag
It was disabled by default, so safe to remove

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/a0f24061befa70f63a562d2fb2a461731165aa5e

	[QuickDelete] Clean up QD and CBD HaTs surveys

	This cleans up the HaTs survey related code in QD/CBD since the
	experiment is complete and code is no longer in use.

	Fixed: 394329573
	Change-Id: I137afbf0bf842a371537aeae68321ee4716d0f9c
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7151302
2025-12-21 17:13:14 -05:00
AlexeyBarabash efe73fd4ab [cr144][Android] Changes at LocationBarCoordinator.ctor and ToolbarManager.ctor
LocationBarCoordinator.ctor: new args snackbarManager and bottomContainerView.
ToolbarManager.ctor: new arg snackbarManager.

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/acbe9c1ab6bb22f468c362361044f3003c693d42

	Show snackbar when max # of attachments is exceeded

	Bug: TBD
	Change-Id: Ia922dc8b33ecf177231e16922d8e7af894785abe
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7205509
2025-12-21 17:13:13 -05:00
Emerick Rogul dc7a9088e8 [cr144] Add support for New Split Tab command
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/e59bbd8c5b4ef8865a4864695037a524bf82daa4

commit e59bbd8c5b4ef8865a4864695037a524bf82daa4
Author: Alison Gale <agale@chromium.org>
Date:   Tue Nov 18 21:36:04 2025 -0800

    [SxS] Enable Split View on ToT for W/M/L

    - Preparing for 100% launch of split view
    - Update all params to match the launch
    - Split field trial config so it can be removed for W/M/L

    Hold off on submitting until we are ready to go to 100%

    Change-Id: Icb6e803a3a841ae4e7326bc280e91963d14c4e41
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7152782
    Reviewed-by: Dana Fried <dfried@chromium.org>
    Commit-Queue: Eshwar Stalin <estalin@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1546970}
2025-12-21 17:13:13 -05:00
Claudio DeSouza 34400333f5 [cr144] Fix for MockPermissionPromptDelegate abstract failure
This class has to implement `GetInitialGeolocationAccuracySelection`.

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

commit f7a9256d75a2ef0375810e044f6857175538d5ab
Author: Antonio Sartori <antoniosartori@chromium.org>
Date:   Fri Nov 28 01:06:13 2025 -0800

    [permissions] Enhance permission AI to preselect geolocation accuracy

    This CL enhances the permission UI selection code to also be able to
    preselect the initial geolocation accuracy for precise/approximate
    geolocation prompts. The CL also updates the proto messages of the
    CPSS response to include the predicted geolocation accuracy.

    Bug: 463622663
    Change-Id: Ic2e95e66e748fd3adcdbe9162e60cff9bc99853f
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7207274
    Reviewed-by: Elias Klim <elklm@chromium.org>
    Reviewed-by: Judith Hemp <hempjudith@google.com>
    Commit-Queue: Elias Klim <elklm@chromium.org>
    Auto-Submit: Antonio Sartori <antoniosartori@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1551373}
2025-12-21 17:13:12 -05:00
Claudio DeSouza 3e7acd1f3e [cr144] GetAIPageContent callback arg changed
This function now uses an alias for an expected type.

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

commit b4ed72c576839a0b9641f3bf5dd1f885583d6320
Author: David Bokan <bokan@chromium.org>
Date:   Fri Nov 28 08:07:22 2025 -0800

    Actor: Plumb error reason out of GetAIPageContent

    And use it for error reporting in the actor journal

    Bug: b:462190108,b:461781653
    Change-Id: I40ad5d5fa4fecfd6d92e941bd1a838833a6e2ab7
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7205610
    Reviewed-by: Dana Fried <dfried@chromium.org>
    Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
    Reviewed-by: Bruno Braga <brunobraga@google.com>
    Owners-Override: Dave Tapuska <dtapuska@chromium.org>
    Commit-Queue: David Bokan <bokan@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1551563}
2025-12-21 17:13:12 -05:00
Claudio DeSouza f9b00ec709 [cr144] ActorTask abandoned as callback arg
This is a simple change of simply how the values are being passed into
the callback.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/44c6cb668590da4f80470c41d3439fe1513c3b88

commit 44c6cb668590da4f80470c41d3439fe1513c3b88
Author: David Bokan <bokan@chromium.org>
Date:   Mon Dec 1 13:21:41 2025 -0800

    Actor: Ensure act callback is always fired before state change

    In the Glic API, when a performActions call is in progress and the task
    is either stopped or paused, the in-progress action is canceled.
    However, the Glic API doesn't guarantee the order in which the client
    will see performActions resolve and getActorTaskState observer to
    change.

    By accident(?), it seems the current order is that the task state change
    is signalled first, then the performActions promise resolved. It would
    be better to swap these so that all actions are contained with in the
    state they're meant for. i.e. the client might wait for the task stopped
    state before starting a new task. If performActions is resolved once the
    new task is started that could confuse the client.

    This CL makes it so that pausing or stopping a task immediately invokes
    the reply callback, without waiting for the ExecutionEngine to signal
    completion. This alone is not enough, since the callback is posted but
    the state change callback synchronously sends the mojo API call. Thus,
    we post the state change notification as well.

    Land this disabled-by-default since corresponding changes will need to
    be made in the front end.

    Change-Id: I1cc5fd0526279724158af821f34568c27121ef8d
    Bug: b:461256502
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7205992
    Reviewed-by: Ian Vollick <vollick@chromium.org>
    Commit-Queue: David Bokan <bokan@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1552383}
2025-12-21 17:13:11 -05:00
Claudio DeSouza d2ad1f44c4 [cr144] Cherry-pick of https://crrev.com/c/7203024 landed
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/2abd2e70f57adca9b72f2c4f3e0b6b10131e9a2e

commit 2abd2e70f57adca9b72f2c4f3e0b6b10131e9a2e
Author: Claudio DeSouza <cdesouza@chromium.org>
Date:   Mon Dec 1 09:49:28 2025 -0800

    Correct glic-related features exclusions

    There are several glic features that are not being consistently compiled
    between header and trasnlation unit, causing linking errors. This CL
    corrects these cases.

    Bug: 455788947
    Change-Id: Id97057afc5943d84dacfa8a9ffba94ca494c90ba
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7203024
    Reviewed-by: Slobodan Pejic <slobodan@chromium.org>
    Commit-Queue: Claudio DeSouza <cdesouza@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1552225}
2025-12-21 17:13:11 -05:00
Claudio DeSouza acc86a5d0e [cr144] Glic fix for actor icon manager inclusion not needed
This issue is now fixed in upstream and therefore the local patch can be
dropped.

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

commit 2c639e2c0feaa618f48e156f46c3172a4599fcca
Author: Kene Okoye <kenok@google.com>
Date:   Mon Dec 1 09:02:02 2025 -0800

    Move glic_actor_task_icon_manager.h include into ENABLE_GLIC block

    Change-Id: I8935024bb64f30dc2a877a6c8c6bb95948d5b27c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7211517
    Commit-Queue: Alison Gale <agale@chromium.org>
    Reviewed-by: Alison Gale <agale@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1552196}
2025-12-21 17:13:10 -05:00
AlexeyBarabash cb5f3d9cc6 [cr144][Android] Fixed forward include at permission_dialog_delegate.h
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/ad0c9c90275e13a9b69d4d2f7a2607cd43d5e26c

	[permissions] Refactor bool into enum for GeolocationAccuracy

	This is a pure refactoring, with no functional changes.

	This CL exposes the GeolocationAccuracy c++ enum to java and gets rid
	of the java enum LocationAccuracy. It also refactors the c++/java
	bindings and the GeolocationPromptOptions struct to use the enum
	instead of a boolean.

	Change-Id: I4dc0b362f564466abfff1dd74a12590c9499401e
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7201450
2025-12-21 17:13:10 -05:00
Emerick Rogul 1156b544cc [cr144] Move searchbox/omnibox handler overrides
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/5bcea6e48b9e1f47cec9fbf5287d575e9b456fed

commit 5bcea6e48b9e1f47cec9fbf5287d575e9b456fed
Author: Duncan Mercer <mercerd@google.com>
Date:   Wed Nov 26 10:06:15 2025 -0800

    Move SearchboxHandler to c/b/u/w/cr_components/searchbox/

    Per this comment thread,
    https://chromium-review.googlesource.com/c/chromium/src/+/7139182/comment/d7f16179_ab39e098/,
    to allow the ComposeboxHandler, which is a SearchboxHandler, to have a
    default config for all embedders, the files need to be moved to
    cr_components. This CL is the first step in that process. This CL:
      - Moves searchbox_handler.h/cc to cr_components
      - Moves searchbox_omnibox_client, contextual_search_type_converters, and contextual_searchbox_handler, since those will be needed by ComposeboxHandler
      - Updated references to the new location
      - Fixed build file errors

    Note: Since the current searchbox directory has a circular dependency
    exception, I included the same for the new directory. If not, there are
    10+ includes that are not allowed due to circular dependencies.

    Moving ComposeboxHandler will happen in a separate CL.

    Bug: b:459833598
    Bypass-Check-License: Moved to a different location, not a new file.
    Change-Id: I310b8a3c0caa771e5ec923b0991541f67741117c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7200957
    Reviewed-by: Erik Chen <erikchen@chromium.org>
    Reviewed-by: Will Harris <wfh@chromium.org>
    Commit-Queue: Duncan Mercer <mercerd@google.com>
    Cr-Commit-Position: refs/heads/main@{#1550596}
2025-12-21 17:13:09 -05:00
Claudio DeSouza ce0f2ad6cf [cr144] Fix missing glic prefs with enable_glic=false
This is a patch to the prefs being declared. A patch was also submitted
upstream for this:

https://crrev.com/c/7203024

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/92257b8cdc982553fd1ce2d5717ae514a23a18dd

commit 92257b8cdc982553fd1ce2d5717ae514a23a18dd
Author: Jan Keitel <jkeitel@google.com>
Date:   Fri Nov 21 07:09:17 2025 -0800

    Make ActorFormFillingService timeouts configurable via feature parameters.

    This change replaces the hardcoded GetFillingTimeout and GetMaximumTimeout values in ActorFillingObserver with BASE_FEATURE_PARAMs, allowing these timeouts to be controlled and experimented with via Finch.

    Bug: 460035068
    Change-Id: I4c4c2ba9dd2c6df8eccbf4049db32e18884e70c6
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7185643
    Auto-Submit: Jan Keitel <jkeitel@google.com>
    Commit-Queue: Slobodan Pejic <slobodan@chromium.org>
    Reviewed-by: Slobodan Pejic <slobodan@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1548459}
2025-12-21 17:13:09 -05:00
Claudio DeSouza e099c69d09 [cr144] Fix for unwanted glic inclusion
This is a fix for a glic inclusion where upstream changes failed to
guard the header inclusion. A CL has been submitted upstream for this:

https://crrev.com/c/7212717

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/08f8c83a6f4c1c6f6c51d4a4c40ecb0a63459a22

commit 08f8c83a6f4c1c6f6c51d4a4c40ecb0a63459a22
Author: Kene Okoye <kenok@google.com>
Date:   Wed Nov 26 10:22:17 2025 -0800

    [ActorUi]Split up TaskIconClick UserAction for Task Nudge Redesign

    The Actor Task Nudge is a redesign of the Actor Task Icon which shares
    the same TabStripNudgeButton as the icon.

    Previously, the `Actor.Ui.TaskIcon.Click` UserAction was used for all
    clicks on this button.

    This change splits the metric to distinguish clicks made on the
    redesigned button. Now, the `Actor.Ui.TaskNudge.
    {State}.Click` UserAction is recorded when the Task Nudge is clicked
    (with state corresponding to the current `ActorTaskNudgeState`). Clicks
    on the existing Task Icon continue to log the `Actor.Ui.TaskIcon.Click`
    UserAction

    To support this, `ActorTaskNudgeState` is moved to a common header to
    facilitate access within metrics logging code

    Change-Id: I076704f31e9df0a9c4da3aaa73330ae67b1fab66
    Bug: b:454613329
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7181260
    Auto-Submit: Kene Okoye <kenok@google.com>
    Reviewed-by: Alison Gale <agale@chromium.org>
    Commit-Queue: Alison Gale <agale@chromium.org>
    Reviewed-by: Abe Boujane <boujane@google.com>
    Cr-Commit-Position: refs/heads/main@{#1550615}
2025-12-21 17:13:08 -05:00
Claudio DeSouza 1939d63efb [cr144] Fix for PermissionContextBase::CleanUpRequest stub
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/6a2262fc2c00cc2f6b0bce3588dd44831ef56dca

commit 6a2262fc2c00cc2f6b0bce3588dd44831ef56dca
Author: Thomas Nguyen <tungnh@chromium.org>
Date:   Wed Nov 26 02:18:05 2025 -0800

    [PEPC] Propagate PEPC descriptor on Android and decouple cleanup

    Changes in this CL:
    - First, it ensures that the `embedded_permission_request_descriptor`
    is correctly propagated when handling geolocation permission requests
    on Android. Previously, this data was lost when overriding the
    `PermissionRequestData` in the Android delegate, causing the context
    to lose track of whether the request was PEPC-initiated.
    - Second, it modifies `PermissionContextBase` to decouple the cleaning
    up of PEPC and regular request. PEPC's new cleaning up callback ensures
    the correct order between `MaybeUpdateCachedHasDevicePermission` and
    triggering the decision callback.

    Fixed: 463327697, 461402995
    Change-Id: Ie93099638c149986b2dbef064d9f2014a73444ae
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7198102
    Reviewed-by: Andy Paicu <andypaicu@chromium.org>
    Commit-Queue: Thomas Nguyen <tungnh@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1550369}
2025-12-21 17:13:08 -05:00
Claudio DeSouza 8945821ecc [cr144] TabContextMenuController introduced
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/fc89d1caf10c032d6e15f1e59e9fe1ec0bd7d6cf

commit fc89d1caf10c032d6e15f1e59e9fe1ec0bd7d6cf
Author: Kunal Daftari <kunaldaftari@google.com>
Date:   Wed Nov 26 10:15:36 2025 -0800

    [Vertical Tabs] Creating TabContextMenuHelper

    In order for vertical tabs to reuse some of the tab context menu logic,
    we will move the existing TabContextMenuContents out of
    BrowserTabStripController. This lets us create a new class called
    TabContextMenuController which abstracts the functionality.

    Bug: 462464656
    Change-Id: I1fde57af113e7e7197dddeadcd7f83571d278a48
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7170762
    Reviewed-by: Charles Meng <charlesmeng@chromium.org>
    Reviewed-by: David Pennington <dpenning@chromium.org>
    Commit-Queue: Kunal Daftari <kunaldaftari@google.com>
    Cr-Commit-Position: refs/heads/main@{#1550607}
2025-12-21 17:13:07 -05:00
Claudio DeSouza f07a21d8e3 [cr144] Fixing BraveSidePanel break due to AnimationTypeObserver
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0ef4b1dbd0b7ddc9f35661a8effcc478af229ef2

commit 0ef4b1dbd0b7ddc9f35661a8effcc478af229ef2
Author: Caroline Rising <corising@chromium.org>
Date:   Wed Nov 26 14:43:05 2025 -0800

    Add tab to panel animation for the toolbar height side panel.

    Add a new animtion specification for the new animation type in the
    animation coordinator. BrowserView is passed ownership of the content
    view during the animation and the content view bounds are handled by
    browser view layout. At the end of the animation the content view is
    reparented back the the side panel's ContentParentView.

    Updates the contextual tasks content and glic content (when the flag to
    show glic in the toolbar height side panel is enabled), to paint to a
    layer, this is required for content in the toolbar height side panel so
    we can round the content's corners and show opacity and corner radius
    animations on the content.

    NO_IFTTT= side panel animation content isn't a view that should be
    provided to the BrowserViewLayout when the BrowserViewLayout is created
    as it is not always parented to the browser view.

    Bug: 445453126
    Change-Id: Ib778d8ae19f3b675ac9b4e6b545b6c1b025b1399
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7206026
    Reviewed-by: David Pennington <dpenning@chromium.org>
    Reviewed-by: Eshwar Stalin <estalin@chromium.org>
    Commit-Queue: Caroline Rising <corising@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1550751}
2025-12-21 17:13:07 -05:00
Claudio DeSouza adf2b385f8 [cr144] ActorKeyedService::GetInactiveTasks deleted
This is a simplification of what actually the code was testing for.

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

commit e7192e53d75a6459c14d2d32be4123423b0282eb
Author: Dave Tapuska <dtapuska@chromium.org>
Date:   Wed Nov 26 09:45:30 2025 -0800

    [actor] Remove storage of inactive tasks

    Remove this killswitch.

    Bug: b:457401094
    Change-Id: I13b8dc47bd31a04ea033f281146cc3b9530117b9
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7207687
    Reviewed-by: David Bokan <bokan@chromium.org>
    Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1550586}
2025-12-21 17:13:06 -05:00
Claudio DeSouza ac8d7ef938 [cr144] Linux install scripts ported to Python
Migrated patches to Python and used chromium_src overrides where feasible.

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

commit f963b7ce99643de953636ba2ef4052daae2fc19a
Author: Tom Anderson <thomasanderson@chromium.org>
Date:   Tue Nov 25 23:56:57 2025 -0800

    Port linux install scripts to Python

    Linux package builds are reproducible, so I've verified the packages are
    identical under the following combinations of configurations:
      {deb, rpm}{stable, beta, dev, canary}{x64_unbraded_release,
      x64_branded_release, x64_branded_official, arm_unbranded_release}

    The motivation for this change is to improve maintainability and
    readability. The previous Bash scripts were becoming difficult to manage
    and extend. Python offers better string handling, error checking, and is
    more consistent with the rest of the Chromium build system.

    R=thestig

    Bug: None
    Change-Id: Id46cff3a15ef53a9d6e89f674bc852fcce9fe879
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7201054
    Commit-Queue: Lambros Lambrou <lambroslambrou@chromium.org>
    Reviewed-by: Lei Zhang <thestig@chromium.org>
    Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
    Reviewed-by: Lambros Lambrou <lambroslambrou@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1550284}
2025-12-21 17:13:06 -05:00
Emerick Rogul 993464dbba [cr144][ios] Command-line args now passed as std::vector<std::string>
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/d6dc9802a2ff0f54dc46e530400f0b0eb06b18f9

commit d6dc9802a2ff0f54dc46e530400f0b0eb06b18f9
Author: Sylvain Defresne <sdefresne@chromium.org>
Date:   Tue Nov 25 08:40:57 2025 -0800

    [ios] Pass command-line arguments as std::vector<std::string>

    Since the command-line arguments are already stored as std::string
    in an std::vector<...> change CreateParams to store them directly
    in that format instead of as a pair of pointer and number of items.

    Bug: 40285824
    Change-Id: I0a6c7df645c44212f5527d32045fe387152b7d2e
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7177505
    Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
    Reviewed-by: Rohit Rao <rohitrao@chromium.org>
    Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1549836}
2025-12-21 17:13:05 -05:00
Emerick Rogul 0f3707304c [cr144] GenericScopeddHandle::IsValid renamed to is_valid
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/a6bff80473e9dc0e17037aa262dc560decc655c5

commit a6bff80473e9dc0e17037aa262dc560decc655c5
Author: Rafael Cintron <rafael.cintron@microsoft.com>
Date:   Tue Nov 25 13:14:41 2025 -0800

    Reland "Reland "Remove GenericScopedHandle:IsValid""

    This is a reland of commit 52ca070390db06846c0c6d793a636770d5a40607

    Previous reland was missing IsValid => is_valid renames that appear when
    Chromium is built with enable_vulkan in args.gn.

    Original change's description:
    > Reland "Remove GenericScopedHandle:IsValid"
    >
    > This is a reland of commit 53e1b04bc1437009060f7ce332959a33afe79d9c
    >
    > Now that https://crrev.com/c/7169967 has landed to fix build break,
    > we can give this another attempt.
    >
    > Original change's description:
    > > Remove GenericScopedHandle:IsValid
    > >
    > > Previous CL removed references to GenericScopedHandle:IsValid but
    > > kept the definition to avoid large reverts in case of failures in
    > > non-standard TryBots.
    > >
    > > This CL removes the method for (hopefully) good.
    > >
    > > Bug: 40212898
    > > Change-Id: I162f924106afb53b1008e2ee66dda0118183b8e5
    > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7164338
    > > Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
    > > Reviewed-by: Lei Zhang <thestig@chromium.org>
    > > Reviewed-by: Greg Thompson <grt@chromium.org>
    > > Cr-Commit-Position: refs/heads/main@{#1546807}
    >
    > Bug: 40212898
    > Change-Id: Ib802b83fd831d36838f80bec49bb97930c2c9215
    > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7180183
    > Reviewed-by: Lei Zhang <thestig@chromium.org>
    > Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
    > Cr-Commit-Position: refs/heads/main@{#1548600}

    Bug: 40212898
    Change-Id: Id058f838b92f264c9ef0faf2d3f96094b4482f70
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7202164
    Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Lei Zhang <thestig@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1550021}
2025-12-21 17:13:05 -05:00
Sangwoo Ko 8d0433253d [cr144] Rework vertical tab strip
The core infrastructure for vertical tabs has been removed from upstream
* Split tab - CompoundTabContainer which contains pinned contrainer and
  unpinned container separately is removed.
* Scrollable tab strip support was removed - TabStripScrollContainer was
  removed.

This PR temporarily make Brave buildable and disables vertical tab strip
support

As CompoundTabContainer is gone, rework BraveTabContainer to handle both
pinned and unpinned tabs.

Previously, we had CompoundTabContainer which contains two TabContainers
, one for pinned tabs and the other for unpinned tabs. And TabContainer
for unpinned tabs had a ScrollView to allow scrolling when there are
many unpinned tabs.

But now, as CompoundTabContainer is removed, we need to handle both pinned
and unpinned tabs in BraveTabContainer. Plus, we should support scrolling
feature for unpinned tabs.

But adding scroll view to BraveTabContainer causes various issues as
it manipulates view hierarachy, which upstream code is not aware of.
As a result, it'd require many changes from our side to make it work.

So instead of adding scroll view, we directly handle scrolling logic
inside BraveTabContainer. BraveTabContainer calculates visable area
for unpinned tabs and sets clip rect accordingly. It also handles scroll
events and update unpinned tabs position based on the offset.
2025-12-21 17:13:04 -05:00
Claudio DeSouza 800bd25c72 [cr144] SidePanelAnimationCoordinator::Observer renamed
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0eda25f638d92e3fe8c5598516539bee3cdb086c

commit 0eda25f638d92e3fe8c5598516539bee3cdb086c
Author: dljames <dljames@chromium.org>
Date:   Tue Nov 25 11:51:35 2025 -0800

    [TBHSP] Update SidePanelAnimationCoordinator's Observer API

    This CL updates the SidePanelAnimationCoordinator's Observer API to be
    more granular in the types of updates it can notify its observers.

    API Changes:
    - Added OnAnimationTypeStarted and OnAnimationTypeEnded

    The OnAnimationType* functions were added to separate observers who care
    about specific animation sequences, from those that care about the type
    of animation being performed. These additions will allow observers the
    ability to perform prerequisite or cleanup tasks before and after the
    main animation has completed. For example, at the end of an animation
    you may want to reparent a specific view, or set some state before the
    animation starts.

    Additionally, OnAnimationType functions can only be subscribed to by
    using the animation type AddObserver/RemoveObserver functions. This
    allows further separation by allowing observers to listen to either
    animation sequence progress updates, or animation type updates, or both.

    OnAnimationSequenceEnded was not implemented as the naming suggests. It
    was effectively telling observers that the main animation timeline had
    ended and not the individual sequences. This function has been updated
    to notify observers when a specific sequence tied to an animation id has
    finished. This can happen at any point between the start and end of the
    main animation timeline.

    Tests has been added to verify the new behavior.

    Change-Id: I931e5e5dc6d9085e7b63e61eeacc945e4078664b
    Bug: 445452247
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7180522
    Reviewed-by: Eshwar Stalin <estalin@chromium.org>
    Commit-Queue: Darryl James <dljames@chromium.org>
    Reviewed-by: Caroline Rising <corising@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1549973}
2025-12-21 17:13:04 -05:00
Claudio DeSouza baaf01848b [cr144] CompoundTabContainer deleted
The fallout from this deletion is dealt with in other 144-related commits.

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

commit ef29babd0ce95da5665fbdd4adec6cc92770a889
Author: Eshwar Stalin <estalin@chromium.org>
Date:   Mon Nov 24 23:37:11 2025 -0800

    Removing Tab Scrolling feature

    Bug: 414802341
    Change-Id: I3cdc046603a06387a0e8f1f554d2b00f56175ff4
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7193352
    Commit-Queue: Eshwar Stalin <estalin@chromium.org>
    Reviewed-by: David Pennington <dpenning@chromium.org>
    Reviewed-by: Alison Gale <agale@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1549569}
2025-12-21 17:13:03 -05:00
Claudio DeSouza 0234cbabf9 [cr144] Cherry-pick of https://crrev.com/c/7182462 landed
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/985364da117c940a2c94411597dabbe1b2734fc6

commit 985364da117c940a2c94411597dabbe1b2734fc6
Author: Claudio DeSouza <cdesouza@chromium.org>
Date:   Mon Nov 24 20:47:43 2025 -0800

    [glic] Guard glic inclusion with `enable_glic`

    This is a follow up to a previous CL that broke the non-glic builds.
    https://crrev.com/c/7081951

    Bug: b:450380328
    Change-Id: I3208dad9b02fa31b13ece4ca18660cbe1bdda998
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7182462
    Reviewed-by: Ian Wells <iwells@chromium.org>
    Commit-Queue: Claudio DeSouza <cdesouza@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1549545}
2025-12-21 17:13:02 -05:00
AlexeyBarabash f62642d615 [cr144][Android] Put Brave's icons for pin/unpin menu
Chromium's paths:
src/components/browser_ui/styles/android/java/res/drawable/ic_keep_24dp.xml
src/components/browser_ui/styles/android/java/res/drawable/ic_keep_off_24dp.xml

Brave's replacements paths:
brave/components/browser_ui/styles/android/java/res/drawable/ic_keep_24dp.xml
brave/components/browser_ui/styles/android/java/res/drawable/ic_keep_off_24dp.xml

Brave's Nala sources:
brave/node_modules/@brave/leo/tokens/android/drawable/ic_pin.xml
brave/node_modules/@brave/leo/tokens/android/drawable/ic_pin_disable.xml

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/5dd73063e0c11b376d191c83188b9eabe1916d71

	[PinnedTabs] Use keep off icon for unpin tab action items

	Demo: https://screencast.googleplex.com/cast/NDUyMDI3NzM2MTgxOTY0OHxlMjQ5YTRjNi0zOQ

	Bug: 455627033
	Change-Id: Ia899467be7e11b94f6f6083cca7331b499d7d6d7
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7121358
2025-12-21 17:13:02 -05:00
AlexeyBarabash 578ee7f492 [cr144][Android] Removed unused resources reported by Lint
```
android_lint_cache/aars/room-runtime-2.6.1.aar/AndroidManifest.xml:23: Warning: The attribute android:allowBackup is deprecated from Android 12 and higher and may be removed in future versions. Consider adding the attribute android:dataExtractionRules specifying an @xml resource which configures cloud backups and device transfers on Android 12 and higher. [DataExtractionRules]
    <application>
    ^
gen/chrome/android/chrome_public_apk__lint/RESZIPS/obj/brave/build/android/android_brave_strings_grd.resources.zip/values-am/android_brave_strings.xml:837: Warning: The resource R.string.brave_quick_action_search appears to be unused [UnusedResources]
<string name="brave_quick_action_search">"Brave ፈጣን እርምጃ ፍለጋ"</string>
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../brave/android/java/brave-res/values/brave_styles.xml:290: Warning: The resource R.style.BottomSheetAnimation appears to be unused [UnusedResources]
    <style name="BottomSheetAnimation">
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../brave/android/java/brave-res/values/brave_styles.xml:295: Warning: The resource R.style.BraveAccountTheme appears to be unused [UnusedResources]
    <style name="BraveAccountTheme" parent="Theme.Chromium.Activity.Fullscreen">
           ~~~~~~~~~~~~~~~~~~~~~~~~
../../brave/android/java/brave-res/values/brave_styles.xml:299: Warning: The resource R.style.BottomSheetActivityTheme appears to be unused [UnusedResources]
    <style name="BottomSheetActivityTheme" parent="Theme.Chromium.Activity.FakeTranslucent">
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../brave/android/java/brave-res/drawable-night-nodpi/ic_quick_action_search_and_bookmark_widget_preview.png: Warning: The resource R.drawable.ic_quick_action_search_and_bookmark_widget_preview appears to be unused [UnusedResources]
../../brave/android/java/brave-res/xml/quick_action_search_and_bookmark_widget_info.xml:7: Warning: The resource R.xml.quick_action_search_and_bookmark_widget_info appears to be unused [UnusedResources]
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
^
../../chrome/android/java/res_chromium_base/drawable-night/themed_app_icon.xml:6: Warning: The resource R.drawable.themed_app_icon appears to be unused [UnusedResources]
<vector xmlns:android="http://schemas.android.com/apk/res/android"
^
../../brave/android/java/brave-res/drawable-night-nodpi/widget_preview.png: Warning: The resource R.drawable.widget_preview appears to be unused [UnusedResources]
```
2025-12-21 17:13:01 -05:00
AlexeyBarabash 93db4e0d34 [cr144][Android] NavigationAttachmentsCoordinator -> FuseboxCoordinator
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/e7a30b1941254e3de718c90d1951ef775cab2cd0

	[🧼] NavigationAttachmentsCoordinator -> FuseboxCoordinator

	NO_IFTTT=drive-by comment fix.

	Validate-Test-Flakiness-Skip-Reason: crbug.com/462739429
	Validate-Test-Flakiness: skip
	Change-Id: I8e6eeadf32d59b406e0278d900e448782401fd5a
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7182177
2025-12-21 17:13:01 -05:00
AlexeyBarabash e84d647bd0 [cr144][Android] SnackbarView.ctor changed
Instead of `View.OnClickListener` there is now `SnackbarManager` arg

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/09dc3f88b0e55a72694885e1f85d8613178d0600

	When snackbar is touched, reset dismissal timeout

	Demo: https://screencast.googleplex.com/cast/NjEyODExOTE5Mzc5NjYwOHwzODg5YjdlOC05Nw

	Fixed: 458057621
	Change-Id: I0c43dd9aa93a11475d00f4a709cb41a1fcbde900
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7125241
2025-12-21 17:13:01 -05:00
Emerick Rogul 1eba7984c9 [cr144] GetOptimizationTargetForCapability renamed and moved
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/81de9ffa1dc0a08f75324ada5fe6189a6178bce6

commit 81de9ffa1dc0a08f75324ada5fe6189a6178bce6
Author: Steven Holte <holte@google.com>
Date:   Fri Nov 21 13:31:26 2025 -0800

    Split on-device vs remote feature keys.

    This has the following changes outside of opt-guide:
    * Renames optimization_guide::mojom::ModelBasedCapabilityKey
      -> mojom::OnDeviceFeature.
    * Replaces all use of optimization_guide::ModelBasedCapabilityKey in
      conjunction with OnDeviceCapability with mojom::OnDeviceFeature.

    And these changes internally to opt-guide code:
    * Removes the keys that do not support on-device execution.
    * Extracts on-device enum logic to on_device_features.h/cc
    * Removes conditional support of kTest and kCompose (neither are
      used in any production code, so this gate is unnecessary).
    * Return type for GetOptimizationTarget becomes non-optional.
    * Use an EnumSet for iterating over all keys.
    * Makes the proto->key conversion inferred and return optional type.

    Bug: 445999234
    Change-Id: I27a4191525a1f7c06b93a75307ca2cdd6a6a6964
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7139721
    Auto-Submit: Steven Holte <holte@chromium.org>
    Owners-Override: Nico Weber <thakis@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Reviewed-by: Mike Wasserman <msw@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1548707}
2025-12-21 17:13:00 -05:00
Emerick Rogul 8696038624 [cr144] logging::LoggingSettings moved to base/logging/logging_settings.h
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/d7fb9d0cd0b6e1589ee974c1ca33de984df513e7

commit d7fb9d0cd0b6e1589ee974c1ca33de984df513e7
Author: Lei Zhang <thestig@chromium.org>
Date:   Thu Nov 20 19:40:04 2025 -0800

    Reland "Move logging::LoggingSettings to base/logging/logging_settings.h"

    This is a reland of commit 6b79baf89a1d87407d4bafdc5d871061a81f80fc

    The reland is the same CL. The difference is the problematic code in a
    separate repo that did not do IWYU has been fixed.

    Original change's description:
    > Move logging::LoggingSettings to base/logging/logging_settings.h
    >
    > Move struct LoggingSettings, which is only used in a relatively small
    > number of files, out of base/logging.h and into its own header. Update
    > direct users and then do IWYU to fix the build. This effectively moves
    > base/files/file_path.h out of base/logging.h.
    >
    > Change-Id: I04209f1063051b7399e335d7e30cb7abb9442c94
    > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7160150
    > Reviewed-by: Francois Pierre Doray <fdoray@chromium.org>
    > Commit-Queue: Lei Zhang <thestig@chromium.org>
    > Owners-Override: Francois Pierre Doray <fdoray@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#1546655}

    Change-Id: Ie877c3c85cc3e1983fb8b2b065b0d09607442ce4
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7173024
    Owners-Override: Francois Pierre Doray <fdoray@chromium.org>
    Reviewed-by: Francois Pierre Doray <fdoray@chromium.org>
    Commit-Queue: Francois Pierre Doray <fdoray@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1548242}
2025-12-21 17:12:59 -05:00
Claudio DeSouza 7e231d622c [cr144] AlertIndicatorButton::GetTab deleted
With the deletion of this method, there's now the introduction of
`AlertIndicatorButton::Delegate`, which is supposed to handle
browser-related actions.

This change adjust our customistation for
`kTabMuteIndicatorNotClickable` to now be provided through the delegate.
This has only been implemented for the delegate implementation of
`Tabs`. Another derived delegate class is `VerticalTabView`, but this
one seems to be rather in the early stages of implementation.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/562914734cd0c3858c0deb23b00941c0011ec5b4

commit 562914734cd0c3858c0deb23b00941c0011ec5b4
Author: Charles Meng <charlesmeng@chromium.org>
Date:   Mon Nov 24 15:27:45 2025 -0800

    [Vertical Tabs] Alert indicator button

    In order to share the alert indicator button between horizontal and
    vertical tabs, create a common interface ParentTab. Due to inheritance
    issues it's hard to know that it is also a views::View, so the DCHECK
    that the parent tab is the parent in the view hierarchy is removed, and
    the color provider will just be taken from the alert indicator button
    because it should be the same one as its parent's.

    https://screencast.googleplex.com/cast/NjU0MTEzNzU4OTMwNTM0NHwzMzNlOTQ5Ni1mMg

    Fixed: 457525173
    Change-Id: I2ef413e4f61d00bff2c4400a6e262e89b0c70125
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7182020
    Reviewed-by: Eshwar Stalin <estalin@chromium.org>
    Reviewed-by: David Pennington <dpenning@chromium.org>
    Commit-Queue: Charles Meng <charlesmeng@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1549443}
2025-12-21 17:12:59 -05:00
Claudio DeSouza 7ae8ad9df9 [cr144] Fixing IWYU brockit squash
This squash seems to have been innefective from the beginning, as
`endswith` is not reliable for this check. The new check verifies the
the sentece, and it also adds an expectation for a full-stop at the end,
to avoid a too broader pattern.
2025-12-21 17:12:58 -05:00
Claudio DeSouza 593881abe4 [cr144] Handle ECDSA_SHA384 in unexportable_keys
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/18b3276cdcdfb2b914fbb962a5081bb3d74d261a

commit 18b3276cdcdfb2b914fbb962a5081bb3d74d261a
Author: Konstantin Andrikopoulos <andrikopoulos@google.com>
Date:   Thu Nov 20 09:17:59 2025 -0800

    [dbsc] Add unexportable keys proxy service

    Chrome's DBSC implementation lives in the network process. The lowered
    privileges that it has constrain the use of Unexportable Key Service on
    certain platforms, like macOS for example.

    To support DBSC in macOS we thus need to change how the DBSC has access
    to the UKS. Instead of directly using the UKS implementation in the
    network process, we will move it to the browser process. And from the
    browser service, we will expose a new proxy mojo service which the
    network process can use.

    This proxy service will implement all the asynchronous methods of the
    UKS: key generation, key loading, and signing. However, the UKS also
    has some synchronous methods which can't be forwarded to an async mojo
    method. To solve this issue, the methods in the mojo service will also
    return additional information that can be cached in the network process
    and used to implement the synchronous part of the UKS interface.

    So for example when creating or generating keys the mojo proxy won't
    simply return the new key, but also metadata about what algorithm it is
    using.

    This CL starts by adding the GenerateKey method, with the rest to follow
    in future CLs.

    NO_IFTTT=file is added now and IFTTT is misfiring

    Bug: 452303497, 443932320, 452300505
    Change-Id: I5feb9cd1b71f8ec52c36846a035bc7775ec066c6
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7075194
    Commit-Queue: Konstantin Andrikopoulos <andrikopoulos@google.com>
    Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
    Reviewed-by: Mike West <mkwst@chromium.org>
    Reviewed-by: Alex Ilin <alexilin@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1547877}
2025-12-21 17:12:58 -05:00
Claudio DeSouza e78bd2c69e [cr144] Preemptive inclusion for browser_window_feature.cc
This inclusion is necessary to avoid some of the unwanted replacements
down the line.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/62c1f09e5709ad99df6f46277928fd27209a5a50

commit 62c1f09e5709ad99df6f46277928fd27209a5a50
Author: Kunal Daftari <kunaldaftari@google.com>
Date:   Thu Nov 13 11:54:43 2025 -0800

    [Vertical Tabs] Implement VT in SessionRestoreService

    This CL works to make the vertical tab strip state persist on session
    restore.

    Bug: 455632218
    Change-Id: I33c599873b25d7e6d897f5b31bd6581db12214e3
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7097594
    Reviewed-by: David Pennington <dpenning@chromium.org>
    Reviewed-by: Darryl James <dljames@chromium.org>
    Commit-Queue: Kunal Daftari <kunaldaftari@google.com>
    Cr-Commit-Position: refs/heads/main@{#1544379}
2025-12-21 17:12:58 -05:00
Claudio DeSouza 05a4f757cd [cr144] Side Panel orientation now has a pref
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/7a8258e5eb0ff91453d8868dd6b15d4a5fb8c845

commit 7a8258e5eb0ff91453d8868dd6b15d4a5fb8c845
Author: Caroline Rising <corising@chromium.org>
Date:   Fri Nov 21 09:27:05 2025 -0800

    Update toolbar height side panel to update based on kSidePanelHorizontalAlignment pref

    By default the toolbar height side panel will be on the opposite side
    from the content height side panel. This also introduces a flag so that
    they appear on the same side.

    Bug: 454362874
    Change-Id: I772ea0ac6f977a9fe0dffc2a62e3ac2bfe560fd0
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7158870
    Reviewed-by: Eshwar Stalin <estalin@chromium.org>
    Commit-Queue: Caroline Rising <corising@chromium.org>
    Reviewed-by: David Pennington <dpenning@chromium.org>
    Reviewed-by: Dana Fried <dfried@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1548548}
2025-12-21 17:12:57 -05:00
Claudio DeSouza f701a5e862 [rust][cr144] gnrt making allow_unsafe explicit
These values were generated using heuristics provided by `gnrt` itself.

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

commit d4c06848b36902e02c7001032b4c72ecc8ab2944
Author: Lukasz Anforowicz <lukasza@chromium.org>
Date:   Fri Nov 21 14:01:48 2025 -0800

    [gnrt] Make `gnrt vendor` infer `allow_unsafe` into `gnrt_config.toml`.

    This CL modifies the behavior of `gnrt vendor`, so that it also edits
    `//third_party/rust/chromium_crates_io/gnrt_config.toml` to ensure that
    each crate explicitly sets `allow_unsafe`.  This new, heuristics-based
    behavior is meant to streamline the experience of importing Rust crates.

    Bug: 460814809
    Change-Id: I4192f211cbd11f5c435776f146b1dd96ba5daa18
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7180203
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1548722}
2025-12-21 17:12:56 -05:00
AlexeyBarabash 1381ec35e3 [cr144][Android] Lint behaviour changed
Some resources were reported as unused and removed:

`R.string.never` - should have been deleted along with
android/java/res/layout/fragment_rate_dialog.xml at
https://github.com/brave/brave-core/commit/ee208d03bf5da7a60ebd1f68ea74c46e610e8303

`R.string.custom` - should have been deleted along with
android/java/res/layout/tipping_banner_tipping_panel_inside_layout.xml at
https://github.com/brave/brave-core/commit/7f6dbf689ef75d729706096f7aa216ca4d02ebf0

`R.drawable.checkbox` - should have been deleted along with
android/java/res/drawable/plain_checkbox.xml and
b/android/java/res/layout/brave_rewards_site_banner.xml also at
https://github.com/brave/brave-core/commit/7f6dbf689ef75d729706096f7aa216ca4d02ebf0

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/185ad34cd06171c0771b0da9fae67b28ba35f783

	build: Move Android lint target from bundle to apk

	Using an apk target enables us to provide a single, merged
	AndroidManifest.xml for lint to analyze. This CL switches the default
	lint target from monochrome_public_bundle to chrome_public_apk.

	This CL also fixes an issue in the lint script where duplicate source
	and resource files could be passed to the tool, resulting in duplicate
	definition errors.

	The lint baseline files have been updated accordingly.

	R=agrieve@chromium.org

	Bug: 461840249
	Change-Id: I9f0cf2e32b1d4d5e7a60fb2fb2ccfeb3019aa248
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7169984
2025-12-21 17:12:56 -05:00
AlexeyBarabash 9bfb7fba44 [cr144][Android] New locationBarEmbedder arg at LocationBarCoordinator.ctor
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/9afc53ae9f2e324d23f4417840980f48a66c7a21

	Animate compact mode expand/contract

	This is accomplished with the transition framework. LBC is notified
	right before layout changes corresponding to compact mode state changes
	are made, allowing it to capture values at the right time. The location
	bar itself and the "+" button are animated.

	In order to animate contraction correctly, the Toolbar needs to remain
	larger until the animation ends to avoid clipping the LocationBar.
	LocationBarEmbedder allows for the toolbar's height to temporarily fixed
	without exposing the view directly.

	In order to provide consistent notifications re: compact mode state, we
	need to create a single source of truth for compactness, extracting the
	view binder's control of this property out to the mediator.

	Bug: TBD
	Change-Id: I40943b27b0e295c6bc83fb9b541d6d2f57396a69
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7171390
2025-12-21 17:12:55 -05:00
Claudio DeSouza 66e22a029c [cr144] Disabling enable_web_component_missing_deps
Per @fallaciousreasoning, this needs to be disabled for now due to interactions
with Leo. It's not currently easy to fix, as all of Leo is bundled together into
one file which disallows importing individual types as the fix for this would
require. Entered https://github.com/brave/brave-browser/issues/51461 to track
this work.

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

commit 0b3a9f2a74923ee00eeb14e67c7646f4957d1750
Author: dpapad <dpapad@chromium.org>
Date:   Wed Nov 19 11:39:03 2025 -0800

    WebUI: Enable @webui-eslint/web-component-missing-deps by default.

    Specifically
     - Enable the new ESLint check by default for non-Ash build_webui()
       targets.
     - Disable it explicitly for c/b/r/settings/ and c/b/r/new_tab_page/
       temporarily until the check is updated to correctly detect missing deps
       in WebUIs that use lazy loading (actively worked and expected to
       land in a quick follow-up CL).

    All violations have already been fixed in prior CLs, except a few that
    slipped and are fixed here.

    Bug: 457866803
    Change-Id: I8691ce7e9358500fe800d24b4ae5b005fc9685b6
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7171069
    Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
    Reviewed-by: Teresa Mao <temao@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1547375}
2025-12-21 17:12:55 -05:00
Claudio DeSouza efba8a26b1 [cr144] enable_glic=false broken
A fix has been submitted separately as https://crrev.com/c/7081951. This
is a cherry-pick of that patch.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/399f5bdbdca93abadbb90e9438068fc65c0f8ad6

commit 399f5bdbdca93abadbb90e9438068fc65c0f8ad6
Author: Michael Wojcicka <mwoj@google.com>
Date:   Wed Nov 19 00:59:47 2025 -0800

    [glic] Updated buildflags

    Bug: b:450380328
    Change-Id: I4b4f03474a53a867f52b6230528acc7d845a9c76
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7081951
    Reviewed-by: Avi Drissman <avi@chromium.org>
    Reviewed-by: Igor <igorcov@chromium.org>
    Commit-Queue: Hidehiko Abe <hidehiko@chromium.org>
    Reviewed-by: Ian Wells <iwells@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1547021}
2025-12-21 17:12:54 -05:00