Commit Graph
5056 Commits
Author SHA1 Message Date
Artem Samoilenko f17f7f54b6 [cr145][Android] Unify #getInstanceInfo() APIs
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/814d968251668c4eba1b96d961633a91467c1e12

commit 814d968251668c4eba1b96d961633a91467c1e12
Author: Michael Wu <mklw@google.com>
Date:   Mon Dec 8 14:17:00 2025 -0800

    Unify #getInstanceInfo() APIs

    We have two #getInstanceInfo() APIs currently:
    - getInstanceInfo()
    - getInstanceInfo(@PersistedInstanceType int persistedInstanceType)
    We should remove 1 in favor of keeping only 2. Existing call-sites of 1
    should be appropriately updated to pass PersistedInstanceType.ANY.

    Bug: 467083292
    Change-Id: I94decc397bebf483992eebf171d54e901a40c5ac
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7237457
    Commit-Queue: Michael Wu <mklw@google.com>
    Reviewed-by: Sirisha Kavuluru <skavuluru@google.com>
    Cr-Commit-Position: refs/heads/main@{#1555733}
2026-01-29 13:40:29 -05:00
Artem Samoilenko fc2018ee13 [cr145][Android] Delete UnownedUserDataSupplier
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/5555698ab42fba6498c51463de66999eae533870

commit 5555698ab42fba6498c51463de66999eae533870
Author: Andrew Grieve <agrieve@chromium.org>
Date:   Thu Dec 4 14:46:16 2025 -0800

    Android: Delete UnownedUserDataSupplier

    Working towards removing all ObservableSupplierImpl subclasses.

    Bug: 455874046
    Change-Id: I2fed44d1892ebac9fba321816da592acfa915e14
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7225955
    Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
    Commit-Queue: Andrew Grieve <agrieve@chromium.org>
    Auto-Submit: Andrew Grieve <agrieve@chromium.org>
    Owners-Override: Andrew Grieve <agrieve@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1554316}
2026-01-29 13:40:24 -05:00
Artem Samoilenko 6fa6898c28 [cr145][Android] Split ObservableSupplier into Nullable / Monotonic / NonNull variants
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/416a61c418c152a7a7ae568d89302e5ecb6e4a3d

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

    Android: Split ObservableSupplier into Nullable / Monotonic / NonNull variants

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

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

    And we have ObservableSupplierImpl implement all of them.

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

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

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

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

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

    Bug: 455874046
    Change-Id: Id48e235b9ff16a5b21a9c1199863150d17c22736
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7206746
    Commit-Queue: Andrew Grieve <agrieve@chromium.org>
    Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
    Owners-Override: Andrew Grieve <agrieve@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1553094}
2026-01-29 13:40:19 -05:00
samartnik 5edc5d977f [Android][Large Screen] Minor accessibility fixes for NTP (#33497) 2026-01-29 13:27:16 -05:00
Szilard Szaloki 8e182088f1 [Android] Consolidate Account strings into components. (#33493) 2026-01-29 08:01:13 -08:00
vadims ab701482db [Shred] Auto shred UI implementation (#33414)
Added UI implementation for the auto shred feature

Resolves: https://github.com/brave/brave-browser/issues/52278
Resolves: https://github.com/brave/brave-browser/issues/51620
---------

Signed-off-by: Vadym Struts <vstruts@brave.com>
2026-01-29 12:17:49 +01:00
Serg 4ab77b35ea [Android] Shows Brave VPN UI based on policy. (#33467)
Resolves: https://github.com/brave/brave-browser/issues/52355
2026-01-28 18:56:10 +00:00
samartnik d34037fa36 [Android][Large Screen] Add highlight for Brave News options (#33463) 2026-01-28 12:02:05 -05:00
Szilard Szaloki 486b67e1d1 Account: disabled-state styling for BraveAccountPreference (#33439) 2026-01-27 21:46:59 +00:00
Szilard Szaloki d9a43e733d Account: resend verification email notifications (Android) (#33410) 2026-01-27 01:48:15 +00:00
Serg 49c34d0a46 [Android] Fixes a crash inside ReturnToChromeUtil.showHomeSurfaceUiOnNtp when HomeSurfaceTracker object is null. (#33408)
[Android] Fixes a crash inside ReturnToChromeUtil.showHomeSurfaceUiOnNtp
when HomeSurfaceTracker object is null.

Resolves: https://github.com/brave/brave-browser/issues/52283
2026-01-26 19:13:05 +00:00
Serg e68153b672 [Android] Checks origin pref policies directly for Leo AI and Rewards. (#33392)
Currently there is an async mojo call to check policies for Leo and
Rewards, that is an overhead and not needed, in fact it could be wrong
if the policies controlled by something else that is not Origin.
Resolves: https://github.com/brave/brave-browser/issues/52244
2026-01-23 20:59:10 +00:00
samartnik 020672d0c5 [Android] Regain camera focus on app changing for QR code reader (#33376) 2026-01-22 17:13:12 -05:00
samartnik 226fe4e385 [Android] Fix for distorted QR reader video capture (#33373) 2026-01-22 13:44:00 -05:00
Serg ec99d6c72e [Android] Shows Brave News UI based on policy. (#33342)
Resolves: https://github.com/brave/brave-browser/issues/52170
2026-01-21 21:48:09 +00:00
Szilard Szaloki 720d311f43 Account: implements ResendConfirmationEmail() (#33303) 2026-01-20 06:49:01 -07:00
Pavel Beloborodov 2ce409f4d0 Localhost Permission => Local Network Access cleanup (#32910)
Brave's custom localhost access permission feature has been replaced with Chromium's Local Network Access (LNA) feature.
2026-01-20 20:20:32 +07:00
Serg 083d518099 [Android] Fixes a crash on VPN service stop. (#33291)
Resolves: https://github.com/brave/brave-browser/issues/52102
2026-01-19 22:52:37 +00:00
Serg 0d070296e3 [Android] Show AI chat UI elements based on policy. (#33256)
Resolves: https://github.com/brave/brave-browser/issues/51974
2026-01-16 23:32:38 +00:00
Brian Johnson bff8ee509f Reland - Move replacement files for chromium resources to their own directory (#33204)
This moves files that are directly copied over chromium resources to a separate directory where they are checked to make sure that there is a corresponding upstream file. This is the first step in a series of changes to clean up branding.js https://github.com/brave/brave-browser/issues/51969
2026-01-14 19:44:13 +00:00
Brian Johnson 54166dfe58 Revert "Move files that overwrite chromium resources to their own directory" (#33203)
Revert "Move files that are copied to chromium to their own directory (#33159)"

This reverts commit 9324eec2d3.
2026-01-14 13:56:06 +00:00
Brian Johnson 9324eec2d3 Move files that are copied to chromium to their own directory (#33159)
Separate files that overwrite chromium resources from brave specific resources and validate that there is a corresponding file in upstream.
2026-01-14 05:18:58 -07:00
Serg 25c9a56cbe [CodeHealth][Android] Adjusts policy const generator to respect acronyms. (#33188)
[CodeHealth][Android] Adjusts policy const generator to respect
acronyms.

Resolves: https://github.com/brave/brave-browser/issues/51950
2026-01-13 20:50:38 +00:00
Brian Johnson 00d4bc735d Fix copyright presubmit issues that came when moving files in https://github.com/brave/brave-core/pull/33159
This allows 33159 to just move the relevant files with no changes to them
2026-01-13 20:31:33 +00:00
Serg ca943bf511 [Android] Fixes snackbar is not shown on the tablet after closing and relaunching Brave on NTP recent tab. (#33177)
[Android] Fixes snackbar is not shown on the tablet after closing and
relaunching Brave on NTP recent tab.

Resolves: https://github.com/brave/brave-browser/issues/51940
2026-01-13 12:58:50 -05:00
Serg 89c10da5b7 [Android] Dismisses Get back to your most recent tab on favorite and on private tab open. (#33162)
[Android] Dismisses Get back to your most recent tab on favorite
and on private tab open.

Resolves: https://github.com/brave/brave-browser/issues/51937
2026-01-13 00:56:10 +00:00
Serg 0a7ac78d6e [Android] Hide Brave Rewards UI elements when disabled by policy (#33116)
[Android] Hide Brave Rewards UI elements when disabled by policy

Implements policy-based visibility control for Brave Rewards across
Android UI. When BRAVE_REWARDS_DISABLED policy is active via Brave
Origin subscription settings, all rewards-related UI elements are
now properly hidden.

Resolves: https://github.com/brave/brave-browser/issues/51826
2026-01-12 20:24:01 +00:00
Serg 0705dc6245 [Android] Dismisses Get back to your most recent tab on tab switch and on NTP open. (#33141)
[Android] Dismisses Get back to your most recent tab on tab switch
and on NTP open.

Resolves: https://github.com/brave/brave-browser/issues/51927
2026-01-12 16:48:59 +00:00
Szilard Szaloki 505fa0ff58 Account: remove placeholder + show email (Android) (#33078) 2026-01-08 03:16:53 +01:00
samartnik bd2d4b53df [cr144][Android] Additional fixes for adaptive toolbar buttons (#33066)
* [cr144][Android] Additional fixes for adaptive toolbar buttons

This is additional fixes for the following change https://github.com/brave/brave-core/commit/de0e4fcc2f620c6c725093ab5626adb9b120e061

* Presubmit fixes

* Additional presubmit fixes
2026-01-07 15:41:18 -05:00
Serg 81387558a0 [Android] Crash on app reviews (#32973)
Fixes a crash on app reviews in certain cases.
Resolves: https://github.com/brave/brave-browser/issues/51708
2025-12-30 13:26:49 -05:00
Brian Clifton c1def2b65a Remove obsolete setting from search settings (#32950)
* Remove obsolete setting from search settings

Fixes https://github.com/brave/brave-browser/issues/51656

* lint fixup
2025-12-29 14:51:19 -07:00
Emerick Rogul b6f07e6dfb Upgrade from Chromium 143 to Chromium 144 (#32111)
Resolves https://github.com/brave/brave-browser/issues/50549

<!-- CI-related labels that can be applied to this PR:
* CI/run-audit-deps (1) - check for known npm/cargo vulnerabilities
(audit_deps)
* CI/run-network-audit (1) - run network-audit
* CI/run-upstream-tests - run Chromium unit and browser tests on Linux
and Windows (otherwise only on Linux)
* CI/run-linux-arm64, CI/run-macos-x64, CI/run-windows-arm64,
CI/run-windows-x86 - run builds that would otherwise be skipped
* CI/skip - do not run CI builds (except noplatform)
* CI/skip-linux-x64, CI/skip-android, CI/skip-macos-arm64, CI/skip-ios,
CI/skip-windows-x64 - skip CI builds for specific platforms
* CI/skip-upstream-tests - do not run Chromium unit, or browser tests
(otherwise only on Linux)
* CI/skip-all-linters - do not run presubmit and lint checks
* CI/storybook-url (1) - deploy storybook and provide a unique URL for
each build

(1) applied automatically when some files are changed (see:
https://github.com/brave/brave-core/blob/master/.github/labeler.yml)
-->

## Submitter Checklist:

- [ ] I confirm that no [security/privacy review is
needed](https://github.com/brave/brave-browser/wiki/Security-reviews)
and no other type of reviews are needed, or that I have
[requested](https://github.com/brave/reviews/issues/new/choose) them
- [ ] There is a [ticket](https://github.com/brave/brave-browser/issues)
for my issue
- [ ] Used Github [auto-closing
keywords](https://docs.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue)
in the PR description above
- [ ] Wrote a good [PR/commit
description](https://google.github.io/eng-practices/review/developer/cl-descriptions.html)
- [ ] Squashed any review feedback or "fixup" commits before merge, so
that history is a record of what happened in the repo, not your PR
- [ ] Added appropriate labels (`QA/Yes` or `QA/No`;
`release-notes/include` or `release-notes/exclude`; `OS/...`) to the
associated issue
- [ ] Checked the PR locally:
* `npm run test -- brave_browser_tests`, `npm run test --
brave_unit_tests`
[wiki](https://github.com/brave/brave-browser/wiki/Tests)
* `npm run presubmit`
[wiki](https://github.com/brave/brave-browser/wiki/Presubmit-checks),
`npm run gn_check`, `npm run tslint`
- [ ] Ran `git rebase master` (if needed)

## Reviewer Checklist:

- [ ] A security review [is not
needed](https://github.com/brave/brave-browser/wiki/Security-reviews),
or a link to one is included in the PR description
- [ ] New files have MPL-2.0 license header
- [ ] Adequate test coverage exists to prevent regressions
- [ ] Major classes, functions and non-trivial code blocks are
well-commented
- [ ] Changes in component dependencies are properly reflected in `gn`
- [ ] Code follows the [style
guide](https://chromium.googlesource.com/chromium/src/+/HEAD/styleguide/c++/c++.md)
- [ ] Test plan is specified in PR before merging

## After-merge Checklist:

- [ ] The associated issue milestone is set to the smallest version that
the
  changes has landed on
- [ ] All relevant documentation has been updated, for instance:
- [ ]
https://github.com/brave/brave-browser/wiki/Deviations-from-Chromium-(features-we-disable-or-remove)
- [ ] https://github.com/brave/brave-browser/wiki/Proxy-redirected-URLs
- [ ]
https://github.com/brave/brave-browser/wiki/Fingerprinting-Protections
- [ ]
https://github.com/brave/brave-browser/wiki/Brave%E2%80%99s-Use-of-Referral-Codes
- [ ]
https://github.com/brave/brave-browser/wiki/Web-Compatibility-Exceptions-in-Brave
  - [ ] https://github.com/brave/brave-browser/wiki/QA-Guide
  - [ ] https://github.com/brave/brave-browser/wiki/P3A

## Test Plan:
2025-12-22 11:17:39 -05:00
vadims 1785db4c91 [Shred] Add animation for shred site data (#32875)
Implemented the animation to show while we shredding the site data,
at the end of animation added a fade out from the completely black
screen to the reveal.

Resolves: https://github.com/brave/brave-browser/issues/51535

---------

Signed-off-by: Vadym Struts <vstruts@brave.com>
2025-12-22 17:03:13 +01:00
Artem Samoilenko 999dc84674 [cr145][Android] Changes for zoom indicator
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/63fb0f5689e4667f99afc9d2bf903515425aedf6

commit 63fb0f5689e4667f99afc9d2bf903515425aedf6
Author: Sirisha Kavuluru <skavuluru@google.com>
Date:   Thu Dec 11 16:36:20 2025 -0800

    [ToolbarRefactor] Trigger allocateAvailableToolbarWidth when zoom indicator is added to omnibox.

    allocateAvailableToolbarWidth handles updating all toolbar views based on available layout width and is invoked during Toolbar#onMeasure(). However, location bar URL action container view updates (specifically toggling zoom indicator visibility) does not trigger onMeasure(). Invoking allocateAvailableToolbarWidth() manually for zoom indicator.

    We might need to do the same for other buttons or pivot to a more scalable solution (eg: onGlobalLayoutChangeListener to listen to child view visibility changes) but landed this as a temporary fix to unblock zoom indicator + toolbar resize exp

    Bug: 461853892
    Change-Id: I22a8113f9a701b826528d7725c13cac78ccfec76
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7201190
    Auto-Submit: Sirisha Kavuluru <skavuluru@google.com>
    Reviewed-by: Hitarth Kothari <hitarthkothari@google.com>
    Reviewed-by: Charles Hager <clhager@google.com>
    Commit-Queue: Sirisha Kavuluru <skavuluru@google.com>
    Cr-Commit-Position: refs/heads/main@{#1557771}
2025-12-21 17:13:38 -05:00
AlexeyBarabash 28361e4dcc [cr144][Android] New arg disableVerticalScrollbar at AppMenu.ctor
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/8e315f852b47633601696f1fab3ec20cac370730

	[Zoom Indicator] Disable scrollbars for the app menu list.

	Adds android:scrollbars="none" to the ListView in app_menu_layout.xml to
	prevent scrollbars from being shown. This is done programmatically to
	flag guard it. will move it to xml once launched.

	Bug: 463395239
	Change-Id: I75758df978423481d4a44ca995c8030279719749
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7204847
2025-12-21 17:13:28 -05:00
AlexeyBarabash 282b13ecb9 [cr144][Android] Fix for NTP shortcuts when NTP images are turned off
STR to verify there is no crash:
1. Pin one shortcut
2. Turn background images off
3. Restart

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

[MVT] Fix MVT container sizing and centering on Tablets.

By "blocks" we include MVT tiles and the "Add now" button.

On Tablets, blocks and its container have special behavior:
1. Depending on **initial** block count, these render in modes:
  * Centered: With "few" blocks present: The container is WRAP_CONTENT,
    and "edge margins" (outer margin of outer blocks) expanded so blocks
    are centered and immobile.
  * Overflowed: With "many" blocks present: The container is
    MATCH_PARENT, and "edge margins" are assigned a fixed value. The
    blocks become scrollable.
2. When changing from "many" blocks to "few" blocks, the Overflowed
   state remains. In this case, blocks no longer scroll, and are start-
   aligned instead of centered.

(2) was intentional, presumably to reduce tiles "jumping" on repeated
tile removal. NewTabPageLayout (for container) and TilesLinearLayout
(for "edge margins") implemented this by doing the following:
* Store initial tile count and block count.
* Use these counts and width constants to compute "content width".
* If "content width" <= "container" size then Centered (AKA "full
  filled", "all filled"); else Overflowed.

Now, MVT on tablets has some longstanding oddities
O1. When Centered, the container might not reach full width.
O2. Container may shrink on repeated tile removal (and centered) --
    this is a cross between Centered (re. WRAP_CONTENT) and Overflowed
    (re. fixed "edge margin") modes.
O3. When changing from "few" blocks to "many" blocks (by adding Custom
    Tiles), Overflow mode does kick in sometimes, leading to blocks
    appearing off-screen but cannot be scrolled to.

This CL fixes the oddities and removes behavior (2); now Centered and
Overflowed behavior depends on **current** (instead of the initial)
block count -- this fixes (O3). High level changes:
* Stop storing initial tile and block counts.
* Centralize Centered / Overflowed decision, including "content width"
  computation, to MostVisitedTilesLayout.
* Change MVT child addition semantics from {Tile, non-Tile} to
  {Tile, Divider, UI View (for the "Add new" button)}.

Bugs that were found and fixed:
* The duplicated Centered / Overflowed decision logic were inconsistent;
  the NewTabPageLayout version (for WRAP_CONTENT / MATCH_PARENT) didn't
  account for Custom Tile changes, i.e., divider & "Add new" button.
  This led to (O2), and is fixed when we dedup the logic.
* When "divider gap" was changed to same as "tile gap" in
  crrev.com/c/6780677 , we didn't update "content width" calculation.
  This also led to (O2), and is fixed by having dividers not contribute
  to "content width".
* Resources.getDimension() returns (float) PX value, and NOT DP. The
  misunderstanding led to explicit conversions that made the width of
  the "Add new" too large (TileRenderer.renderTileSection()). This led
  to (O1). Fixing this also simplified code.

Bug: 447086773, 388782412
Change-Id: Id1400e672f1f0be11b4cc218cd20521988c3455f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7004884
2025-12-21 17:13:21 -05:00
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
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
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 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
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
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
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 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