Commit Graph
74278 Commits
Author SHA1 Message Date
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
Claudio DeSouza 3efc8ab7b3 [cr144] Support SidePanelAnimationCoordinator
`BraveSidePanel` has to provide support to an instance of
`SidePanelAnimationCoordinator`, which expected to be accessed by
Chromium.

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

commit a7e0dd051812f4522ffd6c1dcf6aab755f7f4a56
Author: dljames <dljames@chromium.org>
Date:   Wed Nov 19 16:53:25 2025 -0800

    [TBHSP] Add ShadowOverlay opacity animation for side panel

    Defines the shadow overlay opacity animation sequence in
    SidePanelAnimationCoordinator. ShadowOverlayView observes this animation
    id to correctly update the opacity value of its shadow. This is done to
    achieve a specific visual affect requested by UX.

    Change-Id: Ieab0907f66d1a4e8eb2b97d5af5215325ef88336
    Bug: 445452247
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7163705
    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@{#1547545}

commit 0a79d10497ab6b7e9fe859356648a5323159a186
Author: dljames <dljames@chromium.org>
Date:   Mon Nov 17 12:50:48 2025 -0800

    [TBHSP] Add animation coordinator for side panel

    Add an animation coordinator in the side panel to help coordinate all of
    the other animation sequences that should happen when the side panel is
    open or closed.

    Tests will be added in a subsequent patch due to the size of the
    implementation.

    Change-Id: I9bb5b6118f1abaf723401d6a7e4e14ee6a2b1ed2
    Bug: 445452247
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7139797
    Reviewed-by: Eshwar Stalin <estalin@chromium.org>
    Commit-Queue: Darryl James <dljames@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1546098}
2025-12-21 17:12:54 -05:00
Claudio DeSouza 438eb58281 [cr144] Fix for commit hook to not tag !amend commits
It is necessary that the `COMMIT_MSG` script does not interfere with
amend commits as keeping their commit message intact is necessary for
squashes to work as expected.
2025-12-21 17:12:53 -05:00
AlexeyBarabash 42deb9e3f1 [cr144][Android] New arg source at MultiInstanceManagerApi31.moveTabsToWindow
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/0aad2957826653deed43d9b1e2c7c2339b61e0b6

	Add histogram to track new window entry points.

	This change introduces the `Android.MultiWindowMode.NewWindow.AppSource` histogram to record how users initiate the creation of a new Chrome window. The tracked entry points in this CL include the following:

	- Tab context menu → move tab to new window
	- Tab context menu → move tab group
	- Window Manager → New window

	Bug: 444691327
	Change-Id: Ib50db79e41fcf8240563de2d011a6659d0188dae
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7098863
2025-12-21 17:12:53 -05:00
AlexeyBarabash af7d08764b [cr144][Android] Deprecates MultiWindowUtils.getInstanceCount()
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/84207093245c10ab466e5e0e549e2f31e2d6c644

	Deprecates MultiWindowUtils.getInstanceCount().

	This CL migrates the final usages of getInstanceCount() to getInstanceCountWithFallback().

	Bug: 430092908
	Change-Id: Icd365bc340a00079d19ab08d250626ff48f1d05f
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7141127
2025-12-21 17:12:52 -05:00
AlexeyBarabash 3d660e2796 [cr144][Android] ChromeBackgroundService/ChromeBackgroundServiceImpl removed
The only place where we used ChromeBackgroundServiceImpl was
BraveAutofillBackgroundServiceImpl, but it wasn't running since
https://github.com/brave/brave-core/commit/2c6bd81682639c389cfbc151ea1bfbf47ef4c115

So BraveAutofillBackgroundServiceImpl was removed here along with resources.

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

	Android: Remove remnant of GCMNetworkService

	This has been unused since we dropped support for Android M.

	Note: .expected files show <permission>s being added, but this is
	just a side-effect of our .expected files being generated
	pre-bundletool, which de-duplicates these.

	Bug: 41435310
	Change-Id: Ie95d25f2dca3d703805198a16a13021f049beddf
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7162715
2025-12-21 17:12:52 -05:00
Emerick Rogul 17b881dd2e [cr144][ios] Remove obsolete CRWNavigationItemStorage header 2025-12-21 17:12:51 -05:00
AlexeyBarabash 2bbcf826bb [cr144][Android] Removed shouldUpdateSuggestionUrl from AutocompleteMediator.loadUrlForOmniboxMatch
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/42c529f984e74c8bba3b8ced4b9e1d531252ff08

	Ensure AIM/NB suggestions are fulfilled with appropriate tools.

	Up till now only user-typed text was triggering appropriate
	fulfillment. This change ensures that suggest picks do the same:
	when the user is in AIM or Image creation mode and interacts with any
	of the suggested items, they will be redirected to appropriate tool.

	For the lack of a better alternative and insufficient time this change
	follows the Desktop implementation: construct the AIM URL from its
	Search URL analog.

	Screen: http://screen/4azQvKA3MTThdrL.png
	Change-Id: I04a85ad65de0aae5edf4979c591748771974b0ce
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7164817
2025-12-21 17:12:51 -05:00
Claudio DeSouza ee019ab25c [cr144] HTMLCanvasElement::Snapshot dropped FlushReason
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/7defb92cf74683b8a21a469bf4de0b9b39fb428f

commit 7defb92cf74683b8a21a469bf4de0b9b39fb428f
Author: Colin Blundell <blundell@chromium.org>
Date:   Tue Nov 18 23:56:57 2025 -0800

    [Blink] Remove FlushReason from HTMLCanvasElement::Snapshot()

    All callers now pass kOther.

    Bug: 352263194
    Change-Id: I385d280b393c262ae00abe340107722c9798b1c2
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7166867
    Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
    Commit-Queue: Colin Blundell <blundell@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1546996}
2025-12-21 17:12:50 -05:00
Claudio DeSouza 8775fdebe1 [cr144] ExecutionContext not Supplementable
This change follows the same approach used by previous supplementable
migrations, and relies on forward declarations as a way to retrieve
references to our types.

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

commit e18ae887f31db52f8a420983be9d3cd23a4366a4
Author: Steinar H. Gunderson <sesse@chromium.org>
Date:   Tue Nov 18 07:35:26 2025 -0800

    Make ExecutionContext not Supplementable.

    Part of Supplementable cleanup. Done with a script followed by
    human cleanup/review and git cl format.

    There is a significant (~10 kB APK) size win, which seems to stem from
    the fact that Supplement is no longer taking up all the small offsets
    in ExecutionContext (smaller offsets can typically be computed in
    fewer bytes of code, depending on the CPU architecture); all the
    members have been effectively moved to the end of the object instead
    of the very beginning.

    Bug: 460165754
    Change-Id: I2e22b1861c3419a1694cf9f369766cf9a0015ff9
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7157113
    Auto-Submit: Steinar H Gunderson <sesse@chromium.org>
    Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
    Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
    Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1546535}
2025-12-21 17:12:50 -05:00
Claudio DeSouza 6e11a5db1c [cr144] BatteryManager not using Supplementable
This change corrects the override for this class to work occording to
the newer approach in the upstream implementation.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8f2b622e2d3cdd55a991a754431375984e4151cf
https://chromium.googlesource.com/chromium/src/+/083eb8fbdf22884744b01b0ea489010ac54f377b

commit 8f2b622e2d3cdd55a991a754431375984e4151cf
Author: Steinar H. Gunderson <sesse@chromium.org>
Date:   Tue Nov 18 04:47:19 2025 -0800

    Make Navigator not Supplementable.

    Part of Supplementable cleanup. Done with a script followed by
    human cleanup/review and git cl format.

    Bug: 460165754
    Change-Id: I1e3986b371b6f27cdbcb88010647ee401a4c6800
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7156818
    Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
    Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1546442}

commit 083eb8fbdf22884744b01b0ea489010ac54f377b
Author: Steinar H. Gunderson <sesse@chromium.org>
Date:   Tue Nov 18 05:21:42 2025 -0800

    Remove unused Navigator ex-Supplementable members.

    Bug: 460165754
    Change-Id: Ieb3d655937a984b8c9eb6b3e795cba0377e13f5c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7156819
    Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
    Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1546453}
2025-12-21 17:12:49 -05:00
Claudio DeSouza 014f4f1edb [cr144] HandwritingRecognitionService dropped supplement
This change corrects our override for this class to reflect the changes
around the dropping of sumplementable storage.

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

commit 8f2b622e2d3cdd55a991a754431375984e4151cf
Author: Steinar H. Gunderson <sesse@chromium.org>
Date:   Tue Nov 18 04:47:19 2025 -0800

    Make Navigator not Supplementable.

    Part of Supplementable cleanup. Done with a script followed by
    human cleanup/review and git cl format.

    Bug: 460165754
    Change-Id: I1e3986b371b6f27cdbcb88010647ee401a4c6800
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7156818
    Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
    Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1546442}
2025-12-21 17:12:49 -05:00
Claudio DeSouza 1ea19807fc [cr144] base::HexEncodeLower cherry-pick dropped
There's no need to continue cherry-picking these functions anymore, as
they are now part of M144.

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

commit 0d2478d1df359731d1391637935e49f517e27bfe
Author: David Benjamin <davidben@chromium.org>
Date:   Thu Oct 30 13:39:24 2025 -0700

    Add base::HexEncodeLower and migrate a few callers

    Bug: 456472080
    Change-Id: Ic3faa954edb6aec3f08675a02a55413b8a70e6b9
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7100923
    Commit-Queue: David Benjamin <davidben@chromium.org>
    Owners-Override: Daniel Cheng <dcheng@chromium.org>
    Auto-Submit: David Benjamin <davidben@chromium.org>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1538143}
2025-12-21 17:12:48 -05:00
Claudio DeSouza 4a540cac03 [cr144] NavigatorBase not Supplementable
This requires our `NavigatorBase` sumplementable classes to be forward
declared, as a member.

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

commit d99d033c31e934207e45cf88fc01a721e70b56e1
Author: Steinar H. Gunderson <sesse@chromium.org>
Date:   Tue Nov 18 04:56:31 2025 -0800

    Make NavigatorBase not Supplementable.

    Part of Supplementable cleanup. Done with a script followed by
    human cleanup/review and git cl format.

    Bug: 460165754
    Change-Id: If83aa5d85bf53d3c45eb5a02a01edfce2e55dab4
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7157265
    Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
    Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1546446}
2025-12-21 17:12:48 -05:00
Emerick Rogul c588b71487 [cr144][ios] Remove obsolete CRWSessionStorage header
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/d8011cd52be39a933ce8f64a1e44884b698f46a3

commit d8011cd52be39a933ce8f64a1e44884b698f46a3
Author: Sylvain Defresne <sdefresne@chromium.org>
Date:   Mon Nov 17 09:40:50 2025 -0800

    [ios] Remove obsolete class CRWSessionStorage

    Since the support for legacy session storage format has been
    dropped, it is no longer necessary to be able to serialize
    via NSCoding and those classes can be deleted.

    This is part of a multi-CLs change:
      - https://crrev.com/c/6979449
      - https://crrev.com/c/6979586
      - https://crrev.com/c/6979667
      - https://crrev.com/c/6979626
      - https://crrev.com/c/6983123
      - https://crrev.com/c/6983202
      - https://crrev.com/c/7074893
      - https://crrev.com/c/6983024
      - https://crrev.com/c/6983144
      - https://crrev.com/c/6982943
      - https://crrev.com/c/6983445
      - https://crrev.com/c/6983504
      - https://crrev.com/c/6983010
      - https://crrev.com/c/6983050
      - https://crrev.com/c/6983423
      - https://crrev.com/c/6983287
      - https://crrev.com/c/7003327
      - https://crrev.com/c/7002783
     => https://crrev.com/c/7002962
      - https://crrev.com/c/7003743
      - https://crrev.com/c/7003123
      - https://crrev.com/c/7003225
      - https://crrev.com/c/7003227
      - https://crrev.com/c/7003087
      - https://crrev.com/c/7027213

    Bug: 40945317
    Change-Id: I24fff00cb7132c0c0539960f0a8bd582e4a3ede1
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7002962
    Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
    Reviewed-by: Federica Germinario <fedegermi@google.com>
    Cr-Commit-Position: refs/heads/main@{#1545983}
2025-12-21 17:12:47 -05:00
Emerick Rogul ebccd67da1 [cr144][ios] Update parameters to OnURLVisited
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/cb3309d8abc8aceb10bd606ffe66be4edc298645

commit cb3309d8abc8aceb10bd606ffe66be4edc298645
Author: Tiffany Song <tiffanysong@google.com>
Date:   Mon Nov 17 08:22:29 2025 -0800

    [VL] Add response_code_category to NotifyURLVisited to pass to observers

    There are several overrides of HistoryServiceObserver that do not
    include 404 navigations, as 404 visits are not currently inserted into
    History. 404 visits will soon be inserted when
    history::kVisitedLinksOn404 is enabled, and not all of these overrides
    will want to include 404 navigations. In order to know if a visit has a
    404 result, we want to pass response_code_category through OnURLVisited
    and OnURLVisitedWithNavigationId.

    This CL also adds a param struct, `VisitedURLInfo`, to store the
    parameters for `NotifyURLVisited` and `OnURLVisited` in order to avoid
    large CLs like this one if more parameters need to be added.

    This CL is part of a larger project to make links `:visited` after a 404
    visit, while minimizing disruption to History consumers. Project links:
    - Google-internal project doc: go/stop-filtering-history-by-status-code
    - Issue tree / work status: https://crbug.com/427225439/dependencies

    Fixed: 458096507
    Change-Id: I85e201ec046939d987dad7af6683351283e7d67a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7122997
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Owners-Override: Nico Weber <thakis@chromium.org>
    Commit-Queue: Tiffany Song <tiffanysong@google.com>
    Reviewed-by: Jérôme Lebel <jlebel@chromium.org>
    Reviewed-by: manuk hovanesian <manukh@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1545935}
2025-12-21 17:12:47 -05:00
Emerick Rogul c21053e220 [cr144][ios] Replace deprecated DER methods
Chromium change:
https://chromium.googlesource.com/chromium/src/+/d86c6275281b7f95bb393d9a324a412dbca3da97

commit d86c6275281b7f95bb393d9a324a412dbca3da97
Author: David Benjamin <davidben@chromium.org>
Date:   Wed Nov 12 08:03:14 2025 -0800

    Remove Chromium uses of deprecated der::Input::As* methods

    der::Input is a remnant of before span existed. We'll eventually turn it
    into a span typedef, at which point these methods will be gone. Instead,
    use base::as_string_view. Or, in a few places, use the bytes-based
    version of a function which avoids the conversion at all.

    Bug: 41347540
    Change-Id: I60b294e85cd9b5638e81f9d6dca8514a3c64292a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7142638
    Reviewed-by: Marc Treib <treib@chromium.org>
    Commit-Queue: David Benjamin <davidben@chromium.org>
    Reviewed-by: Matt Mueller <mattm@chromium.org>
    Reviewed-by: Mark Foltz <mfoltz@chromium.org>
    Reviewed-by: Martin Kreichgauer <martinkr@google.com>
    Cr-Commit-Position: refs/heads/main@{#1543741}
2025-12-21 17:12:46 -05:00
AlexeyBarabash e6f25edaed [cr144][Android] New arg isWebApp at MenuButtonCoordinator.ctor
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/11cd4d96fe20bbb08611bf54cb7e5272e5741707

	[MinimalUi_MenuButton] Add setBackgroundInsets for menuButton

	This is required for ensuring that the menu button on
	the WebAppHeader is inline with system controls in
	Samsung Dex

	https://hsv.googleplex.com/6483804729376768

	Bug: 445700593
	Change-Id: Id85bb648699f39eb8af8583918eea561530d36d7
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7128934
2025-12-21 17:12:46 -05:00
AlexeyBarabash e7e123f0b4 [cr144][Android] Changes at LocationBarMediator.ctor
- new arg navigationAttachmentsCoordinator;
- autocompleteRequestTypeSupplier is now ObservableSupplier.

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

	Add fusebox metrics

	BYPASS_LARGE_CHANGE_WARNING: boilerplate

	Bug: 457835297
	Change-Id: I98342570f86aed299ce5ea5d17250179619984d1
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7142169
2025-12-21 17:12:45 -05:00
AlexeyBarabash ebf2af6f28 [cr144][Android] New arg adjustedTopUiThemeColorProvider at ToolbarManager.ctor
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/8698eaf18ef0cdf385261b2c0fae0a79558c5f9b

	[Theme] Add AdjustedTopUiThemeColorProvider.

	In this CL, we add AdjustedTopUiThemeColorProvider which can notify
	TintObservers with adjusted tint color. ToolbarManager decides whether
	the TopUiThemeColorProvider or AdjustedTopUiThemeColorProvider a ToolbarChildButton should be registered to.
	DD: go/tint-toolbar-color-for-ntp.

	Bug: 423579377
	Change-Id: Iefc737edfdcac9a5cdd1e6f859f3ddb1912fd4d0
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7133759
2025-12-21 17:12:45 -05:00
AlexeyBarabash 8c837a8005 [cr144][Android] New arg submenuHeaderFactory at AppMenuHandlerImpl.ctor
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/fcef9b052b7b07920f46920599ba1a7de8a9a540

	Revert "Revert "hierarchical: AppMenu Add submenus for extensions to AppMenu""

	This reverts commit 1ac0c92bc3ded3b45c4241f977a063540d881223.

	Reason for revert:
	LUCI Bisection has identified this change as the culprit of a build failure. See the analysis: https://ci.chromium.org/ui/p/chromium/bisection/compile-analysis/b/8699629508765342897

	Sample failed build: https://ci.chromium.org/b/8699629508765342897

	If this is a false positive, please report it at http://b.corp.google.com/createIssue?component=1199205&description=Analysis%3A+https%3A%2F%2Fchromium-review.googlesource.com%2Fc%2Fchromium%2Fsrc%2F%2B%2F7099238&format=PLAIN&priority=P3&title=Wrongly+blamed+https%3A%2F%2Fci.chromium.org%2Fui%2Fp%2Fchromium%2Fbisection%2Fcompile-analysis%2Fb%2F8699629508765342897&type=BUG

	Original change's description:
	> Revert "hierarchical: AppMenu Add submenus for extensions to AppMenu"
	>
	> This reverts commit a79a3437e972a7a1820e8fd55982c53b5148f954.
	>
	> Reason for revert:
	> The original CL needed to update tools/metrics/actions/actions.xml.
	> This is failing presubmit bots.
	> https://ci.chromium.org/ui/p/chromium/builders/ci/linux-presubmit/33739/overview
	> https://ci.chromium.org/ui/p/chromium/builders/ci/win-presubmit/16802/overview
	>
	> Original change's description:
	> > hierarchical: AppMenu Add submenus for extensions to AppMenu
	> >
	> > This CL implements hierarchical menu onto the app menu, and to
	> > demonstrate a usecase, we turn the `Extensions` menu item into a
	> > submenu parent item.
	> >
	> > Clicking on the extensions item takes the user to a drilldown menu page,
	> > allowing the user to access either the "Manage extensions" option or the
	> > "Visit Chrome Web Store" option. Since `FlyoutHandler` is not yet
	> > implemented for app menu, we forcibly use drilldown instead of flyout
	> > for now.
	> >
	> > This change is behind the flag #submenus-in-app-menu.
	> >
	> > Demo: http://screencast/cast/NTAwNDA4MTQwMjc0MDczNnw0Y2YyNWRlNi05Mw
	> >
	> > Bug: 438629323
	> > Change-Id: I877c85070143f874fd0d880d9e7880a0a300c6f3
	> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7012587
	> > Reviewed-by: Jenna Himawan <jhimawan@google.com>
	> > Commit-Queue: Masa Fujita <massan@google.com>
	> > Reviewed-by: Wenyu Fu <wenyufu@chromium.org>
	> > Cr-Commit-Position: refs/heads/main@{#1537516}
	>
	> Bug: 438629323
	> No-Presubmit: true
	> No-Tree-Checks: true
	> No-Try: true
	> Change-Id: I6ce9ed7fd347318c9a295b6abd4634445d0464a1
	> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7099238
	> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
	> Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
	> Owners-Override: Hiroki Nakagawa <nhiroki@chromium.org>
	> Cr-Commit-Position: refs/heads/main@{#1537665}
	>

	Bug: 438629323
	No-Presubmit: true
	No-Tree-Checks: true
	No-Try: true
	Change-Id: I2a0d08b4fbfc84a93d3bef3c44947f956c172540
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7099340
2025-12-21 17:12:44 -05:00
Emerick Rogul 6d7d227c93 [cr144] Remove obsolete patch to disable enable_type_aware_eslint_checks on Windows
We no longer need this patch disabling `enable_type_aware_eslint_checks` on
Windows as it was only added to avoid hitting the maximum path limit, but that
restriction was removed with https://github.com/brave/brave-core/pull/31800.
2025-12-21 17:12:44 -05:00
Emerick Rogul 753bb91a12 [cr144][ios] Rename Skia SVG-related GN variables
Chromium changes:
https://source.chromium.org/chromium/_/skia/skia/+/68f10c25f26bd676f279c7ca195d18acd70f9497

commit 68f10c25f26bd676f279c7ca195d18acd70f9497
Author: Kaylee Lubick <kjlubick@google.com>
Date:   Thu Nov 13 10:50:29 2025 -0500

    Add gni file group for svg writer

    We'd like to avoid hard-coded file paths (e.g the ones in Chromium) [1]

    [1] https://source.chromium.org/chromium/chromium/src/+/main:skia/BUILD.gn;l=398-401;drc=a47c17cf38abc308d3cd89>

    Change-Id: I9b49296a681bfc6e1260cc0ef2c6e5eb1f18439f
    Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1100316
    Reviewed-by: Florin Malita <fmalita@google.com>
    Commit-Queue: Kaylee Lubick <kjlubick@google.com>
2025-12-21 17:12:43 -05:00
AlexeyBarabash c934d88d5b [cr144][Android] Renamed closeInstance=>closeWindow at MultiInstanceManagerApi31
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/a57d9bb2c3edd465dfbc5867f278df702971349c

	[RWM] Expose MultiInstanceManager API to close instance

	See design doc from linked bug for more details. This CL is a minor
	refactor to expose closeWindow() as a public API as prework for these
	changes.

	Bug: 460469478
	Change-Id: I60c63cf256ea13890f92314785eb01c394b01522
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7153799
2025-12-21 17:12:43 -05:00
Claudio DeSouza 469e77c97a [cr144] Correct SidePanelAnimationCoordinator side panel decl
This change corrects the forward declaration for `SidePanel` used by
`SidePanelAnimationCoordinator`.

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

commit 0a79d10497ab6b7e9fe859356648a5323159a186
Author: dljames <dljames@chromium.org>
Date:   Mon Nov 17 12:50:48 2025 -0800

    [TBHSP] Add animation coordinator for side panel

    Add an animation coordinator in the side panel to help coordinate all of
    the other animation sequences that should happen when the side panel is
    open or closed.

    Tests will be added in a subsequent patch due to the size of the
    implementation.

    Change-Id: I9bb5b6118f1abaf723401d6a7e4e14ee6a2b1ed2
    Bug: 445452247
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7139797
    Reviewed-by: Eshwar Stalin <estalin@chromium.org>
    Commit-Queue: Darryl James <dljames@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1546098}
2025-12-21 17:12:42 -05:00
Claudio DeSouza e1413e028d [cr144] HistoryServiceObserver::OnURLVisited updated
This function now receives a single argument of type `VisitedURLInfo`.

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

commit cb3309d8abc8aceb10bd606ffe66be4edc298645
Author: Tiffany Song <tiffanysong@google.com>
Date:   Mon Nov 17 08:22:29 2025 -0800

    [VL] Add response_code_category to NotifyURLVisited to pass to observers

    There are several overrides of HistoryServiceObserver that do not
    include 404 navigations, as 404 visits are not currently inserted into
    History. 404 visits will soon be inserted when
    history::kVisitedLinksOn404 is enabled, and not all of these overrides
    will want to include 404 navigations. In order to know if a visit has a
    404 result, we want to pass response_code_category through OnURLVisited
    and OnURLVisitedWithNavigationId.

    This CL also adds a param struct, `VisitedURLInfo`, to store the
    parameters for `NotifyURLVisited` and `OnURLVisited` in order to avoid
    large CLs like this one if more parameters need to be added.

    This CL is part of a larger project to make links `:visited` after a 404
    visit, while minimizing disruption to History consumers. Project links:
    - Google-internal project doc: go/stop-filtering-history-by-status-code
    - Issue tree / work status: https://crbug.com/427225439/dependencies

    Fixed: 458096507
    Change-Id: I85e201ec046939d987dad7af6683351283e7d67a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7122997
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Owners-Override: Nico Weber <thakis@chromium.org>
    Commit-Queue: Tiffany Song <tiffanysong@google.com>
    Reviewed-by: Jérôme Lebel <jlebel@chromium.org>
    Reviewed-by: manuk hovanesian <manukh@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1545935}
2025-12-21 17:12:42 -05:00
Claudio DeSouza 3821eee2d9 [cr144] Some WorkerGlobalScope Supplementables dropped
This change corrects some of the temporary patches in place for the
`Supplementable` enum.

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

commit c8dd4aeb57348f10a53dea620e7a01c27ce01552
Author: Steinar H. Gunderson <sesse@chromium.org>
Date:   Mon Nov 17 05:45:53 2025 -0800

    Make GlobalIndexedDBImpl not a Supplement.

    Part of Supplementable cleanup. Done by hand due to the templating
    that reaches into multiple classes.

    Bug: 460165754
    Change-Id: Ia82c15557f4fb2a9dffb2f1335e2baa8fdd7a6d7
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7156955
    Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
    Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1545861}
2025-12-21 17:12:42 -05:00
Claudio DeSouza 3fe8f0d2c1 [cr144] FlushReason::kNon2DCanvas deleted
This entry has been removed, and `FlushReason::kOther` is enough in its
place.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/72567f931b59526f766391a63f06b37d1945d662

commit 72567f931b59526f766391a63f06b37d1945d662
Author: Colin Blundell <blundell@chromium.org>
Date:   Mon Nov 17 01:04:02 2025 -0800

    [Blink] Remove FlushReason::kNon2DCanvas

    Neither FlushReason::kNon2DCanvas nor FlushReason::kOther are ever
    referenced other than being passed (i.e., they have equivalent
    semantics, which is "not one of the FlushReason values that is directly
    equality-checked somewhere in the code"). Hence, we can replace usage
    of the former with usage of the latter.

    Note: The FlushReason params passed to StaticBitmapImageTransform
    bottom out in being passed to CanvasResourceProvider::Snapshot() [1].

    [1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/platform/graphics/static_bitmap_image_transform.cc;l=288;drc=373d7fdb08be061501a27cf72cb0ff846fbd0899;bpv=1;bpt=1

    Bug: 352263194
    Change-Id: Ibf1105e86507f3adffb3b088f68f4dfc9ccb095a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7156733
    Commit-Queue: Colin Blundell <blundell@chromium.org>
    Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1545745}
2025-12-21 17:12:41 -05:00
Claudio DeSouza 452c46159d [cr144] Fixing Missing explicit import statement ESLint
This fix adds the .js files expected by the linter.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/231eecfbd9f7f7723b6ffa7e38e515d456249a96

commit 231eecfbd9f7f7723b6ffa7e38e515d456249a96
Author: dpapad <dpapad@chromium.org>
Date:   Fri Nov 14 10:34:35 2025 -0800

    WebUI: Implement @webui-eslint/web-component-missing-deps check.

    This check finds all child custom elements used in an .html.ts template
    file and compares them with the imports appearing in the corresponding
    class definition file to find missing dependencies.

    Once enabled it will programmatically address a very frequent source of
    developer confusion where direct dependencies are not always explicitly
    imported, often leading to hard to debug failures in tests.

    It will be enabled gradually in follow-up CLs by passing
    enable_web_component_missing_deps in build_webui() as violations are
    fixed. After that it will be enabled by default.

    Bug: 457866803
    Change-Id: Ib5cef7d62e910aaccf6ac0814ff5bf3ca35577e9
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7123208
    Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
    Commit-Queue: John Lee <johntlee@chromium.org>
    Reviewed-by: John Lee <johntlee@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1545093}
2025-12-21 17:12:41 -05:00
Claudio DeSouza 6e15f030f0 [cr144] GlobalFetchImpl not suplementable-listed
This affects the patch in place for `NavigatorBase`, which this change
corrects.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/704b026b3655eccd353c13efb14a4b045dbd9def

commit 704b026b3655eccd353c13efb14a4b045dbd9def
Author: Steinar H. Gunderson <sesse@chromium.org>
Date:   Mon Nov 17 04:41:16 2025 -0800

    Make GlobalFetchImpl not a Supplement.

    Part of Supplementable cleanup. Done by hand due to the templating
    that reaches into multiple classes.

    Bug: 460165754
    Change-Id: I027c6903bc01d56f4b4e708a4b70b4fc66330842
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7157234
    Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
    Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1545837}
2025-12-21 17:12:40 -05:00
AlexeyBarabash 3fe0da5491 [cr144][Android] New incognitoWindowCountSupplier arg
Applied to:
- ToolbarLayout.initialize;
- TopToolbarCoordinator.ctor.

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/42bcda88453ce3583443c1bb1f73fdb9baf613e4

	Get proper count of Incognito windows in Incognito Indicator Menu UI

	This is a follow-up to
	https://chromium-review.googlesource.com/c/chromium/src/+/7023602 which
	creates a menu to close all Incognito windows from the Incognito
	indicator.

	Bug: 435491652
	Change-Id: Iec6e0ce31bfd8e4f2f4700c6d0858c46566358e5
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6977604
2025-12-21 17:12:40 -05:00
Claudio DeSouza edd07c432e [cr144] AsStringView removed from der::Input
This is now handled through base extension

Chromium change:
https://boringssl.googlesource.com/boringssl/+/d409d1853233ede6b69d25c6fd4529fd59791b6d

    Remove some non-span methods of der::Input

    I believe all these uses are gone now. (der::Input can't quite be made a
    typedef yet. We still need to clear out the std::string_view
    constructor, and do something about the comparator.)

    Bug: 41347540
    Change-Id: Ib66c9fb72b57a3b17c41758928592ad30f9342da
    Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/84088
    Commit-Queue: Rudolf Polzer <rpolzer@google.com>
    Auto-Submit: David Benjamin <davidben@google.com>
    Reviewed-by: Rudolf Polzer <rpolzer@google.com>
2025-12-21 17:12:39 -05:00
Claudio DeSouza b8880d1473 [cr144] Fixing eslint bind postion and duplicates
These are fixes occasioned by ESLint reports. The patch one in particular now
requires the code to be actually deleted, as commenting out the element still
triggers the linter. However, we don't need this patch at all, so we can safely
remove it here.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/12ba9f2f1e55594485b6f42c298448357e531c51

commit 12ba9f2f1e55594485b6f42c298448357e531c51
Author: dpapad <dpapad@chromium.org>
Date:   Thu Nov 13 21:14:25 2025 -0800

    WebUI: Turn on more eslint-plugin-lit checks in build_webui().

    Specifically turning on the following checks:
     - binding-positions
     - no-duplicate-template-bindings
     - no-invalid-escape-sequences
     - no-private-properties

    All violations have been fixed in a precursor CL.

    Since the checks look for valid HTML code, they need to be applied only
    after <if expr> statements have been processed and therefore they are
    better suited as a build time ESLint check.

    Bug: 457650895
    Change-Id: Icc9689c37b2ee13e36983dbc966ddf6fe762536d
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7123310
    Commit-Queue: Teresa Mao <temao@chromium.org>
    Reviewed-by: Teresa Mao <temao@chromium.org>
    Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1544736}
2025-12-21 17:12:39 -05:00
Claudio DeSouza f8e70f2042 [cr144] kOmniboxAction deleted
This feature was already disabled in upstream, and has now been removed.

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

commit 0de09dd190c3b34548dc5c4df581cddcacb8e68e
Author: Benjamin Keen <bkeen@google.com>
Date:   Thu Nov 13 21:53:16 2025 -0800

    [CodeHealth] Remove stale base::Feature JourneysOmniboxAction

    Feature disabled on M113 by https://crrev.com/c/4316749.

    NO_IFTTT=Feature not defined in ChromeFeatureList.java, removed on https://crrev.com/c/5345769.

    Bug: 356236364
    Change-Id: Id0ffd0f24ad4e83dd2f256e034a73357c3603c63
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7142259
    Commit-Queue: Benjamin Keen <bkeen@google.com>
    Reviewed-by: manuk hovanesian <manukh@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1544747}
2025-12-21 17:12:38 -05:00
Claudio DeSouza dfd55169f6 [cr144] LocalFrame not Supplementable
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0f6376931bf3fb3d504a646fe904f3dc2287faa6
https://chromium.googlesource.com/chromium/src/+/209a1e822a43055ed8beff03a552a492ea024d2f

commit 0f6376931bf3fb3d504a646fe904f3dc2287faa6
Author: Steinar H. Gunderson <sesse@chromium.org>
Date:   Fri Nov 14 06:12:48 2025 -0800

    Make LocalFrame less Supplementable.

    Part of Supplementable cleanup. Done with a script followed by
    human cleanup/review and git cl format.

    There's one case left that we haven't solved, due to issues with
    diamond inheritance and ambiguous casts. We will deal with that
    later.

    Bug: 460165754
    Change-Id: I94e843232ec47b8aa07c49877a4b8aa539daa08e
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7146310
    Auto-Submit: Steinar H Gunderson <sesse@chromium.org>
    Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
    Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1544916}

commit 209a1e822a43055ed8beff03a552a492ea024d2f
Author: Steinar H. Gunderson <sesse@chromium.org>
Date:   Fri Nov 14 06:13:02 2025 -0800

    Make LocalFrame not Supplementable.

    Part of Supplementable cleanup. Done with a script followed by
    human cleanup/review and git cl format.

    This required extending ForwardDeclaredMember with an extra
    (optional) parameter to support supplements that inherit twice
    from GarbageCollectedMixin.

    Bug: 460165754
    Change-Id: Ic8ac4b3dd20810b77943a5b36955cbc597a7e82f
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7151118
    Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
    Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1544917}
2025-12-21 17:12:38 -05:00
Emerick Rogul 32f9f997bc [cr144] Disable kDbdRevampDesktop for now
We don't want to take on the Delete Browser Data dialog redesign at the moment,
per product. When disabling this feature, I fixed up the alphabetical ordering
of the include_rules in the BUILD.gn file.

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

commit fd52f33cff1c7c1d24b2c6851f881cf415b7c61f
Author: Mohamad Arab <arabm@google.com>
Date:   Thu Oct 30 07:43:24 2025 -0700

    DBDRevamp: Enable `kDbdRevampDesktop` by default.

    This change enables the revamped browsing data deletion UI on desktop platforms by default.

    launch/4402795

    Change-Id: I73964f2882762b122bb9af0ea69f2969cba7babe
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7100958
    Reviewed-by: Christian Dullweber <dullweber@chromium.org>
    Commit-Queue: Mohamad Arab <arabm@google.com>
    Cr-Commit-Position: refs/heads/main@{#1537916}
2025-12-21 17:12:37 -05:00
Emerick Rogul 4c39f53836 [cr144] Settings WebUI using lowerCamelCase for attributes
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/cbb436d13410c42836857280a85754be6d0a213a

commit cbb436d13410c42836857280a85754be6d0a213a
Author: Rainhard Findling <rainhard@chromium.org>
Date:   Thu Oct 9 00:53:25 2025 -0700

    WebUI Settings code health: lowerCamelCase IDs in privacy_page/

    Some WebUI Settings html element IDs are not in the lowerCamelCase
    style, which is used in this part of the codebase by convention, and
    which makes accessing the element in TS easier (`this.$.fooBar`
    instead of `this.$['foo-bar']`.

    This CL updates IDs that are not in lowerCamelCase style within the
    privacy_page/.

    Fixed: 450285463
    Bug: 420339695
    Change-Id: Ic713b5387f7ce9601e39f5ec2c5282c48754ba7a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7023109
    Reviewed-by: Nicola Tommasi <tommasin@chromium.org>
    Commit-Queue: Rainhard Findling <rainhard@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1527371}
2025-12-21 17:12:37 -05:00
Claudio DeSouza 3ff3c6460e [cr144] kAutofillServerCommunication under new path
This change corrects the override source path to disable
`kAutofillServerCommunication`, and the new namespace as well.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/12245f7e1548159c037a70ad7376083ac440c843

commit 12245f7e1548159c037a70ad7376083ac440c843
Author: Christoph Schwering <schwering@google.com>
Date:   Tue Nov 11 22:49:08 2025 -0800

    [Autofill] Move debug base::Features to separate file

    Moving the base::Features to a separate file makes it easier to enforce
    an alphabetic ordering.

    The CL renames the namespace from "test" to "debug" because the
    features are not test-only (analogously to base::test vs base::debug).

    Bug: 40100455
    Change-Id: I2a2a607f43b12ad3e5409ad77faf088d9e3391f7
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7141581
    Reviewed-by: Jan Keitel <jkeitel@google.com>
    Auto-Submit: Christoph Schwering <schwering@google.com>
    Commit-Queue: Jan Keitel <jkeitel@google.com>
    Cr-Commit-Position: refs/heads/main@{#1543547}
2025-12-21 17:12:36 -05:00
Claudio DeSouza 3f84ad36ab [cr144] Provide kSupplementIndex to Supplement classes
This requires some patching unfortunately, as the value goes into an
array, and the total number of keys is supposed to be used for the size
of the storage.

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

commit a0c6dba59914aec4a758d89508e39e0c524abad6
Author: Steinar H. Gunderson <sesse@chromium.org>
Date:   Tue Nov 11 11:34:13 2025 -0800

    Make Supplementable array-based.

    The Supplementable system is a performance trap; it makes what seems
    like a simple member access into a hash table lookup, and some of the
    Supplements are looked up a fair bit during normal usage. Furthermore,
    the hash table takes memory in itself, so the actual wins are much
    smaller than one would assume. Even more so when most of the objects
    are very rare (e.g., there's usually a single-digit number of Documents
    floating around in the renderer).

    It would probably be good to get rid of the entire system, but it still
    plays a role in allowing members that would otherwise be a layering
    violation (in practice, the only real problem is that the containing
    class needs to be able to see the Trace() member function of the
    supplement). Thus, this CL changes Supplementable from being a hash
    table into being a simple std::array, i.e., mostly the same performance
    as you'd have if just making everything Member<> directly. This requires
    some coordination around which Supplement goes into which slot, which we
    solve by adding a strong enum on the Supplementable.

    A future cleanup CL can remove most Supplements (the ones that don't
    cross components) and change them into direct Members, for clarity
    (which also allows removing the vtable in some cases, and make life
    easier for the optimizer).

    Most classes go _down_ in size. The ones that go up are (debug mode;
    release should be very similar):

      Document:                  3240 → 3328 bytes
      ExecutionContext:           376 →  480 bytes
      NavigatorBase:              136 →  176 bytes
      LocalDOMWindow:             912 → 1152 bytes
      Navigator:                  408 →  560 bytes
      ServiceWorkerRegistration:  256 →  272 bytes

    These numbers assume that zero Supplements are set (i.e., best case
    for the old system); if there are any, then the memory allocated
    dynamically by the hash table on inserts need to be added to the
    left side.

    On the flip side, APK size goes down by ~60 kB (~180 kB for the 64-bit
    version). Uncompressed, the Linux Chrome binary (with LTO, but not PGO)
    loses ~182 kB of code (.text segment). Executed code uses RAM and cache
    space just like classes do, so this alone would probably take RAM usage
    well in the green, even discounting the gains making some classes
    smaller.

    Three Supplementable classes did not have a single Supplement and were
    simply taken out of the system. Similarly, a couple of classes were
    registered as Supplement but never actually used as such, so they were
    also taken out.

    This change touches on a lot of files, but almost all of the changes
    are mechanical (done by editor macros aided by human touch). git cl
    format has been run throughout.

    Performance appears to be neutral; seemingly, we extracted the
    biggest win already by taking ViewTransitionSupplement out of this
    system.

    Change-Id: I00c17abc0f32f25e8c767cf47f8c11b90b986054
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7137321
    Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
    Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1543258}
2025-12-21 17:12:36 -05:00
Claudio DeSouza 17217761e9 [cr144] More eslint fixes
These fixes are regarding
`non-void-html-element-start-tag-with-trailing-solidus` checks.

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

commit 8a2e886b81e26a48f05f36d72589b55f7a77464f
Author: dpapad <dpapad@chromium.org>
Date:   Mon Nov 10 23:44:00 2025 -0800

    WebUI: Fix more violations of upcoming eslint-plugin-lit checks.

    Specifically fixing violations for the upcoming checks:
     - binding-positions
     - no-duplicate-template-bindings
     - no-invalid-escape-sequences
     - no-private-properties

    as well as of the already existing no-invalid-html check, which is
    erroneously not applied to auto-generated .html.ts wrapper files (will
    be addressed in a follow-up).

    Note: Even though these checks are part of eslint-plugin-lit,they are
    applied to Polymer code as well which is OK, since they find legitimate
    problems in Polymer HTML templates.

    Bug: 457650895
    Change-Id: Ib0e3044af2f0928089b883e713ee2c0b98751e94
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7124436
    Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
    Reviewed-by: Teresa Mao <temao@chromium.org>
    Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1542991}
2025-12-21 17:12:35 -05:00
Claudio DeSouza 87451b7695 [rust][cr144] gnrt license parsing done with spdx
This has made the patching we had for several other licenses obsolete
through the existing array.

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

commit 8bf5b006f84452174862bf817b1514dea7b396b3
Author: Lukasz Anforowicz <lukasza@chromium.org>
Date:   Mon Nov 10 20:08:40 2025 -0800

    [gnrt] Use `spdx` to parse license strings.

    Before this CL, `gnrt` would contain a hardcoded map from strings
    like `"(Apache-2.0 OR MIT) AND BSD-3-Clause"` into a vector of
    `LicenseKind`s (e.g. `Apache2, BSD3` for the earlier example).

    After this CL, license strings are parsed and translated into
    minimized requirements using the `spdx` crate.

    Manual testing:

    * `cd tools/crates/gnrt; cargo test` and checking that tests
      continue to pass
    * `rm -rf third_party/rust/chromium_crates_io/vendor;
       tools/crates/run_gnrt.py vendor` and checking that it
       doesn't make any changes.

    Bug: 459579908
    Change-Id: Ic54522923f585fd2fbbeb79486b5127352071e5d
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7139758
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1542950}
2025-12-21 17:12:35 -05:00
Claudio DeSouza 1f350d2580 [cr144] Use AreV8OptimizationsEnabledForSite
This function was `AreV8OptimizationsDisabledForSite`, and the new
version does have an argument that is being left as nullopt for now.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/9beb38036b1d0c27a836afdf3d4e6b0ef6296708

commit 9beb38036b1d0c27a836afdf3d4e6b0ef6296708
Author: Peter KH <pkotwicz@google.com>
Date:   Sun Nov 9 12:22:48 2025 -0800

    Defer navigation till v8-optimization-verdict computation completes

    Original review at crrev.com/c/6897186
    This CL differs from the original CL in that it uses
    HostContentSettingsMap::SetContentSettingCustomScope() (which
    takes a pattern as a parameter) instead of
    HostContentSettingsMap::SetWebsiteSettingDefaultScope() (which takes
    a GURL as a parameter).

    This CL:
    - Introduces SiteFamiliarityProcessSelectionDeferringCondition and
    SiteFamiliarityFetcher.
    SiteFamiliarityFetcher computes whether a site is considered familiar
    based on the user's browsing history and safe browsing's
    high-confidence-allowlist
    SiteFamiliarityProcessSelectionDeferringCondition:
    - Defers the navigation if the v8-optimization verdict computation
        has not completed.
    - Add SiteFamiliarityProcessSelectionUserData on the ProcessSelectionUserData.
    - ChromeContentBrowserClient::AreV8OptimizationsEnabledForSite() is
    modified to query the verdict computed by SiteFamiliarityFetcher.

    Precedence on determining whether to enable v8-optimizer:
    - Content-settings-exceptions specified in chrome://settings take
    precedence on site familiarity.
    - Site familiarity is only a factor if a user opts-into "disabling
    v8-optimizers based on site-familiarity" in chrome://settings.

    Algorithm for determining whether site is familiar:
    - A site is deemed unfamiliar if the user has
    never visited the site prior to 24 hours ago in a toplevel frame and
    the site is not on the safe-browsing-high-confidence-allowlist.
    - Sites are only considered familiar if they have been previously
    visited in a toplevel frame. (A site will never be considered familiar
    if it was only ever visited in an iframe).
    - chrome-extension:// URLs are always considered familiar for now
    - This CL does not change whether data:// URL iframes can share a
    render process with the parent frame. Figuring out the exact policies
    for site familiarity for data:// URLs will probably need additional
    work. See https://issues.chromium.org/452135534

         SiteFamiliarityProcessSelectionDeferringConditionTest.*

    Bug: 441727826
    Test: JavascriptOptimizerBrowserTest*,
    Change-Id: I2e8acae3e0b58ebd95b19801fa03d3cf544c6b6e
    Cq-Include-Trybots: luci.chromium.try:linux-oi-rel
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7107119
    Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
    Reviewed-by: Javier Castro <jacastro@chromium.org>
    Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
    Commit-Queue: Peter Kotwicz <pkotwicz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1542334}
2025-12-21 17:12:34 -05:00
sangwoo ko 3278cff93d Migrate PIP overlay view implementation to Upstream
As of cr144, the upstream's PIP enhancements is enabled by default.
And the functionalities we added in Brave's PIP overlay view are now
supported by upstream. So remove Brave's custom implementation and
use upstream's one, while leaving styling changes.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/272e69430c552717d7d0a6c9fd10f7a8ff1666ab

commit 272e69430c552717d7d0a6c9fd10f7a8ff1666ab
Author: Tommy Steimel <steimel@chromium.org>
Date:   Mon Nov 10 15:35:32 2025 -0800

    [video pip] Remove old controls

    We recently launched updated controls for video picture-in-picture.
    This CL removes the old controls completely, which greatly simplifies
    the code structure.

    Change-Id: Ifaa79a7067b5b50c4d481fd2f3a0f9194bfdae36
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7078879
    Commit-Queue: Tommy Steimel <steimel@chromium.org>
    Reviewed-by: Frank Liberato <liberato@chromium.org>
    Reviewed-by: Fr <beaufort.francois@gmail.com>
    Reviewed-by: Tom Lukaszewicz <tluk@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1542822}
2025-12-21 17:12:34 -05:00
Emerick Rogul c4f2fd4cce [cr144] Video PIP no longer has a Back to Tab button
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/272e69430c552717d7d0a6c9fd10f7a8ff1666ab

commit 272e69430c552717d7d0a6c9fd10f7a8ff1666ab
Author: Tommy Steimel <steimel@chromium.org>
Date:   Mon Nov 10 15:35:32 2025 -0800

    [video pip] Remove old controls

    We recently launched updated controls for video picture-in-picture.
    This CL removes the old controls completely, which greatly simplifies
    the code structure.

    Change-Id: Ifaa79a7067b5b50c4d481fd2f3a0f9194bfdae36
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7078879
    Commit-Queue: Tommy Steimel <steimel@chromium.org>
    Reviewed-by: Frank Liberato <liberato@chromium.org>
    Reviewed-by: Fr <beaufort.francois@gmail.com>
    Reviewed-by: Tom Lukaszewicz <tluk@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1542822}
2025-12-21 17:12:33 -05:00