Commit Graph
4632 Commits
Author SHA1 Message Date
Serg 841cad239e [Android] Defer bottom toolbar ViewStub inflation to fix startup ANR (#35083)
Move the bottom controls setup (ViewStub inflation, coordinator
creation, native initialization) from synchronous execution during
finishNativeInitialization to a deferred UI task via PostTask. The
synchronous inflation was triggering HardwareRenderer.nNotifyExpensiveFrame
which blocked the main thread waiting for the GPU, causing ANR on
devices under GPU pressure during startup.

This is safe because all consumers of mBottomControlsCoordinatorSupplier
and mTabGroupUiOneshotSupplier already null-check before use, and the
bottom toolbar starts with visibility="gone" making the one-frame delay
imperceptible. The task is wrapped with mCallbackController.makeCancelable()
to auto-cancel during Activity teardown.

Resolves: https://github.com/brave/brave-browser/issues/54077
2026-03-30 17:55:32 -04:00
Terry ManceyandAleksei Seren 40526ffca3 [ads] Serve new-tab takeover ads on demand instead of prefetching (#34771)
[Ads] Serve new-tab takeover ads on demand instead of prefetching

Removing prefetching reduces unnecessary complexity.
Ads will instead be served on demand, ensuring they are
only delivered within the campaign’s configured start and
end dates.

Co-authored-by: Aleksei Seren <aseren@brave.com>
2026-03-27 17:59:52 -05:00
Darnell Andries d42415c8c2 Call omnibox metric methods on Android (#35009)
Ensure these methods are called for both normal/private contexts, so we get more comprehensive data results.
2026-03-27 22:17:00 +00:00
vadims 9f228f29fa [SHRED] Remove empty space between title and radio buttons on Preference selection dialog (#35031)
Added a change to hide the option dialog description when it contains
no text.

Resolved: https://github.com/brave/brave-browser/issues/53989

--------

Signed-off-by: Vadym Struts <vstruts@brave.com>
2026-03-27 21:58:29 +01:00
Serg 47521cfbf5 Android new tab at the bottom (#35051)
* [Android] Move tab switcher controls to bottom when address bar is at bottom

When the address bar is configured to show at the bottom, reposition the
entire hub toolbar (new tab, menu, pane switcher, search, shred) from
the top to the bottom of the tab switcher for one-handed accessibility.

- BraveHubManagerImpl: Add maybeRepositionToolbarToBottom() that changes
  the toolbar wrapper's FrameLayout gravity to BOTTOM and swaps the pane
  host container's top margin to bottom margin. Uses EdgeToEdge pad
  adjuster (same pattern as upstream HubBottomToolbarCoordinator) to
  handle navigation bar insets. Properly cleans up the adjuster on hub
  hide since the coordinator and views are destroyed between show/hide
  cycles.

- BraveHubManagerImplClassAdapter: Expose parent's mEdgeToEdgeSupplier
  field via deleteField/makeProtectedField bytecode pattern.

- BraveToolbarManager: Remove setLayoutStateProvider() and its
  LayoutStateObserver that toggled menu popup direction on tab switcher
  transitions. No longer needed since the hub toolbar is now at the
  bottom when address bar is at bottom.

- BraveHubToolbarView: Change INVISIBLE to GONE for hidden action/menu
  buttons when bottom navigation controls are enabled (address bar on
  top). INVISIBLE left the buttons clickable despite being hidden.

Resolves: https://github.com/brave/brave-browser/issues/53326
2026-03-27 21:57:06 +01:00
Artem Samoilenko cb49c717c1 [cr147][Android] Disable CCTToolbarRefactor feature
Disable feature for now, it will be properly enabled in the context of the follow up issue https://github.com/brave/brave-browser/issues/53917
2026-03-26 19:55:49 -04:00
Artem Samoilenko d362170f05 [cr147][Android] Changes for MVT refactor
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/47857f79d20046a5fc9e3f470e3350c881d65874

commit 47857f79d20046a5fc9e3f470e3350c881d65874
Author: Yanling <yanlinghu@google.com>
Date:   Fri Mar 13 08:36:20 2026 -0700

    [M147] [NtpRefactor] Fix the MVT being truncated issue

    Original change's description:
    > [NtpRefactor] Fix the MVT being truncated issue
    >
    > This CL fixes a bug introduced in crrev.com/c/7644608 where the Most
    > Visited Tiles container is truncated when the NTP is viewed on a narrow
    > window on a tablet.
    > https://drive.google.com/file/d/14-JrnjARKH_7Wy5Wh3iJxQch6KgtuDbu/view?usp=sharing&resourcekey=0-wSzY2uu69f1o_9rRyNHMBw
    >
    > Prior to the refactor, the lateral margins and width for tablets were
    > applied to the outer container (a HorizontalScrollView with ID
    > R.id.mv_tiles_container), overriding the static XML margins. However,
    > the refactor moved this logic to MostVisitedTilesMediator but applied
    > the dynamic margins to the inner layout (MostVisitedTilesLayout with ID
    > R.id.mv_tiles_layout), which is a child of the outer container.
    >
    > This CL fixes the issue by passing the outer container view
    > (mvTilesContainerLayout) down to the MostVisitedTilesMediator, so that
    > the dynamic MarginLayoutParams are once again correctly applied to the
    > outer container. We also updated MostVisitedTilesCoordinator and the
    > related unit tests to reflect and verify this change.
    >
    > This video demonstrate the UI after this CL:
    > https://drive.google.com/file/d/1vrznQ5QZ5BlHUyVRC3508g-N8EFFrKaG/view?usp=sharing&resourcekey=0-ZztGk_lxOAjzprNzQvZ-5w
    >
    > Bug: 491890688
    > Change-Id: I8ce30c55e317f7ec44a1b259ffbfa6acee28355c
    > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7658684
    > Commit-Queue: Yanling Hu <yanlinghu@google.com>
    > Reviewed-by: Xi Han <hanxi@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#1598066}

    (cherry picked from commit bb19dc897a3206b86e9b6334c9220d92653696e0)

    Bug: 492318483,491890688
    Change-Id: I8ce30c55e317f7ec44a1b259ffbfa6acee28355c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7662270
    Auto-Submit: Chrome Cherry Picker <chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.com>
    Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
    Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
    Cr-Commit-Position: refs/branch-heads/7727@{#252}
    Cr-Branched-From: ce01102937348db7b88c8a4257ee4b3ac702eb1a-refs/heads/main@{#1596535}
2026-03-26 19:55:47 -04:00
Artem Samoilenko 1d0e12a715 [cr147][Android] Apply changes for kAndroidSettingsContainment feature
Feature itself is still disabled, but they already rolling it out in cr147 via A/B testing.

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

commit 0fb4e5a6d931253ae1dd7147b46afa2a866d8db1
Author: Gazal Agarwal <agazal@google.com>
Date:   Tue Jul 29 10:19:07 2025 -0700

    [AndroidSettingsContainment] Add feature flag

    Bug: 433576895
    Test: Open chrome://flags and search for the flag.
    Change-Id: I7a30e24372349adb978032bdea1d754956cec571
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6795526
    Reviewed-by: Wenyu Fu <wenyufu@chromium.org>
    Commit-Queue: Gazal Agarwal <agazal@google.com>
    Cr-Commit-Position: refs/heads/main@{#1493629}
2026-03-26 19:55:47 -04:00
Artem Samoilenko dbbf9cce02 [cr147][Android] Changes for selection context menu on extension popup
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/6e3f8761496b427d889d754437e284205818be46

commit 6e3f8761496b427d889d754437e284205818be46
Author: Masa Fujita <massan@google.com>
Date:   Sun Mar 8 18:50:52 2026 -0700

    extensions: Support selection context menu on extension popup

    This CL enables users to display selected text context menu on top of
    extension action popups. The call to display selection context menu used
    to get squashed because `SelectionDropdownMenuDelegate` wasn't set in
    ThinWebView.

    Bug: 429279387
    Change-Id: Ic561792fc21a608b72ce3f235201c5aebc640783
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7632516
    Reviewed-by: David Trainor <dtrainor@chromium.org>
    Commit-Queue: Masa Fujita <massan@google.com>
    Reviewed-by: Patrick Noland <pnoland@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1596124}
2026-03-26 19:55:43 -04:00
Artem Samoilenko c872d04ae4 [cr147][Android][NtpRefactor] Move usages of MVTilesLayout to MostVisitedTilesCoordinator
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/67b2379a1abe78abaaa3e1bc6f25402c3a1de569

commit 67b2379a1abe78abaaa3e1bc6f25402c3a1de569
Author: Xi Han <hanxi@google.com>
Date:   Fri Mar 6 15:01:24 2026 -0800

    [NtpRefactor] Move usages of MVTilesLayout to MostVisitedTilesCoordinator.

    This is a refactor CL without any behaviour changes. We move all usage
    of MVTilesLayout from NewTabPageLayout to MostVisitedTilesCoordinator.

    Bug: 487641528
    Change-Id: Icb3f65b42a3cb02f214d9f0fa09ab7b71a3e0285
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7644608
    Reviewed-by: Xinyi Ji <xinyiji@chromium.org>
    Commit-Queue: Xi Han <hanxi@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1595724}
2026-03-26 19:55:42 -04:00
Artem Samoilenko e406a57f2f [cr147][Android] Fixes for JdkObsolete java warning
Warning: [JdkObsolete] Use new InputStreamReader(InputStream, Charset) instead.
2026-03-26 19:55:41 -04:00
Artem Samoilenko 862b803638 [cr147][Android] Null-annotate RootUiCoordinator (part 6)
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/550eb1819e9f42173df13a06432b1bc895d0931a

commit 550eb1819e9f42173df13a06432b1bc895d0931a
Author: Henrique Nakashima <hnakashima@chromium.org>
Date:   Wed Mar 4 12:04:14 2026 -0800

    [Android] Null-annotate RootUiCoordinator (part 6)

    Fix 7 NullAway errors due to:
    - mBottomSheetSnackbarManagerSupplier / mBottomSheetSnackbarManager
    - mScrimManagerSupplier / mScrimManager
    - mPageZoomBarCoordinator

    Change-Id: I44f09d2594776e2b7b2ebfd8611b523f0dbd7a2b
    Bug: 485252552
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7624622
    Reviewed-by: Andrew Grieve <agrieve@chromium.org>
    Owners-Override: Henrique Nakashima <hnakashima@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1594141}
2026-03-26 19:55:40 -04:00
Artem Samoilenko 883556fcf2 [cr147][Android] Changes for GlicToolbarButtonController
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/a67ba170d1d99fd6146f1335a5db18e0d5a755a1

commit a67ba170d1d99fd6146f1335a5db18e0d5a755a1
Author: Hailey Wang <haileywang@google.com>
Date:   Tue Mar 3 15:49:28 2026 -0800

    [Glic] Add GlicToolbarButtonController and tests

    Bug: 485624827
    Change-Id: I0aa37c6dafb406860cf201b769da48e0c8c1c8a9
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7624534
    Reviewed-by: Wenyu Fu <wenyufu@chromium.org>
    Commit-Queue: Hailey Wang <haileywang@google.com>
    Cr-Commit-Position: refs/heads/main@{#1593582}
2026-03-26 19:55:39 -04:00
Artem Samoilenko caff684838 [cr147][Android] Changes for Safety Hub with activity-less sign-in flow
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/2965a40033399f1c1df4f51702f2b45d93b8825b

commit 2965a40033399f1c1df4f51702f2b45d93b8825b
Author: Anton Goncharenko <agonch@google.com>
Date:   Tue Mar 3 05:40:39 2026 -0800

    [Signin][Android] Migrate Safety Hub to activity-less sign-in flow.

    This is part of the effort to reduce reliance on
    SigninAndHistorySyncActivity by sign-in entry points.

    go/activityless-signin

    Dependency Injection: Updated SettingsActivity and
    FragmentDependencyProvider to manage and provide WindowAndroid,
    Activity, and ActivityResultTracker to settings fragments.

    SafetyHubModuleDelegateImpl to use
    BottomSheetSigninAndHistorySyncCoordinator for starting sign-in flows
    instead of launching separate activities via intents. The new sign-in
    flow is hidden behind ENABLE_SEAMLESS_SIGNIN and
    ENABLE_ACTIVITYLESS_SIGNIN_ALL_ENTRY_POINT feature flags.

    Safety Hub: 3-dots menu > Settings > Safety Check > Sign in to Chrome

    Bug: 479179162
    Change-Id: I768cb4bda8e217d5be40a1e5de7ef0d97d180dd7
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7614169
    Reviewed-by: Zaina Al-Mashni <zalmashni@google.com>
    Commit-Queue: Anton Goncharenko <agonch@google.com>
    Reviewed-by: Tanmoy Mollik <triploblastic@google.com>
    Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org>
    Reviewed-by: Łukasz Barczyński <lbarczynski@google.com>
    Cr-Commit-Position: refs/heads/main@{#1593148}
2026-03-26 19:55:39 -04:00
Artem Samoilenko 0d9727fe92 Revert "[cr147][Android] Unify ActivityWindowAndroid constructors"
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/ffa30deb10c192a3868af67b1d74613a21e1c8ad

commit ffa30deb10c192a3868af67b1d74613a21e1c8ad
Author: Sky Malice <skym@chromium.org>
Date:   Wed Mar 4 15:55:45 2026 -0800

    Revert "Unify ActivityWindowAndroid constructors."

    This reverts commit ed612a376e529ea2e029661b23d1bd5198d929c2.

    Reason for revert: Landed on top of a CL that crashed

    Original change's description:
    > Unify ActivityWindowAndroid constructors.
    >
    > Bug: 486880198
    > Change-Id: Idf72221abcb738a970030bfbba2b3499013e18d6
    > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7600760
    > Reviewed-by: Simeon Anfinrud <sanfin@chromium.org>
    > Reviewed-by: Ted Choc <tedchoc@chromium.org>
    > Reviewed-by: Nate Fischer <ntfschr@chromium.org>
    > Reviewed-by: Menghan Yang <myuu@google.com>
    > Reviewed-by: Shakti Sahu <shaktisahu@chromium.org>
    > Commit-Queue: Sky Malice <skym@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#1592568}

    Bug: 486880198, 488022589
    Bug: 486880198
    Change-Id: I4ceab5eecb55652e1b29871f8fa214a990e21e38
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7633525
    Reviewed-by: Brandon Wylie <wylieb@google.com>
    Commit-Queue: Sky Malice <skym@chromium.org>
    Auto-Submit: Sky Malice <skym@chromium.org>
    Owners-Override: Harry Souders <harrysouders@google.com>
    Cr-Commit-Position: refs/heads/main@{#1594298}
2026-03-26 19:55:38 -04:00
Artem Samoilenko 01469c3b92 [cr147][Android] Changes for custom tab toolbar refactor
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/649dad5e5932bddd9a1d9ef3a9f8b0690df8d630

commit 649dad5e5932bddd9a1d9ef3a9f8b0690df8d630
Author: Sinan Sahin <sinansahin@google.com>
Date:   Tue Feb 10 19:21:23 2026 -0800

    [CCT][ToolbarRefactor] Enable by default

    Bug: 402213312
    Change-Id: I7ab5b2d7587b6354df74b63e3406940b4133bb91
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7564736
    Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org>
    Commit-Queue: Sinan Sahin <sinansahin@google.com>
    Cr-Commit-Position: refs/heads/main@{#1582969}
2026-03-26 19:55:31 -04:00
Artem Samoilenko 136cfc674a [cr147][Android] Changes for null-annotated RootUiCoordinator
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/61a82a1566fd970e84e97a209528055da082b76e

commit 61a82a1566fd970e84e97a209528055da082b76e
Author: Henrique Nakashima <hnakashima@chromium.org>
Date:   Mon Mar 2 13:10:58 2026 -0800

    [Android] Null-annotate RootUiCoordinator (part 5)

    This CL focuses on ModalDialogManager.

    In different places it's nullable or not, and it is sometimes passed as
    a Supplier and sometimes not. Generally, ChromeBaseAppCompatActivity has
    a MonotonicObservableSupplier which in some subclasses never gets set,
    but in the ones that create a RootUiCoordinator, the provider is set
    before the RootUiCoordinator is created.

    I've tried to keep Suppliers where instances are mostly passed via
    Supplier and the actual ModalDialogManager where the Suppliers have
    generally already been resolved.

    Reduced NullAway errors down to 69 again.

    Cq-Include-Trybots: luci.chrome.try:android-internal-dbg,android-internal-binary-size
    Change-Id: I081f4cfab1a80dc074b2886a0ff59cb176feff30
    Bug: 485252552
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7604913
    Owners-Override: Henrique Nakashima <hnakashima@chromium.org>
    Reviewed-by: Andrew Grieve <agrieve@chromium.org>
    Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1592697}
2026-03-26 19:55:30 -04:00
Artem Samoilenko bc60e9936d [cr147][Android] Remove mDeferredNativeRunnables for BraveLocationBarMediator
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/b867637d8c6ba714943f3e3166a3b4324c9d1753

commit b867637d8c6ba714943f3e3166a3b4324c9d1753
Author: Tomasz Wiszkowski <ender@google.com>
Date:   Mon Mar 2 19:17:11 2026 -0800

    Simplify FuseboxSessionState activation.

    The change eliminates the need for deferred native initialization,
    allowing the FuseboxSessionState to emit event when the session object
    is ready to be used.

    Bug: 474616308
    Change-Id: I7e72ea03fb0562a2c1b2e7d0fb08bb3044a96123
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7618330
    Commit-Queue: Tomasz Wiszkowski <ender@google.com>
    Reviewed-by: Sky Malice <skym@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1592930}
2026-03-26 19:55:28 -04:00
Artem Samoilenko 4164648b99 [cr147][Android] Unify ActivityWindowAndroid constructors
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/ed612a376e529ea2e029661b23d1bd5198d929c2

commit ed612a376e529ea2e029661b23d1bd5198d929c2
Author: Sky Malice <skym@chromium.org>
Date:   Mon Mar 2 10:24:53 2026 -0800

    Unify ActivityWindowAndroid constructors.

    Bug: 486880198
    Change-Id: Idf72221abcb738a970030bfbba2b3499013e18d6
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7600760
    Reviewed-by: Simeon Anfinrud <sanfin@chromium.org>
    Reviewed-by: Ted Choc <tedchoc@chromium.org>
    Reviewed-by: Nate Fischer <ntfschr@chromium.org>
    Reviewed-by: Menghan Yang <myuu@google.com>
    Reviewed-by: Shakti Sahu <shaktisahu@chromium.org>
    Commit-Queue: Sky Malice <skym@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1592568}
2026-03-26 19:55:27 -04:00
Artem Samoilenko d73030e461 [cr147][Android] Rename FeedActionDelegate -> ActionDelegateFactory
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/b5a2265620263469792b5a322df732b40d2e8c83

commit b5a2265620263469792b5a322df732b40d2e8c83
Author: Anton Goncharenko <agonch@google.com>
Date:   Wed Feb 18 06:02:50 2026 -0800

    [Signin][Android] Migrate Feed Surfaces to activity-less sign-in flow

    This is part of the effort to reduce reliance on
    SigninAndHistorySyncActivity by sign-in entry points.

    Integrated BottomSheetSigninAndHistorySyncCoordinator initialization and
    cleanup in FeedActionDelegateImpl. The new sign-in flow is hidden behind
    ENABLE_SEAMLESS_SIGNIN and ENABLE_ACTIVITYLESS_SIGNIN_ALL_ENTRY_POINT
    feature flags.

    Design Doc: go/activityless-signin

    Bug: 478812795
    Change-Id: I58f670525db5c9669a9c0af25245df2e49dec5c9
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7557299
    Commit-Queue: Liza Bipin <mlbipin@google.com>
    Reviewed-by: Adam Arcaro <adamta@google.com>
    Reviewed-by: Liza Bipin <mlbipin@google.com>
    Auto-Submit: Anton Goncharenko <agonch@google.com>
    Cr-Commit-Position: refs/heads/main@{#1586376}
2026-03-26 19:25:26 -04:00
Artem Samoilenko 712f9ebcfb [cr147][Android] Changes for NTP Customizations
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0769ebed75e94a4103185fb494a893b99ae3e1ba

commit 0769ebed75e94a4103185fb494a893b99ae3e1ba
Author: Xinyi Ji <xinyiji@google.com>
Date:   Tue Feb 24 10:01:11 2026 -0800

    [NTP Customization] Clean up NTP Customization toolbar button (part 4/4)

    This CL removes the HomeButtonDisplay interface, which is no longer
    necessary.

    Bug: 485308869
    Change-Id: Ia1eb8a14db1efd87936a582403785e7bdd2e6a92
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7597599
    Commit-Queue: Xinyi Ji <xinyiji@chromium.org>
    Reviewed-by: Patrick Noland <pnoland@chromium.org>
    Reviewed-by: Xi Han <hanxi@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1589510}
2026-03-26 19:25:24 -04:00
Artem Samoilenko a655f3b176 [cr147][Android] Replace TabContextMenuItemDelegate to ContextMenuItemDelegate
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/08483c4fea866719a9712db5d9a2d1ed531628f4

commit 08483c4fea866719a9712db5d9a2d1ed531628f4
Author: Hitarth Kothari <hitarthkothari@google.com>
Date:   Mon Feb 23 12:50:37 2026 -0800

    [ThinWebView] Add ThinWebViewContextMenuItemDelegate

    This CL adds context menu support for ThinWebView (used in the
    Preview/Ephemeral Tab) on Android.

    Key Changes:

    New Delegate: Implemented ThinWebViewContextMenuItemDelegate to handle
    actions like "Copy to clipboard" and "Open in default browser" for
    ThinWebView.

    New Menu Mode: Added ContextMenuMode.THIN_WEB_VIEW to
    ChromeContextMenuPopulator, providing a streamlined menu that excludes
    standard tab features (like "Read Later" or "Open in New Tab").

    Integration: Updated EphemeralTabCoordinator and ThinWebViewImpl to initialize and pass the context menu populator factory through the UI stack.

    ChromeContextMenuPopulatorTest to verify correct menu item filtering for the new mode.

    Testing: Added comprehensive unit tests in
    Bug: 483656137
    Change-Id: I4f293a21bd1a7eb74f90b2b06750aa7bb6473b67
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7572842
    Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
    Auto-Submit: Hitarth Kothari <hitarthkothari@google.com>
    Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org>
    Reviewed-by: Shakti Sahu <shaktisahu@chromium.org>
    Commit-Queue: Hitarth Kothari <hitarthkothari@google.com>
    Cr-Commit-Position: refs/heads/main@{#1588868}
2026-03-26 19:25:20 -04:00
Artem Samoilenko 6ed5d5cdf3 [cr147][Android] Supply SnackbarManager through MonotonicObservableSupplier
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/de1cd37fe0fc3226977521f3f7a5413683b0164e

commit de1cd37fe0fc3226977521f3f7a5413683b0164e
Author: Henrique Nakashima <hnakashima@chromium.org>
Date:   Mon Feb 23 09:49:15 2026 -0800

    [Android] Supply SnackbarManager through MonotonicObservableSupplier

    - ChromeActivity now provides a SnackbarManager supplier.
    - RootUiCoordinator uses the supplier and handles its potential
      nullability with assertNonNull/assumeNonNull as appropriate.
    - Subclasses of RootUiCoordinator updated to accept the new supplier
      type.

    Bug: 485252552
    Change-Id: Ib52b4080d277d3ce718de3e28551a452e316e663
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7596981
    Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1588775}
2026-03-26 19:25:20 -04:00
Artem Samoilenko 94cb2017fe [cr147][Android] Changes for advanced protection setting
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/19b12eb71387041c442d1bf1dc9c98366f255ab7

commit 19b12eb71387041c442d1bf1dc9c98366f255ab7
Author: Liz Prucka <lizprucka@google.com>
Date:   Wed Feb 11 08:16:24 2026 -0800

    Upstreaming Clank OsAdditionalSecurityPermissionProviderImpl

    Upstreaming Advanced Protection provider class in Chrome components to
    allow for implementation across Chrome components and use in public apk.

    Separating browser messenger components in
    OsAdditionalSecurityPermissionProviderImpl.java to allow for inclusion
    of only core features in WebView.

    Updated AdvancedProtectionMediatorTest to use application context to
    fix resource loading errors in mock.

    Removed IDS_ADVANCED_PROTECTION_MESSAGE_DISABLE_TITLE as it is no longer
    used.

    Created placeholder translation templates for new safe_browsing [grd
    file](https://chromium.googlesource.com/website/+/HEAD/site/developers/design-documents/ui-localization/index.md#add-a-new-grd_p_file).

    Bug: 477677919
    Change-Id: I4944734152979ee99e2a577b0d36af12b968fc2e
    Bypass-Check-License: Moved OsAdditionalSecurityProvider files
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7486643
    Reviewed-by: Ravjit Uppal <ravjit@chromium.org>
    Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
    Commit-Queue: Liz Prucka <lizprucka@google.com>
    Cr-Commit-Position: refs/heads/main@{#1583249}
2026-03-26 19:25:19 -04:00
Artem Samoilenko b8da722713 [cr147][Android] Changes for SubmenuHeaderFactory in AppMenuHandlerImpl
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/4662ff011b11bc82c9a90e0c9faeb576a6a803d5

commit 4662ff011b11bc82c9a90e0c9faeb576a6a803d5
Author: Masa Fujita <massan@google.com>
Date:   Fri Feb 20 07:19:57 2026 -0800

    flyout: Create SubmenuHeaderFactory in AppMenuHandlerImpl

    For some reason, `SubmenuHeaderFactory` was created inside
    `RootUiCoordinator`. This CL cleans things up by moving the construction
    to `AppMenuHandlerImpl` in preparation of the next CL.

    Bug: 438629323
    Change-Id: Id5463ded1a1911bb4efda4c1c7893ce143b50616
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7596797
    Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
    Commit-Queue: Masa Fujita <massan@google.com>
    Cr-Commit-Position: refs/heads/main@{#1587814}
2026-03-26 19:25:18 -04:00
Artem Samoilenko 487175468b [cr147][Android] Clean up for NTP Customization toolbar button
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/affe83312517623bc08f44270b4a5891dcc8cbdf

commit affe83312517623bc08f44270b4a5891dcc8cbdf
Author: Xinyi Ji <xinyiji@google.com>
Date:   Thu Feb 19 09:00:04 2026 -0800

    [NTP Customization] Clean up NTP Customization toolbar button (part 2/4)

    This CL removes the primary components of the NTP customization toolbar
    button; it does not include the logic encapsulating the home button.

    Bug: 485308869
    Change-Id: I75aa791b342ef8338c78cc3d582b13e6d3ceb89b
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7584875
    Reviewed-by: Xi Han <hanxi@chromium.org>
    Reviewed-by: Patrick Noland <pnoland@chromium.org>
    Commit-Queue: Xinyi Ji <xinyiji@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1587199}
2026-03-26 19:25:15 -04:00
Artem Samoilenko d3498262c5 [cr147][Android] Move OmniboxActionDelegateImpl back to omnibox folder
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/f3299a56bec5f5f0848d62984e01defc3a7f0499

commit f3299a56bec5f5f0848d62984e01defc3a7f0499
Author: Tomasz Wiszkowski <ender@google.com>
Date:   Wed Feb 18 07:11:44 2026 -0800

    Move OmniboxActionDelegateImpl back to omnibox folder.

    The change reverts https://crrev.com/c/7077115 and exposes the
    OmniboxActionDelegateImpl to the Autocomplete subsystem.

    The OmniboxActionDelegate (the interface) is needed to bridge the gap
    between the //chrome/android and //components, and its function under
    //chrome/android is irrelevant.

    Propagating the Impl down to Autocomplete stack allows us to include
    additional bits of information needed by Omnibox Actions that should not
    be a part of the interface / should not be modifiable by Actions.

    Bypass-Check-License: files moved.
    Change-Id: I9842386460f91f476a3bb309e1a7f8b31251990c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7586837
    Reviewed-by: Keigo Oka <oka@chromium.org>
    Auto-Submit: Tomasz Wiszkowski <ender@google.com>
    Commit-Queue: Tomasz Wiszkowski <ender@google.com>
    Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1586414}
2026-03-26 19:25:14 -04:00
Artem Samoilenko 4f6e6a79d6 [cr147][Android] Fixes for NoAndroidLog warnings 2026-03-26 19:25:08 -04:00
Artem Samoilenko 29e4ec889c [cr147][Android] Cleanup for moveTabs* APIs
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/b3f1b6b71c7b8c6587f4788d009574d7e47f9409

commit b3f1b6b71c7b8c6587f4788d009574d7e47f9409
Author: Aishwarya Rajesh <aishwaryarj@google.com>
Date:   Fri Feb 13 15:04:51 2026 -0800

    [MIR] Cleanup moveTabs* APIs

    See updated bug description for rationale on updates in this CL.

    At the end of this CL, we will have 3 APIs to move tabs to a window:

    1. moveTabsToNewWindow(): Moves tabs to a brand new window. This will
    show a message at instance limit.
    2. moveTabsToWindowByIdChecked(): Moves tabs to an active instance or
    creates a new activity for an inactive instance or an active instance
    that has its activity destroyed. This API will fail if the id provided
    does not have persisted state.
    3. moveTabsToOtherWindow(): Gives the user a chance to select a window
    from the TargetSelectorDialog to move the tabs to. This implicitly
    invokes #2 for a window selected from the dialog and #1 if we have
    exactly one eligible window running currently.

    Bug: 476106567
    Change-Id: I701f46a1090220d4f9db705cb4df803b30ac284a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7564470
    Commit-Queue: Aishwarya Rajesh <aishwaryarj@google.com>
    Reviewed-by: Sirisha Kavuluru <skavuluru@google.com>
    Cr-Commit-Position: refs/heads/main@{#1584943}
2026-03-26 19:25:04 -04:00
Artem Samoilenko 478933a38a [cr147][Android] Changes for MonotonicObservableSupplier observers
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-03-26 19:25:03 -04:00
Artem Samoilenko bcbe9747c4 [cr147][Android] Changes for removed LocationBarMediator.setSearchQuery
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/69d1e350a6a14cbdbf5c4ad071ba5bb149a1a45f

commit 69d1e350a6a14cbdbf5c4ad071ba5bb149a1a45f
Author: Charles Cai <charlesyc@google.com>
Date:   Fri Feb 13 08:34:05 2026 -0800

    Consolidate VoiceRecognitionHandler's Delegate interface into OmniboxStub.

    Bug: 477922724
    Change-Id: I4af3e9f7a5d22b3ef16117193299d542564e197a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7564529
    Reviewed-by: Sky Malice <skym@chromium.org>
    Reviewed-by: Tomasz Wiszkowski <ender@google.com>
    Commit-Queue: Charles Cai <charlesyc@google.com>
    Auto-Submit: Charles Cai <charlesyc@google.com>
    Cr-Commit-Position: refs/heads/main@{#1584696}
2026-03-26 19:25:03 -04:00
Artem Samoilenko 3efa4c2c72 [cr147][Android] Changes for ModuleRegistry refactor
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/79c909bca53dfd97ed264b823b1ced45e7956d54

commit 79c909bca53dfd97ed264b823b1ced45e7956d54
Author: Xi Han <hanxi@google.com>
Date:   Fri Feb 13 08:46:30 2026 -0800

    [MagicStack] Refactor ModuleRegistry to fix ChromeTabbedActivity leak.

    The leak was due to never unregister entries in
    mModuleConfigCheckerMap which is owned by singleton
    HomeModulesConfigManager when the CTA is destroyed. In this CL, we
    remove this map from HomeModulesConfigManager, and all checks go
    through ModuleRegistry which is one per CTA and is destroyed when CTA
    is destroyed.
    1) Remove ModuleConfigChecker interface, and move the isEligible() to
       ModuleProviderBuilder interface;
    2) Reuse the existing |mModuleBuildersMap| in ModuleRegistry for
       modules' eligibility checks.
    3) Only one behavior change is: the "new tab page cards" is empty if the
       bottom sheet is opened from the Ntp's customization toolbar button.
       We have deprecated this button and the list works as before if the
       bottom sheet is opened from all other entry points, i.e., from menu
       and magic stack cards.

    Bug: 462709210
    Change-Id: I2cd442a82cf8515246635ecb79cfa102fbebb366
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7574493
    Commit-Queue: Xi Han <hanxi@chromium.org>
    Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
    Reviewed-by: Xinyi Ji <xinyiji@chromium.org>
    Reviewed-by: Theresa Sullivan <twellington@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1584704}
2026-03-26 19:25:02 -04:00
Artem Samoilenko 2f7aa3e5b8 [cr147][Android] Changes for local search being visible
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/afb98db40a7b9cdadc42e55aa469a186e0dd92dc

commit afb98db40a7b9cdadc42e55aa469a186e0dd92dc
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date:   Wed Feb 11 13:29:26 2026 -0800

    [SettingsSearch] Fix local search being visible

    Fixes a bug of making the local search visible  together with settings
    search by accident. A regression caused the search coordinator passed
    to FragmentDependencyProvider before being initialized. Replaced
    the coordinator with its supplier to address it.

    Bug: 483010813
    Change-Id: Ie9cfe9d03e56a3480b5a978290ca5222122eafd1
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7568002
    Reviewed-by: Moe Adel <adelm@google.com>
    Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1583490}
2026-03-26 19:24:57 -04:00
Artem Samoilenko efb447cd02 [cr147][Android] Changes for tab and group reparenting initiated from MultiInstanceManagerApi31
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/3c9e581ce27c3a692be86c19edd659a721eb78bd

commit 3c9e581ce27c3a692be86c19edd659a721eb78bd
Author: Aishwarya Rajesh <aishwaryarj@google.com>
Date:   Mon Feb 9 18:28:07 2026 -0800

    [MIR] Create TabReparentingDelegate to hold implementation for tab and
    group reparenting initiated from MultiInstanceManagerApi31

    This is largely a non-functional refactor that involves moving existing
    reparenting logic from MultiInstanceManagerApi31 to the new
    TabReparentingDelegate for better division of responsibility.

    The CL introduces a behavioral change where previously we would trigger
    openWindow() to show the max-instance toast while attempting to move
    tabs to a new window at instance limit, whereas we now show the instance
    creation limit message which provides a link to the window manager and
    hence offering an improved user experience.

    The CL also cleans up low value tests and updates some test fixtures in
    MultiInstanceManagerApi31UnitTest and adds increased coverage for the
    existing reparenting logic in TabReparentingDelegateUnitTest.

    Bug: 479933537
    Change-Id: I3e9b501c215a3add20cdb1c156c2b872e1c38a3d
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7551974
    Reviewed-by: Sirisha Kavuluru <skavuluru@google.com>
    Commit-Queue: Aishwarya Rajesh <aishwaryarj@google.com>
    Cr-Commit-Position: refs/heads/main@{#1582211}
2026-03-26 19:24:57 -04:00
Artem Samoilenko c23efc4218 [cr147][Android] Changes for NTP Avatar
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/4f22c9c8d3976fc7ccae881d2645dfb480fd46dc

commit 4f22c9c8d3976fc7ccae881d2645dfb480fd46dc
Author: Anton Goncharenko <agonch@google.com>
Date:   Wed Feb 11 06:12:57 2026 -0800

    [Signin][Android] Migrate NTP Avatar to the activity-less sign-in flow.

    This is part of the effort to reduce reliance on
    SigninAndHistorySyncActivity by sign-in entry points.

    BottomSheetSigninAndHistorySyncCoordinator is instantiated in
    IdentityDiscController#setProfile, if it's a regular profile (not
    off-the-record). It gets destroyed if switched to incognito profile. In
    incognito the profile avatar button should be disabled, but as extra
    reassurance the sign-in flow crashes with an incognito profile.

    IdentityDiscController#onClick triggers the new flow via the coordinator
    when available, falling back to the legacy activity-based flow
    otherwise.

    Bug: 478812680
    Change-Id: I1643d7d12794b7c90bafd419191926cceae2f561
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7531719
    Reviewed-by: Boris Sazonov <bsazonov@chromium.org>
    Commit-Queue: Anton Goncharenko <agonch@google.com>
    Reviewed-by: Menghan Yang <myuu@google.com>
    Cr-Commit-Position: refs/heads/main@{#1583182}
2026-03-26 19:24:57 -04:00
Simone Arpe 2ef6adddc8 Remove old Wallet code (#34988)
- Removes `AssetsPricesHelper` class by inlining `fetchPrices` at its two call sites (`BraveWalletPanel` and `Utils`) with direct `assetRatioService.getPrice()` calls, eliminating an unnecessary `MultiResponseHandler` wrapper.
- Moves price lookup helpers (`getPrice`, `getPriceForAsset`, `parseAssetPrice`) into Utils.java where all callers already have access.
- Removes the now-unused `FetchPricesResponseContext` from `AsyncUtils`.
- Fixes copy-paste bug in `ParsedTransaction` where `minBuyAmountArg` was reading `txArgs[1]` (same as `sellAmountArg`) instead of `txArgs[2]`, confirmed against the desktop C++ implementation in `eth_data_parser.cc`.
- Fixes general warnings for `ParsedTransaction` class.
- Improves Javadocs.
2026-03-26 12:26:57 +01:00
Serg bfe0809ef0 [Android] Respect Brave Origin policies in settings search (#34985)
Remove policy-disabled features from the settings search index so
they don't appear in search results when disabled by Brave Origin
or enterprise policy.

Resolves: https://github.com/brave/brave-browser/issues/53530
2026-03-25 17:04:54 +01:00
Serg 62575a9e0b [Android] Show loading state in Origin preferences during post-purchase credential fetch (#34955)
* [Android] Show loading state in Origin preferences during post-purchase credential fetch

When a Brave Origin purchase is completed, there is a delay while the
receipt is passed from Play Store to the SKUs SDK via
fetchOrderCredentials. During this time, the Origin preferences screen
opens but credentials aren't ready yet.

- Disable all toggles and clickable preferences until
  fetchOrderCredentials completes
- Show a snackbar with "Disabling features" spinner instead of
  "Restart now" during the credential fetch
- On success, re-enable preferences and transition to "Restart now"
- On failure, close the preferences screen
- Always show restart snackbar on toggle change regardless of
  setPolicyValue result, since failure means a restart is needed
- Remove duplicate color definitions (schemes_primary_fixed_dim,
  schemes_on_primary_fixed, semantic_text_secondary,
  semantic_text_tertiary) that already exist in nala tokens

Resolves: https://github.com/brave/brave-browser/issues/53915
2026-03-25 15:54:01 +01:00
Serg a537c15708 [Android] Implement Origin subscription linking after purchase (#34719)
Add support for linking Brave Origin subscriptions after purchase on
Android, following the same link-order flow used by Leo (AI Chat).

- Add OriginIAPSubscription Mojo interface and C++ implementation to
  read purchase token/order ID from prefs and persist link status
- Handle product=origin in SubscriptionRenderFrameObserver: inject
  braveOrigin.receipt and braveOrigin.orderId into localStorage on
  the initial landing page, and linkResult.setStatus() callback on
  the /order-link/ result page
- Register OriginIAPSubscription Mojo binding in
  BraveContentBrowserClient
- Update LinkSubscriptionUtils to use link-order intent for Origin
- Hide Purchase section in Origin preferences when already linked
- Move subscription_render_frame_observer.h include out of
  ENABLE_BRAVE_VPN guard so it is available for all Android
  subscription products
- Generalize Leo-specific constants (kIntentParamValueLeo,
  kResultLandingPagePathLeo) since they are now shared with Origin
- Add Origin test cases to browser tests

Resolves: https://github.com/brave/brave-browser/issues/53613
2026-03-24 12:59:55 -04:00
Serg 079729bb4f [Android] Fix crash in BraveRewardsNativeWorker when profile is not ready (#34907)
BraveRewardsNativeWorker crashes when constructed before the browser is
fully initialized. This happens when an AlarmManager retention
notification (DAY_10/DAY_30/DAY_35) fires and the app process is started
by Android just to handle the broadcast — ProfileManager::
GetActiveUserProfile() dereferences a null g_browser_process in this
case.

The fix:
- Checks that GetActiveUserProfile() returns a valid profile before
  creating the native worker in JNI_BraveRewardsNativeWorker_Init. If it
  doesn't, the native object is not created.
- Resets the Java singleton when native init is skipped, so subsequent
  calls can retry once the browser is fully initialized.
- Adds null-profile guards to IsSupported, IsSupportedSkipRegionCheck,
  and IsRewardsEnabled which also call GetActiveUserProfile()
  independently.
- Adds null checks for getInstance() at all call sites since it can now
  return null.

Resolves: https://github.com/brave/brave-browser/issues/53877
2026-03-24 00:19:52 +01:00
samartnik afb83224c9 [Android] UI preparation for custom search engines (#34890)
This PR is only prepares UI and strings, the main implementation will be done separately in the context of brave/brave-browser#21837
2026-03-23 15:33:09 -04:00
Simone Arpe 8b52bd7400 (Wallet) Improve account name generation (#34831) 2026-03-20 12:59:26 +01:00
Simone Arpe 464eac5bd7 (Wallet) Fix Zcash networks visibility and position during onboarding (#34829) 2026-03-20 11:18:21 +01:00
Brian Johnson b9811f29a7 Only use brave:// scheme for display (#34610)
brave:// should be converted to chrome:// as early as possible so all internal checks for chrome:// are valid. You can still open brave:// urls and they should display as brave:// urls, but internally both the actual url and virtual url should be chrome://
2026-03-20 00:49:16 +01:00
AlexeyBarabash 11dd709902 [Android] Convert BraveAndroidDynamicColors to CachedFlag (#34810)
* [Android] Convert BraveAndroidDynamicColors to CachedFlag

This allows to respect the flag at BraveDynamicColors
on app early start

Resolves: https://github.com/brave/brave-browser/issues/53754
2026-03-19 20:08:56 +02:00
Simone Arpe dbb3f73525 Add YouTube filter options under Settings → Media (#34779)
Adds four filter options, already present in Shields & privacy → Content filtering, and include them also in Settings → Media → YouTube section.
Each filter option is synchronized in both sections (i.e. modifying an option under Settings → Media will be reflected in the other section accordingly).

The YouTube section is also reordered:

Block YouTube Shorts
Block YouTube Playables
Block YouTube recommended content
Block YouTube distracting elements
Block YouTube thumbnails
Block YouTube auto-dubbed videos
Block YouTube members-only videos
2026-03-17 21:32:18 +01:00
vadims 270588d928 App close auto shred not working [Tablet] (#34702)
Fixed the `On App Closed` auto-shred option to trigger only when the app
is fully closed, not when the user switches apps or presses the Home
button.

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

Signed-off-by: Vadym Struts <vstruts@brave.com>
2026-03-16 17:25:06 +01:00
Szilard Szaloki 8dc92ab21c Account: changes the title label for logged-in users (#34707) 2026-03-14 05:14:17 +09:00
AlexeyBarabash e8302c177f Android settings search indexes (#34576)
Added support for search indexes for Brave preferences fragments
2026-03-12 23:20:56 +02:00
Anton Paymyshev a95360aa75 Drop gas_estimation field from TxData1559 (#34515)
* Drop gas_estimation field from TxData1559

* fix ci

* fix ci

* fix ci

* fix ci

* fix ci

* fix ci

* Address review
2026-03-12 22:13:34 +07:00