Commit Graph
78103 Commits
Author SHA1 Message Date
Oliver 24ffd451b0 Android: Remove Password Manager's redundant help/exit title icons (#33858)
Within the Password Manager UI, the title bar contained two redundant
icons to the left of the title:

1. The help icon - since it only takes the user to the generic help
   page, this isn't particularly "helpful"
2. The 3 vertical dots simply display an exit option which is also
   redundant since the back arrow does the same thing.

Resolves brave/brave-browser#52765
2026-05-13 19:09:19 +01:00
Kyle Hickinson c5fbe9b095 [iOS] [Origin] Include Playlist in Reset to Defaults (#36372) 2026-05-13 13:54:31 -04:00
Pete Miller b3e9a30b0a [AI Chat] Do not accept duplicate tool use event IDs (#36341)
* [AI Chat] Do not accept duplicate tool use event IDs

- Fix https://github.com/brave/brave-browser/issues/55438
2026-05-13 18:34:58 +01:00
Kevin Smith 1206eeeb2b [Rewards] Wrap header content on internals logging page (#36405) 2026-05-13 13:30:32 -04:00
Kevin Smith e69dd36ae2 [Rewards] Remove reentrant RewardsServiceObserver invocation (#36401) 2026-05-13 13:30:17 -04:00
Netzenbot 6ef98b50a9 Fix race in AdBlockServiceTest initial engine wait (#36305)
Fix race in AdBlockServiceTest.PreRunTestOnMainThread

The RunUntil condition checked a histogram recorded on a background
thread. Due to the incoming-queue/work-queue split in Chromium's
SequenceManager, RunUntil could return after seeing the histogram
sample but before OnEngineLoaded dispatched OnFilterListLoaded on the
UI thread. The observer created in InstallComponent then caught this
stale notification, leaving the histogram count at 1 instead of 2.

Switch to IsFilterListLoadedForTesting(true), a UI-thread flag set
in OnEngineLoaded, which guarantees the reply callback has been fully
processed before RunUntil returns.

Resolves brave/brave-browser#55007
2026-05-13 12:28:01 -04:00
samartnik 0976c39bab [Android] Apply Nala baseline color palette (#36408) 2026-05-13 17:05:52 +01:00
cdesouza-chromium 5f4207624a [brockit] Fixing dos-and-donts violations (#36416)
This PR corrects several of the dos-and-donts violations under
`tools/cr`. This is particularly useful to prevent future bugs with file
reads and writes that have been persistent from time to time.
2026-05-13 17:04:36 +01:00
brave-builds 68858f9850 1.92.58 2026-05-13 16:03:33 +00:00
samartnik 98cc61c247 [Android] Fixes for orientation lock for VPN and Playlist activities (#36376)
* [Android] Fixes for orientation lock for VPN and Playlist activities

* [Review] Use "Checked" Companion Methods for Effectively Non-Null Returns
2026-05-13 10:52:12 -04:00
cdesouza-chromium 28b12b61aa [brockit] Python dos and donts (#36406)
This change introduces Python dos and donts for `tools/cr`. These are
just some extra guidelines for the project.
2026-05-13 15:18:37 +01:00
Kevin Smith 92cc082b49 [FocusMode] Introduce TabStripPlacementCoordinator (#36255)
Adds a TabStripPlacementCoordinator that owns the parenting of the
horizontal tab strip region view and selects an appropriate parent based
on browser state (vertical tabs, focus mode, default). Callers register
parents per PlacementKind and trigger reassignment via UpdatePlacement.

Migrates BraveVerticalTabStripRegionView off its ad-hoc reparenting
onto the coordinator.

The kTopContainer placement is wired up but left unused; Focus Mode
will register a parent for it in a follow-up.
2026-05-13 09:54:29 -04:00
cdesouza-chromium 9a23641ee9 [brockit] Rebase v2 foundation (#36369)
This PR introduces the foundation for a new rebase routine to be used by
`brockit` when doing `brockit --rebase`. This routine is nearly feature
complete with the standard one, the only exception being the dropping of
support for `--recommit`, which was introduced but never really used in
CI.

This implementation aims at making the code around rebases cleaner, more
reliable, and easier to customise in the future. It is also already
taking steps towards us having an implementation for `--continue`
support.

An interesting feature this v2 code brings is taht when parsing
questions occur, we bubble up these issues to the use through exceptions
that launch the user editor to evaluate what's going on.

Bug: https://github.com/brave/brave-browser/issues/55466
2026-05-13 14:37:03 +01:00
AlexeyBarabash 49edaf92c9 [Android] Fixed sorting on Appearance screen for some languages (#36358)
* [Android] Fixed sorting on Appearance screen for some languages

Resolves https://github.com/brave/brave-browser/issues/55281
2026-05-13 14:22:32 +01:00
brave-builds c32587b7b8 1.92.57 2026-05-13 12:33:25 +00:00
brave-builds f66f43b0b8 1.92.56 2026-05-13 12:03:27 +00:00
cdesouza-chromium 5668c5c158 [plaster] Make RequestType insertions more generic (#36289)
This PR changes the way we are patching `RequestType` to not have to
rely on any particular key, but just introduce our keys at the end of
the enum value. This technique allows for the replacemnt of `kMaxValue
to use the new value we provide.
2026-05-13 12:00:39 +01:00
Brian Johnson 3a3a5b7344 Remove re-entrant call to lazy initialize adblock service (#36368)
1. ad_block_service() lazy initializes
2. Inside AdBlockService ctor -> AdBlockSubscriptionServiceManager ctor -> AdBlockSubscriptionDownloadManagerGetter -> MaybeGetDownloadManager-> builds the background download service -> DeferredClientWrapper::InflateClient → CreateAdBlockSubscriptionDownloadClient override
3. That override calls g_brave_browser_process->ad_block_service() again. Since ad_block_service_ is still null (assignment happens after make_unique returns), it constructs a second AdBlockService,
assigns it to ad_block_service_, and the client captures a raw_ptr to that inner instance's subscription_service_manager().
4. Outer make_unique finishes; assignment ad_block_service_ = ... overwrites the unique_ptr -> destroys inner instance.
5. Later, DeferredClientWrapper::DoRunDeferredClosures runs AdBlockSubscriptionDownloadClient::OnServiceInitialized -> dereferences dangling subscription_service_manager_ -> UAF.
2026-05-13 09:56:34 +01:00
Aleksei Khoroshilov 541b4258b3 Add Commander.js extra-typings module. (#35991) 2026-05-13 15:38:43 +07:00
Anton Paymyshev e03576b447 [Wallet] Support Zcash in more than one profile (#36321) 2026-05-13 13:05:04 +07:00
Darnell Andries 40a3137cd2 [AI Chat] Add manager/loader for OHTTP config (#36293) 2026-05-13 06:45:59 +01:00
Kamil Jozwiak bd7a5f9fee Upgrade from Chromium 148.0.7778.96 to Chromium 148.0.7778.167. (#36386)
<!-- Add brave-browser issue below that this PR will resolve -->
Resolves https://github.com/brave/brave-browser/issues/55472

<!-- CI-related labels that can be applied to this PR:
* CI/disable-pipeline-step-cache - instruct CI to not cache build steps
between runs for the same commit hash
* CI/enable-coverage - enable coverage reporting for your code changes
* CI/enable-test-only-affected - instruct CI to only run tests affected
by your change
* CI/run-audit-deps (1) - check for known npm/cargo vulnerabilities
(audit_deps)
* CI/run-network-audit (1) - run network-audit
* CI/run-perf-smoke-tests - run smoke performance tests
* CI/storybook-url (1) - deploy storybook and provide a unique URL for
each build
* CI/run-upstream-tests - run Chromium unit and browser tests on Linux
and Windows (otherwise only on Linux)
* CI/skip-upstream-tests - do not run Chromium unit, or browser tests
(otherwise only on Linux)
* CI/run-teamcity - run TeamCity
* CI/skip-teamcity - skip TeamCity
* CI/skip - do not run CI builds (except noplatform)
* 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-linux-x64, CI/skip-android, CI/skip-macos-arm64, CI/skip-ios,
CI/skip-windows-x64 - skip CI builds for specific platforms

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

<!--
## Checklist:

- Review design docs
[Browser design
principles](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/chrome_browser_design_principles.md)
[Style
guide](https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++.md)
[Core principles](https://www.chromium.org/developers/core-principles/)
- Ensure there are
(tests)[https://www.chromium.org/developers/testing/]. Unit test as much
as possible (including edge cases), but also include browser tests
covering high level functionality.
- Ensure that there are comments explaining what classes/methods are/do.
The "why" is often more important than the "what" in comments. Also
update any relevant docs (moving docs from wiki to brave-core if
necessary).
- Request security or other review (third-party libraries, rust code,
etc...) if applicable [security/privacy review is
needed](https://github.com/brave/brave-browser/wiki/Security-reviews)
[other review](https://github.com/brave/reviews/issues/new/choose)
Also see [adding third-party
libraries](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/adding_to_third_party.md)
for general guidelines on using third party code
- Make sure there is a
[ticket](https://github.com/brave/brave-browser/issues) for your issue
- Use 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
- Write a good [PR/commit
description](https://google.github.io/eng-practices/review/developer/cl-descriptions.html)
- Squash any review feedback or "fixup" commits before merge, so that
history is a record of what happened in the repo, not your PR
- Add 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`
- Run `git rebase master` (if needed)
-->
2026-05-13 01:00:17 -04:00
brave-builds e5b873e9f1 1.92.55 2026-05-13 04:20:40 +00:00
Jocelyn Liu 3c6e972f64 [AI Chat] Fix empty title generation (#36388) 2026-05-12 19:07:34 -07:00
Eli Hini 2b7831faec [iOS] Fix Playlist showing downloaded indicator for missing cached items (#35862)
* Fix Playlist showing downloaded indicator for missing cached items

Playlist previously rendered the "downloaded" checkmark whenever `PlaylistItem.cachedData` was non-empty, without verifying the underlying bookmarked file still existed on disk.

CarPlay used the stricter synchronous `state(for:)` check, so the two surfaces could disagree, and tapping an apparently-downloaded item would silently re-stream/re-download via `PlaylistMediaStreamer`.

- `PlaylistItemList` now derives its download indicator solely from the async `PlaylistManager.downloadState(for:)` result, dropping the `cachedData` fallback.
- `PlaylistManager.downloadState(for:)` clears stale `cachedData` and  emits `.invalid` when the bookmark resolves to a missing file.
- `deleteDanglingManagedAssets()` now also reconciles the reverse  direction: items whose bookmarks are stale or point to missing files  have their `cachedData` cleared and an `.invalid` state event emitted,  so future cold starts reflect reality.
- `CarPlayController` now reads from the same async `downloadState(for:)` path (cached per-refresh) so phone + CarPlay  status will be in sync.

* Added Playlist File Manager For debug sessions to delete the files


Signed-off-by: Eli Hini <8249954+EliHini@users.noreply.github.com>
2026-05-12 17:19:39 -07:00
brave-builds 301530820d 1.92.54 2026-05-13 00:03:31 +00:00
Jay Harris b6acbfbea5 [AI Chat]: Fix Leo context menu not starting conversation (#36233) 2026-05-13 11:26:13 +12:00
Max Karolinskiy 97d6b3cdc1 [148.0.7778.167] Filter upstream tests as needed. 2026-05-12 19:23:19 -04:00
Simon Hong aa2ad1dfbd [infobar] Refactor BraveConfirmInfoBar (1/N): drop dev channel infobar (#36342)
First step of the BraveConfirmInfoBar refactor.

Before refactoring BraveConfirmInfoBar, removed unused BraveConfirmInfoBar subclass.

Dev channel deprecation infobar: not used anymore. Remove.

Resolves - subtask of brave/brave-browser#48822
2026-05-13 07:24:46 +09:00
Max Karolinskiy fd20360961 [148.0.7778.167] Contents capture border is now a view.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/14945ff5cc3dc87e5717a1c2e8f8a831d47c2929

commit 14945ff5cc3dc87e5717a1c2e8f8a831d47c2929
Author: Caroline Rising <corising@chromium.org>
Date:   Thu Apr 23 17:37:28 2026 -0700

    [Vertical tabs] Make the contents capture border a view instead of a widget.

    This change prevents the border from being drawn over the vertical tab
    strip when expanded on hover.

    Bug: 505366481
2026-05-12 18:24:02 -04:00
Max Karolinskiy 45cdb65b79 Update patches from Chromium 148.0.7778.96 to Chromium 148.0.7778.167. 2026-05-12 18:11:44 -04:00
Max Karolinskiy 0c97bddc89 Conflict-resolved patches from Chromium 148.0.7778.96 to Chromium 148.0.7778.167. 2026-05-12 18:11:43 -04:00
Max Karolinskiy b87b8f9a8f Update from Chromium 148.0.7778.96 to Chromium 148.0.7778.167. 2026-05-12 18:03:16 -04:00
Max Karolinskiy 8b79b4e815 [148.0.7778.167] Motionmark regression fix landed upstream.
Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/85b9364365cab

commit 85b9364365cabee013e0174fd761fcee4786d93d
Author: Vasiliy Telezhnikov <vasilyt@chromium.org>
Date:   Tue May 5 12:03:25 2026 -0700

    [M148] Add cpu usages for mappable SI in CanvasResourceProvider

    Original change's description:
    > Add cpu usages for mappable SI in CanvasResourceProvider
    >
    > ClientSharedImageInterface will add them internally [1] based on the
    > buffer usage, but that breaks resource recycling for shared image pools,
    > because pools ImageInfo::usage is not updated.
    >
    > Based crrev.com/c/7804870 by Sunny, with the fix to offscreen canvas and
    > a kill-switch for a good measure.
    >
    > [1] https://source.chromium.org/chromium/chromium/src/+/main:gpu/ipc/client/client_shared_image_interface.cc;drc=3651f9e5dc60ded0e9141ca658e78c03f9428450;l=147
    >
    > Bug: 507882475
    > Change-Id: Ia79f9314d896b55146ca4507dc75aee559dec15b
    > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7806787
    > Reviewed-by: Kramer Ge <fangzhoug@chromium.org>
    > Commit-Queue: Vasiliy Telezhnikov <vasilyt@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#1623505}

    (cherry picked from commit 9342b323d594747d5f9c9e28a6f1accf11af12e5)

    Bug: 508578556,507882475
2026-05-12 18:02:34 -04:00
Aleksei Seren 3793bdd875 Fix NTT on restored tab is not triggering viewed event after restart (#36373)
After NTT began being served on demand, the NTT content can arrive while the
NTP view is already visible. The viewed impression was only fired in
viewDidAppear, so asynchronously delivered NTT never triggered the event.
To fix that the PR adds triggering of the event to `NewTabPageBackground`
`changed()` callback.
2026-05-12 16:57:58 -05:00
Serg 3effe93f7d [Android] Apply IntentHandler internal-scheme guard to brave:// (#36370)
Aligns brave:// with chrome:// in IntentHandler.intentHasUnsafeInternalScheme.
The upstream guard is unaware of the Brave alias because the brave:// →
chrome:// rewrite happens after the intent layer.

BraveIntentHandlerClassAdapter redirects the upstream call site through
BraveIntentHandler.intentHasUnsafeInternalScheme. The Brave method defers to
upstream first, then additionally rejects brave:// under the same category
guard upstream uses. A new BraveIntentHandlerInternal helper holds the
bytecode stub used to back-call the (private) upstream method.

Resolves: https://github.com/brave/brave-browser/issues/55473
2026-05-12 22:07:15 +01:00
brave-builds d1d734153b 1.92.53 2026-05-12 21:05:50 +00:00
Darnell Andries 5ab1e39cd4 Add feature + params for backup results service (#36339) 2026-05-12 13:56:24 -07:00
Aleksei Seren a92c7a0fd1 Remove Brave News inline content ads dead code on Desktop (#36360)
The display ad pipeline on desktop was already disabled. This PR removes the
remaining frontend code and portions of the mojom code that no longer had any
effect. The remaining mojom code is still required for Android builds and will be
removed in a follow-up when the dead code for Brave News inline content ads
on Android is cleaned up.
2026-05-12 15:56:10 -05:00
Christian Mazakas 87d1741fee [Polkadot] [Wallet] add asset id to extrinsic signing (#36283)
Resolves brave/brave-browser#55152

Update extrinsic signing routines to add an asset id denoting that the chain's
native token (DOT) will be used to pay the transaction fees.

The asset id is specified to appear after the tip. Tests include signed
extrinsics accepted by AssetHub Westend.
2026-05-12 13:22:12 -07:00
Douglas Daniel caba56b7aa [Wallet]: Report an Issue Button (#36367)
Replaces the Request feature button with a Report an issue button
2026-05-12 15:19:26 -05:00
Anton Lazarev d8790b7d7c update adblock-rust to v0.12.5 (#36333) 2026-05-12 12:28:19 -07:00
dependabot[bot] 486d41e441 Bump @protobufjs/utf8 from 1.1.0 to 1.1.1 (#36356)
Bumps [@protobufjs/utf8](https://github.com/dcodeIO/protobuf.js) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/dcodeIO/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dcodeIO/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1)

---
updated-dependencies:
- dependency-name: "@protobufjs/utf8"
  dependency-version: 1.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-12 20:02:25 +01:00
Netzenbot 51176a84e1 Fix flaky EmailAliasesBrowserTest.ContextMenuAuthorizedManage (#36306)
The test intermittently fails with "deepQuery is not defined" because
InjectHelpers injects the helper function into the bubble's WebContents
before the WebUI navigation has committed. WaitForLoadStop returns
immediately when no navigation is pending (e.g., the WebContents is
still at about:blank), so deepQuery is injected into the pre-navigation
context, then lost when chrome://email-aliases.panel/ loads.

Wait for the WebContents to commit a non-empty, non-about:blank URL
before calling WaitForLoadStop and injecting JavaScript.

Fix brave/brave-browser#55000
2026-05-12 14:06:07 -04:00
cypt4 8472556270 Revert "[Wallet] Delay unlock with dev-wallet-password" (#36366)
Revert "[Wallet] Delay unlock with dev-wallet-password (#36340)"

This reverts commit d52bc7bbc8.
2026-05-12 20:03:37 +02:00
cdesouza-chromium 3f27daa4ff [plaster] Remove count = 1 lines (#36310)
Removing these lines so we can introduce `count` value checks to steer
users towards fixed counts only when needed, and away from `count=0`. At
the moment removing these as they are redundant.
2026-05-12 18:34:53 +01:00
brave-buildsandbrave-builds-ro 5ca7c74f64 Roll perf profiles update (update-perf-profile-2026-05-12-16-16) (#36361)
* Update perf profile brave-typical-mac using v1.92.49
* Update perf profile brave-typical-android using v1.92.42
* Update perf profile chrome-typical-mac using v1.92.49
* Update perf profile chrome-typical-android using v1.92.42
* Update perf profile brave-typical-win using v1.92.39
* Update perf profile chrome-typical-win using v1.92.39

---------

Co-authored-by: brave-builds-ro <devops+robuilds@brave.com>
2026-05-12 21:24:23 +04:00
yan cacb85b1f0 update WDP (#36355)
fix https://github.com/brave/brave-browser/issues/55446
2026-05-12 10:11:08 -07:00
Douglas Daniel 6be7f7788e [Wallet]: Hide Cardano Connection Option until Account is Created (#36350)
Will now hide Cardano as a connections option until an account is created.
2026-05-12 11:15:23 -05:00
Simone Arpe f1cd4c159b Show new onboarding by default (#36349)
Shows the new onboarding flow by default and removes old unused code in
Java, XML layouts and strings.
2026-05-12 18:07:13 +02:00