Commit Graph
78794 Commits
Author SHA1 Message Date
Jay Harris 45703eef4b [AI Chat]: Remove focus outline from charts (#37004) 2026-06-05 04:54:11 +02:00
Kyle Hickinson 7726cd762a [iOS] Opt-in to prettier for iOS typescript/markdown (#36998) 2026-06-04 20:53:52 -04:00
Kyle Hickinson d12b8b1d55 [iOS] Hide unavailable features from Shortcut widgets (#36989)
This stores features that are unavailable in the group container similar to favourites to adjust how the shortcuts widget is displayed when features are unavailable due to Brave Origin or enterprise policies.
2026-06-04 20:51:53 -04:00
Jay Harris 397e9c6754 [Settings]: Add missing override file for Polymer (#37000) 2026-06-05 02:38:16 +02:00
Szilard Szaloki 9a571e2b0d Account: handle "token has expired" error (#36982) 2026-06-04 20:08:15 -04:00
brave-builds bce4729762 1.93.33 2026-06-05 00:03:34 +00:00
Jay Harris 11d06e4ad0 [Nala]: Add missing trusted-types policy for ledger_ui (#36980) 2026-06-05 00:13:19 +01:00
Simon Hong 9c51b5e6e2 [Sidebar V2] Update panel contents border radius (#36834)
Applied rounded corners to panel's contents view.
Introduced brave::GetPanelContentsRoundedCorners(PrefService*, bool has_header)
which derives corners from the pref and current header presence.
Route GetRoundedCorners() through it via patch, reading header_view_ state
(set before AddChildView) instead of the stale coordinator entry ID.
Call UpdateContentWrapperChildCorners() from UpdateBorder() overrides so
corners are re-applied on panel open and pref change.

Resolves no issue - use umbrella issue (brave/brave-browser#51462)

TEST=SidePanelUtilsTest.*, SidebarBrowserTest.SidebarV2ContentCornersUpdateOnStateChange
2026-06-05 08:06:19 +09:00
Terry Mancey 967ecbcfdd [ads][CodeHealth] Use raw_ref for ResourceComponent member (#36995)
`resource_component_` was held as a nullable `raw_ptr` but the
factory always provides a valid object. Changing it to `raw_ref`
removes the null guards throughout and adds a `CHECK_DEREF` in the
factory so a missing component crashes immediately.
2026-06-05 00:43:02 +02:00
Mikhail 65d8d894df Disable LaunchShellExecuteViaExplorer feature (#36990) 2026-06-04 15:11:25 -07:00
AlexeyBarabash 759269a49a [Android] Fix for Open in new tab animation (#36974)
Resolves https://github.com/brave/brave-browser/issues/56076

must be reverted for `cr150`
2026-06-05 00:46:50 +03:00
Alex e66c446dd5 [VPN 2.0] Add BraveVpnServiceImpl V2 stubs (#36935)
To add a new BraveVpnService implementation based on Architecture 2.0,
which must co-exist with Architecture 1.0 for quite a while, we need
to split service's interface and implementation. All the external
components will keep accessing VPN service via the BraveVpnService
interface, but the implementation mostly goes into BraveVpnServiceImpl.

This change adds the second service implementation, BraveVpnServiceImpl,
for Architecture 2.0. It will live in a "components/brave_vpn/browser/v2"
subdirectory, but will eventually move into "components/brave_vpn/browser"
once V1 implementation has been removed.

Notable changes:
- fully testable BraveVpnServiceImpl v2 stub implementation, in a
  dedicated "v2" namespace;
- BraveVpnServiceFactory can now create a proper implementation based
  on the compile-time GN flags;
- v1/v2 include isolation using DEPS include rules (so that the
  implementations can't depend on each other);
- stub unit test for BraveVpnServiceImpl v2.

Resolves https://github.com/brave/brave-browser/issues/54597
2026-06-04 23:24:47 +02:00
Aleksei Seren 93614c2607 [ads] Fix no gap between NTT CTA button and Brave News feed on Android (#36940)
The PR adds 10dp margin to the NTT CTA button on Android
creating the required gap between the NTT CTA button and the
Brave News feed.

Resolves https://github.com/brave/brave-browser/issues/37465
2026-06-04 21:20:32 +02:00
cdesouza-chromium 68c23eab13 Revert "[toolchain] Disabling unused Mac toolchain downloads (#36760)" (#36958)
This reverts commit 31ac5c1ba8.

This change had been introduced under the impression we did not make use
of the hermetic toolchain to build the iOS code, but that's not
accurate. This is a partial revert of the change disabling the hermetic
SDK during the iOS checkout.

Bug: https://github.com/brave/brave-browser/issues/55812
2026-06-04 18:57:36 +01:00
Kyle Hickinson bbf4285ed5 [iOS] [Origin] Don't initialize ads service when Rewards is unavailable (#36985) 2026-06-04 12:32:04 -04:00
brave-builds 1906b1362c 1.93.32 2026-06-04 16:03:34 +00:00
Kyle Den Hartog 72856eed97 [Wallet] Security fixes for Polkadot metadata parsing (#35422)
* Produce metadata tests for parsing edge cases

These are some edge cases I found while doing some sec reviews with
an LLM. They seem like some good edge cases so the following commit
also addresses them to make sure the tests now pass.
2026-06-04 21:25:18 +07:00
cypt4 09df78d4d6 [Polkadot] Add asset hub westend\polkadot networks under flag. (#36647)
* [Polkadot] Add asset hub westend\polkadot networks under flag.
This PR  adds 2 additional asset hun networks to network_manager that are
available under the feature flag along with captured tx data.
2026-06-04 20:07:10 +07:00
brave-builds d5dc7dd8a7 1.93.31 2026-06-04 12:33:31 +00:00
brave-builds 762f4e9db5 1.93.30 2026-06-04 12:03:55 +00:00
Anton P 5cffd65f7e [Wallet] Fix renderer crash after accessing ethereum._metamask (#36979) 2026-06-04 12:24:10 +02:00
Jay Harris f58305f3a0 [Bookmarks]: Update bookmark icons in the sidebar (#36950)
* [bookmarks]: Change new folder icon

* [bookmarks]: Change folder icons

* [bookmarks]: Change expand/collapse carat

* [bookmarks]: Fix back button

* [bookmarks]: Footer

* [bookmarks]: Replace add button icon

* [bookmarks]: Fix folder fill

* [bookmarks]: Don't register CE upstream
2026-06-04 07:10:23 +01:00
brave-builds e4d996bb99 1.93.29 2026-06-04 04:01:58 +00:00
Kamil Jozwiak 8e37af1855 Upgrade from Chromium 149.0.7827.54 to Chromium 149.0.7827.59 (#36968)
Resolves https://github.com/brave/brave-browser/issues/56073
2026-06-03 23:55:32 -04:00
Anthony Tseng 3461528ff6 [AI Chat] Add semantic history search tool for Leo (#36385)
* [AI Chat] Add HistorySearchTool exposing local history embeddings

Adds a self-executing Tool subclass that wraps
HistoryEmbeddingsService::Search() so the Leo assistant can semantically
search the user's local browsing history. Returns matches as a JSON
TextContentBlock containing title, URL, snippet, and last visit time.

The tool is not yet wired into any provider; that follows in a separate
commit so this change can be reviewed in isolation.

* [AI Chat] Add unit tests for HistorySearchTool

Covers the input validation and JSON serialization paths exercised by
HistorySearchTool. The full Search() flow is intentionally not faked
here -- HistoryEmbeddingsService has a heavyweight constructor and
faking it pulls in too many dependencies for a tool unit test; the
JSON formatter is exposed via internal:: so it can be tested directly.

* [AI Chat] Wire HistorySearchTool into BrowserToolProvider

The tool is created when history embeddings is enabled for the active
profile (via IsHistoryEmbeddingsEnabledForProfile, which checks the
flag and per-profile eligibility) and surfaced through GetTools().

* [AI Chat] Permit anchors for URLs returned by client-side tools

For Leo models, MarkdownRenderer strips any anchor whose href isn't in the
entry's allowedLinks list -- which today is populated only from the
sourcesEvent that web search emits. Client-side tools (e.g. semantic
history search) had no way to surface trusted URLs, so any [text](url) the
assistant wrote referencing tool results was demoted to a <span>.

Add a sidechannel via the existing ToolArtifact: a new artifact type
"trusted_links" carrying a JSON array of HTTPS URL strings. Conversation
entries flatten these into allowedLinks for the whole assistant group, so
URLs returned by a tool call (which lives in a separate assistant entry
from the follow-up response text) permit anchors in the response.

The artifact is not rendered visually -- it's purely a trust-list. No
mojom struct change, no LLM payload pollution, no "Sources" panel.

HistorySearchTool emits the artifact populated from the URLs in its JSON
results.

* [AI Chat] Add browser test for HistorySearchTool dispatch

Verifies the end-to-end path that unit tests can't reach: the mocked
engine emits a semantic_history_search tool_use event, ConversationHandler
dispatches to the real HistorySearchTool, the tool forwards the parsed
arguments to a fake HistoryEmbeddingsSearch, and the JSON-serialized
result flows back into the conversation history.

A second case exercises malformed args: the tool surfaces an error and
the search service is never called.

Uses the existing AIChatConversationUIBrowserTestBase helper.
2026-06-04 04:04:09 +01:00
Max Karolinskiy bcd925ed85 Enable Bosnian to be used as a UI language. (#36861)
* Enable Bosnian to be used as the UI language.

* Pulls latest Bosnian l10n files from Crowdin.

* Updates origin l10n for Bosnian.
2026-06-03 21:13:27 -04:00
brave-builds 3a65763d6e 1.93.28 2026-06-04 00:35:48 +00:00
brave-builds 02def37284 1.93.27 2026-06-04 00:03:36 +00:00
Brian R. Bondy bc87b51379 Exempt WebUI and trivial UI from ARCH-062 CUJ test best practice (#36956) 2026-06-03 19:38:26 -04:00
Serg 3c40cb1d47 [Android][Origin] Reclaim toolbar space when the rewards icon is hidden on tablet (#36975)
On tablet the rewards (BAT) icon lives in the brave_toolbar row, a
wrap_content LinearLayout that caches its measured width. When the icon
is hidden from onMeasure (e.g. when Brave Origin disables rewards), the
implicit requestLayout() from setVisibility() is dropped because the
toolbar is already mid-layout, so the row keeps its old width and the
weighted location bar never reclaims the freed space, leaving a gap
until a device rotation forces a fresh layout.

Route all rewards-slot visibility changes through a helper that, on an
actual change on tablet, re-requests layout on the rewards view itself
(so its row re-measures) off the measure pass, and refreshes the cached
tablet toolbar snapshot.

Resolves: https://github.com/brave/brave-browser/issues/56036
2026-06-03 19:15:36 -04:00
Eli Hini 58161eaead [iOS] Brave Playlist Exclusions component added (#36545)
Plumbing for BravePlaylistExclusions component. Installer and registrar to follow suite

Expose PlaylistExclusionsAPI as a protocol with a private impl so Swift can mock it, and add BravePlaylistExclusions.sharedInstance instead of exposing a wrapper on BraveCoreMain. 
Register the public header directly in ios/BUILD.gn and remove unused playlist deps from ios/app and ios/browser/web.

Signed-off-by: Eli Hini <8249954+EliHini@users.noreply.github.com>
2026-06-03 15:58:59 -07:00
Claudio DeSouza db8756987b Update patches from Chromium 149.0.7827.54 to Chromium 149.0.7827.59. 2026-06-03 18:49:18 -04:00
Claudio DeSouza 4e22eef752 Update from Chromium 149.0.7827.54 to Chromium 149.0.7827.59. 2026-06-03 18:49:18 -04:00
Nuo Xu bc3d345de4 [iOS][Wallet]: fix wallet wrong import (#36973)
fix wallet wrong import
2026-06-03 18:48:31 -04:00
Kyle Hickinson 6c47850c0b [iOS] Add support for randomized message handlers in JavaScriptFeatures (#36371)
This change adds a helper class `RandomizedMessageHandlerName` that can be used in JavaScriptFeature's to support randomizing message handler names. The randomized message handler is a UUIDv4 which is injected with the script itself via placeholder replacement.
2026-06-03 15:16:40 -04:00
r0hit0303 69c58c7b7c [Tests] Disable failing webgpu tests on Windows (#36963)
Windows doesn't seem to have support for webgpu adapter. So
we disable these tests for them.

Resolves https://github.com/brave/brave-browser/issues/56063, https://github.com/brave/brave-browser/issues/56064, https://github.com/brave/brave-browser/issues/56065, https://github.com/brave/brave-browser/issues/56066
2026-06-03 20:38:29 +02:00
Szilard Szaloki 73cd04e79d Account: remove alert from <brave-account-forgot-password-dialog>. (#36952) 2026-06-03 10:45:25 -07:00
samartnik 459ec2cff8 [Android] New Nala icons: copy, edit, share, microphone (#36957)
* [Android] New Nala icons: copy, edit, share, microphone

Icon ic_share_white_24dp is png in the upstream, so for now we have to use png format as well.

* PNG optimisation
2026-06-03 13:22:55 -04:00
Nuo Xu 6615d013d8 [iOS][Wallet] Clear window.localStorage from swift side when wallet is reset (#36777)
* clear window.localStorage from swift side when wallet is reset

* Clear WebUI localStorage on wallet reset via hidden WKWebView

* fix gn check

* address review(kyle) feedback

refactor WebUI localStorage clear to use SequenceBound
Replace the static global objc object and GCD dispatch with a WalletWebviewRunner C++ class held via base::SequenceBound, ensuring correct per-profile lifetime and UI thread enforcement via DCHECK_CURRENTLY_ON.

* address review(stephen) feedback

update func name with more clarity
2026-06-03 12:53:20 -04:00
Pete Miller 2b3895bd8e [AI Chat] Move HandoffButton lower and make it smaller (plaster version) (#36553)
* [AI Chat] Move HandoffButton lower and make it smaller

Brave's URL bar is centered, so it makes the URL unreadable in more cases than upstream. And Brave's AI Chat conversation UI has large buttons for pausing the tasks, which perform the same function.

- Fix https://github.com/brave/brave-browser/issues/51384
2026-06-03 09:25:31 -07:00
brave-builds 6ee3b85080 1.93.26 2026-06-03 16:03:13 +00:00
Kevin Smith 56aa81b9f8 [CompactMode] Add a toggle in settings (#36616) 2026-06-03 11:56:55 -04:00
Brian R. Bondy f31799c3c6 Skip rewards grant .env asserts for Brave Origin builds (#36938)
Brave Origin builds disable rewards (enable_brave_rewards =
!is_brave_origin_branded), so the rewards_grant_* endpoints are unused
and should not be required in .env.
2026-06-03 11:10:24 -04:00
Michael Herrmann caca561b2a Rewrite .install.sh.toml to .install.sh.yaml (#36955) 2026-06-03 15:54:51 +02:00
Kyle Hickinson 798e46c6a7 [iOS] Add methods for sending tokenized prompts to the browser (#36855)
This adds an additional tokenized method `sendWebKitMessageSynchronously` alongside `sendTokenizedWebKitMessage{WithReply}` that uses `window.prompt` from SafeBuiltins.
2026-06-03 09:18:29 -04:00
brave-builds 9aa57e5a6e 1.93.25 2026-06-03 12:33:14 +00:00
brave-builds f8cdea6c02 1.93.24 2026-06-03 12:03:26 +00:00
r0hit0303 2bc2676507 Add a new WebGPU webcompat content settings type (#36923)
This change adds a new WebGPU web-compat content settings type. This would allow showing a brand new "Webgpu" toggle inside the Brave shields > "Block fingerprinting" secondary UI. 

This change also connects the current webgpu scrubbing to this new content setting type which was webgl before. This allows the users to turn on/off the fingerprinting protections selectively on WebGPU APIs w/o changing WebGL. 

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

* update
2026-06-03 13:01:13 +02:00
Anton P a08004780f Move wallet urls out from /b/c/constants (#36875)
Cleanup wallet stuff in /b/c/constants
2026-06-03 17:22:26 +07:00
Anton P b57858103c [Wallet] Properly cleanup js providers when no longer needed (#36816) 2026-06-03 17:21:32 +07:00