Commit Graph
78628 Commits
Author SHA1 Message Date
cdesouza-chromium a7cb22bb67 [toolchain] A bootstrap for depot_tools (#36811)
This bootstrap script will allows us to have a stable environment
across all bots runnning toolchain scripts.

The basics of this script is that we can chain it with the toolchain
ones, and it takes care that we have a valid `vpython` install to run
our tools on. It is possible to use both a url to download a script, or
to provide a local one.

This is being done to correct some of the issues we are having in CI
with python deps, but it will also permit us to come up with subrevision
schemes for toolchains that take into account the hashing of the
builder.

Bug: https://github.com/brave/brave-browser/issues/55812
2026-05-28 14:44:40 +01:00
Alex 56de1283b5 [VPN 2.0] Move ClearSubscriberCredential from "browser" to "common" (#36763)
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 moves ClearSubscriberCredential from a helper located in
a "browser" directory, to utils located in a "common" directory. This
function is used outside of the Brave VPN targes, so an additional
dependency on V1's "browser" there is unnecessary.

Implements part of https://github.com/brave/brave-browser/issues/54597
2026-05-28 09:05:47 -04:00
cdesouza-chromium 31ac5c1ba8 [toolchain] Disabling unused Mac toolchain downloads (#36760)
This PR disables the hook for downloading the Mac toolchain, that can be
only used by Google employees, as that hook own output was quit
confusing, as it preceeded our own hook being run.

We are also disabling downloading the hermetic toolchain for ios
checkouts. IOS builds do not use the hermetic tooolchain, and recently
we've run into significant issues in CI relating to that.

https://github.com/brave/brave-browser/issues/55812
2026-05-28 13:57:34 +01:00
brave-builds a46e3f9ff4 1.93.5 2026-05-28 12:33:06 +00:00
brave-builds 99eb47f678 1.93.4 2026-05-28 12:03:11 +00:00
r0hit0303 483a4fbd26 [farbling] Add WebGLExtensionHandler to handle extensions related calls (#36762)
This change adds a dedicated `WebGLExtensionHandler` handler to handle farbling around WebGL's `getSupportedExtensions` and `getExtension` calls. The  handler is instantiated taking into account different levels of fingerprinting protections as follows:

#### 1) Balanced fingerprinting protections:
  - [WebGLBalancedFingerprintingProtection](https://sourcegraph.com/r/github.com/brave/brave-core/-/blob/chromium_src/third_party/blink/common/features.cc?L63) **enabled**:  calls to `getSupportedExtensions` will injects a fake extension to the list and will keep this new list consistent till the lifetime of that handler. Calls to getExtension on the fake extension would return a fake `ScriptObject` with the name of the fake extension in CamelCase.
  - [WebGLBalancedFingerprintingProtection](https://sourcegraph.com/r/github.com/brave/brave-core/-/blob/chromium_src/third_party/blink/common/features.cc?L63) **disabled**: No change in behaviour i.e we don't farble and return the true list of supported extensions. 
  
 #### 2) Maximum fingerprinting protections:
 - No change in behaviour i.e we continue to return a single entry for the getSupportedExtensions call viz. WEBGL_debug_renderer_info. 
 
 #### 3) No fingerprinting protections:
 - No change in behaviour. We return the true list of supported extensions. 

Please note that this is part of the change from the bigger [PR](https://github.com/brave/brave-core/pull/36605). The `WebGLExtensionHandler` would later be created by [BraveSessionCache](https://sourcegraph.com/r/github.com/brave/brave-core/-/blob/third_party/blink/renderer/core/farbling/brave_session_cache.h). This integration with `BraveSessionCache` and then with `WebGLRenderingContextBase` would be followed in later CLs.  

This change also adds unit_tests for the same. Browser tests would be followed up later once we have the full integration complete. 

<!-- Add brave-browser issue below that this PR will resolve -->
Related https://github.com/brave/brave-browser/issues/55858
2026-05-28 12:40:28 +01:00
Simon Hong ecfa742248 [Cleanup] Move BraveContentsViewUtil::kMarginThickness to layout_constants.h (#36807)
Moved to layout_constants.h to make access that constants easily w/o complicated deps resolving.

Resolves - no issue. simple cleanup.
2026-05-28 20:36:20 +09:00
Kyle Den Hartog fd18de0d8c [Wallet] Fix Solana signMessage transaction guard bypass (#36720) 2026-05-28 18:38:06 +12:00
Mihai PLESA c43e5a3276 Delete .github/workflows/set-milestone-from-base-branch.yml (#36778) 2026-05-28 07:17:15 +01:00
Jay Harris 859131ea58 [csp]: Remove option to disable trusted types (#36805) 2026-05-28 06:37:24 +01:00
Darnell Andries 07941b18b6 [AI Chat] Enforce code execution output size limits (#36425)
* [AI Chat] Enforce code execution output size limits

* Address PR feedback
2026-05-27 21:43:19 -07:00
Kevin Smith 3ca69da9ca [FocusMode] Add edge reveal supporting classes (#36561)
Adds the "edge_reveal" library - a reusable set of classes that support
auto-revealing browser chrome anchored to an edge of the browser view.
2026-05-27 23:14:01 -04:00
Sangwoo Ko fc40b109df Remove #define in c/b/ui/accelerator_table.cc (#36599)
* Remove #define in c/b/ui/accelerator_table.cc

Replaces #define macro with plaster + chromium_src override.
plaster will rename GetAcceleratorList() to GetAcceleratorList_ChromiumImpl()
so that we can have our own implementation of GetAcceleratorList().
2026-05-28 04:01:34 +01:00
brave-builds d8d61896d7 1.93.3 2026-05-28 00:42:17 +00:00
brave-builds 8fd8b90c3f 1.93.2 2026-05-28 00:03:35 +00:00
Jay Harris 6f918491ed [AI Chat]: Fix table header lineup (#36786) 2026-05-28 00:56:07 +01:00
jeremytieman e15973a4d9 Remote model fetch and parsing (#35089)
* Remote model fetch and parsing.

* Applied review suggestions

* feat(ai_chat): update remote model parser to server capabilities format

* feat(ai_chat): address review feedback on RemoteModelsFetcher
2026-05-27 16:37:46 -07:00
Kyle Hickinson 4c5405a5f4 Partial Revert "[iOS]Restore private tabs when "Keep private tabs" is enabled (#34421)" (#36783)
This removes the newly added auth check when the Private Tabs > Require Face ID setting is enabled which could conflict with Browser Lock and leave the user stuck on the launch screen
2026-05-27 19:37:11 -04:00
Terry Mancey 898059b5a2 [ads] Unregister resource components on shutdown and opt-out (#36769)
Resource components were registered with the component updater but never
explicitly unregistered, causing it to keep downloading updates for
country and language models even after the ads service shut down or the
user opted out of notification ads. Components are now unregistered in
OnPrefChanged when the service becomes ineligible, and the language
component is additionally unregistered immediately when the user opts
out of notification ads while the service is still running.
2026-05-27 15:45:55 -05:00
Alex fba382bb84 [VPN 2.0] Split VPN utils into shared and V1-only targets (#36757)
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 incremental change splits "brave_vpn" target into two:
- "brave_vpn" itself, shared between V1 and V2 implementations.
- "v1_utils", a strictly V1 target, currently containing the VPN
  connection manager utility code for Architecture 1.0.

Most existing targets will continue depending on the shared
"brave_vpn"; "v1_utils" is used only in the specific place where V1
connection manager creation is done, and will be later gated by a
buildflag.

Implements part of https://github.com/brave/brave-browser/issues/54597
2026-05-27 21:18:43 +01:00
Aleksei Khoroshilov 26cd1b5c32 Restore pinned tabs with containers. (#36683)
* Restore pinned tabs with containers.

* Apply review suggestions.
2026-05-28 02:53:34 +07:00
Darnell Andries b9b4c5d9e6 Large chunked OHTTP request fix (#36766)
The RFC suggests a maximum chunk size of 16,384 bytes. If a request is made with
a plaintext length that is greater than the limit, split it up into 15kb chunks and
encrypt them individually.
2026-05-27 20:53:03 +01:00
Terry Mancey 9189d8eb56 [ads] Replace tuple-based URL response results with explicit success/error types (#33780)
URL response handlers previously returned anonymous pairs of a message
string and a retry flag, making it unclear at call sites what each
value represented. Handlers now return UrlResponseResult<T>, carrying
either the success value or a UrlResponseErrorInfo with named fields,
making intent obvious and reducing the chance of mistakes.
2026-05-27 14:40:40 -05:00
Terry Mancey 8e31ee7e86 [ads][CodeHealth] Remove stale kMaximumNotificationAdsPerHour pref migration (#36768)
The migration that cleared kMaximumNotificationAdsPerHour and opted the
user out of notification ads when the value was zero was added in
08/2023. The migration has been in place long enough that all affected
users have upgraded, so remove it.
2026-05-27 14:31:01 -05:00
Christian Mazakas 22bb9b9634 [Polkadot] [Wallet] add Polkadot network selector when viewing on block explorer (#36745)
Resolves brave/brave-browser#55848

Add a new modal for selecting Polkadot networks, which then grabs the correct
chain id for ss58 address generation and also the correct block explorer URL.
For Polkadot, the main block explorer we use will set parachain-specific
subdomains.
2026-05-27 12:07:28 -07:00
AlexeyBarabash fba7852b51 [Android][Sync] Reading list option (#36761)
* [cr149][Android][Sync] Show Reading list type at UI

Resolves https://github.com/brave/brave-browser/issues/55850
2026-05-27 21:35:05 +03:00
Nuo Xu 226bbd67f3 [iOS][Wallet] TLD Interstitial Screen UI/UX updates (#36707) 2026-05-27 14:09:07 -04:00
brave-builds bf6afaf9ea 1.93.1 2026-05-27 17:39:12 +00:00
brave-builds 5891b8077a Branch migration - master branch (#36765)
Update Nightly channel to: 1.93.0
2026-05-27 18:15:15 +01:00
Simone Arpe 8a815b13e3 Show correct amount to send and correct gas fee on confirmation screen (#36753) 2026-05-27 18:12:46 +02:00
brave-builds dae39cb73e 1.92.107 2026-05-27 16:03:33 +00:00
Brian R. Bondy 256f2f332c Remove CS-010 brace style deviation from Brave best practices (#36759) 2026-05-27 11:35:43 -04:00
Brian R. Bondy be0ee5d7cc Fix Brave Origin overlay on other settings pages during search (#36742) 2026-05-27 11:26:55 -04:00
samartnik c834e2aa5e [Android] Fixes for menu items on tablets (#36756) 2026-05-27 16:05:25 +01:00
Christian Mazakas c36d985d6f [Polkadot] [Wallet] simplify handling of chain metadata (#36518)
Update how we handle chain metadata by returning the CXX-generated struct
directly and relocating the definition of the runtime parsing routines, removing
the need for intermediate structs. We also add defaulted implementations of the
default constructor and equality operators. We update the code to provide direct
access to the CxxPolkadotChainMetadata data members via the arrow operator,
which removes the need for getters.

This is motivated by the number of fields attached the metadata growing
substantially over time.
2026-05-27 07:43:37 -07:00
Nuo Xu f26bee9033 [Wallet] Update Infura to Chainstack in copy and links (#33354) 2026-05-27 10:11:17 -04:00
Nuo Xu 78086ecdd3 [iOS][Wallet] Enable wallet webui and zcash shielded tx feature flag by default (#36641)
enable wallet webui and zcash shielded tx feature flag by default
2026-05-27 10:09:34 -04:00
Douglas Daniel dd71138cea [Wallet]: Fix Duplicate Key Warning on Deposit Screen (#36735)
Fixes a duplicate Key warning on the Wallet Deposit screen
2026-05-27 07:55:59 -05:00
Douglas Daniel b4556dd4f8 [Wallet]: Fix Back Button on Deposit Funds Screen (#36738)
Fixes a missing back button on the Deposit funds screen
2026-05-27 07:50:42 -05:00
brave-builds 218549d05f 1.92.106 2026-05-27 12:33:14 +00:00
brave-builds 33748d5462 1.92.105 2026-05-27 12:08:12 +00:00
brave-builds a3f80a14b1 1.92.104 2026-05-27 02:19:11 +00:00
brave-builds 18d22cfa17 1.92.103 2026-05-27 00:03:28 +00:00
Darnell Andries 4b89a12e89 [AI Chat] Enable AIChatCodeExecutionTool by default (#36744) 2026-05-27 00:52:42 +01:00
Darnell Andries 914163af5e [AI Chat] Relay outer OHTTP response code to response handler (#36743) 2026-05-27 00:45:23 +01:00
dependabot[bot] 970b49781c Bump qs from 6.15.0 to 6.15.2 (#36664)
Bumps [qs](https://github.com/ljharb/qs) from 6.15.0 to 6.15.2.
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.15.0...v6.15.2)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.15.2
  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-27 00:15:20 +01:00
Serg 2c77c7f21c [Origin] Initialize BraveOriginPolicyManager before profile builds (#36740)
`BraveOriginPolicyManager::Init` was only called lazily from
`BraveOriginServiceFactory::BuildServiceInstanceForBrowserContext`,
which runs during profile keyed-service build. Profile pref-store init
waits on `PolicyService::IsInitializationComplete`, which waits on
`BraveProfilePolicyProvider::IsInitializationComplete`, which gates on
`manager->IsInitialized()` -- and that's only flipped by the lazy call
that itself is gated on profile build. Cycle manifests as "stuck on
profile selection screen" for some users.

Initialize the manager eagerly at the end of `BraveBrowserProcessImpl::Init()`,
right next to the existing `AdBlockOnlyModePolicyManager::Init` call. The
factory's lazy `if (!IsInitialized()) Init(...)` block stays as a backstop
for tests that bypass `BraveBrowserProcessImpl`.

Resolves: https://github.com/brave/brave-browser/issues/55733
2026-05-26 19:11:06 -04:00
Jay Harris 4aa0cfb1fa [NTP]: New tab page Brave News card doesn't respect the openArticlesInNewTab preference (#36709) 2026-05-26 23:19:12 +01:00
Brian R. Bondy 8a2ad8be04 Hide Email Alias keyboard shortcuts when disabled (#36690)
Fixes https://github.com/brave/brave-browser/issues/55597
2026-05-26 16:43:06 -04:00
Brian R. Bondy a4dbd4092c Defer OpenOriginSettings out of CredentialSummary callback (#36705)
Calling chrome::ShowSettingsSubPageForProfile inline from the SKU
CredentialSummary mojo reply runs during the same dispatch frame that
just fired SetPurchased() — which reloads managed prefs via the policy
provider observer chain. Opening a settings tab synchronously from that
mid-cascade state has produced BackupRefPtr dangling raw_ptr crashes
when the Refresh button on account.brave.com first detects a purchase.

Set did_open_origin_settings_ before posting and let the helper run on
the next loop iteration; the WeakPtr guards against the service being
torn down between the post and the run.

Also drop a stray LOG(ERROR) debug print left in OnCredentialSummary.

Fixes brave/brave-browser#55632
2026-05-26 16:42:27 -04:00