Commit Graph
76848 Commits
Author SHA1 Message Date
Szilard Szaloki dec3cd74aa Account: disallow leading/trailing whitespace in passwords (#35133) 2026-04-02 00:28:24 +02:00
Serg e0365ec5d6 [Android] Remove unused FOREGROUND_SERVICE_CAMERA permission from Android manifest (#35178)
Upstream Chromium cr147 (https://chromium-review.googlesource.com/c/chromium/src/+/7559078)
made FOREGROUND_SERVICE_CAMERA unconditional for all Android builds by
removing the is_desktop_android guard. However, the feature that
actually uses it (kAndroidEnableBackgroundMediaCapturing) is disabled
by default and not enabled by Brave, so the permission is declared but
never used.

This blocks Play Store publishing because Google requires a declaration
with a demo video for any app using FOREGROUND_SERVICE_CAMERA.

This PR:
- Re-gates FOREGROUND_SERVICE_CAMERA behind is_desktop_android so it's
  excluded from Brave builds
- Removes AndroidManifest_user_permissions.xml since upstream now
  declares FOREGROUND_SERVICE_MICROPHONE unconditionally, making
  Brave's duplicate unnecessary

Resolves: https://github.com/brave/brave-browser/issues/54143
2026-04-02 00:06:11 +02:00
Kevin Smith 5f72cba990 [Rewards] Reduce TOS modal button padding in narrow view (#35163) 2026-04-01 15:58:04 -04:00
Kyle Hickinson fcb4c75242 [iOS] Remove unused playlist folder sharing script & related handlers (#35118)
This feature is no longer maintained/used by Brave so we can remove it entirely
2026-04-01 21:54:04 +02:00
Anthony Tseng d2042ec2d7 Revert "Replace kLocalAIModels with upstream kHistoryEmbeddings (#35004)" (#35158)
This reverts commit 90f77cd256.
2026-04-01 21:34:47 +02:00
brave-builds 6eb225afbf Branch migration - master branch (#35166)
Update Nightly channel to: 1.91.0
2026-04-01 19:18:16 +01:00
Sangwoo Ko d140628bb7 Make options for minimum tab width (#35071)
We provide a way to adjust the minimum width of the tab.
There're 5 options:
- default: currently the minimal
- minimum: current behavior,
- medium: 76px
- large: half of the standard width
- full: the standard width
2026-04-01 14:00:18 -04:00
Kyle Hickinson b2387889dc [iOS] Support search ads view event triggers when using profile configs (#35090)
This enables the usage of the new `BraveSearchAdResultsJavaScriptFeature` when the `UseProfileWebViewConfiguration` feature flag is enabled
2026-04-01 13:26:18 -04:00
Douglas Daniel 6f49f2a630 [Wallet]: Adjust Portfolio Overview Layout (#35122)
Adjusts the Portfolio Overview layout to make the Balance's aligned left and Action Buttons aligned right. Will remain vertical for Panel and Mobile.
2026-04-01 12:24:48 -05:00
Kyle Hickinson 46c80adbf6 [iOS] Support Translate using Chromiums implementation (#35117)
This adds a new flow for using Chromium's Translate component through `CWVTranslationController` when the `UseProfileWebViewConfiguration` feature flag is enabled.

Note: This new tab helper does not support the Apple on-device translation feature flag yet.
2026-04-01 12:55:59 -04:00
Nuo Xu 705ffb465a [iOS][Wallet] Integrate CardanoProvider and CardanoApi message handler (#34450)
* andd provider message handler in CardanoProviderHandler

1. handle enable() to create `CardanoApi` and store in Swift side
2. handle isEnable() to calling provider.enable()

* set up cardano api object in cardano provider script js

* handle cardana api methods

* fix up

1. fix getCollateral post amount object
2. start handling pagination error
3. add useful comments

* drop paginate parameter for getUsedAddresses in provider script since mojom version does not take any parameter

* address review comments

1. handles enable() returns (nil, nil) case
2. Use withTaskCancellationHandler When Bridging Callbacks to Async
3. remove unnecessary white space

* integrate sign cardano tx request from dapp

* address review comments

* fix closure captures self

* address more review comments

1. freeze js return value to prevent return value tampering
2. remove wallet provider and api ref from TabBrowserData and store directly in TabState via TabDataValues
3. some refactoring in cardano provider handler.

* fix dynamic accessors

* address nits change requests
2026-04-01 17:03:43 +01:00
brave-builds ce2cb6b3ba 1.90.93 2026-04-01 16:03:22 +00:00
Netzenbot 9c8462ef86 Fix test: AIChatConversationTaskBrowserTest.TaskUI (#34754)
* Fix test: AIChatConversationTaskBrowserTest.TaskUI

The Leo Button component (SvelteToReact wrapper) attaches its click event
listener asynchronously via useEffect, after browser paint. On macOS, the
paint can be delayed enough that the click listener is not yet attached when
ClickElement fires, causing pauseTask() to never be called and the RunUntil
for kPaused to time out.

Fix by calling conversation_handler_->PauseTask() directly instead of going
through the UI click path. The direct C++ call is reliable and synchronous,
eliminating the timing window. The UI click path is already tested by
TaskPauseResumeActions.

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

* Address review: add TODO for SvelteToReact async listener issue

Updated workaround comment to accurately describe the root cause:
the SvelteToReact wrapper in @brave/leo attaches click listeners
asynchronously via useEffect. Filed brave/leo#1343 to fix it at
the source, and added a TODO referencing that issue.
2026-04-01 10:18:32 -04:00
Netzenbot e71a6003b6 Fix AppInfoDialogBrowserTest.InvokeUi_default failure (#35115)
Brave's tab_data.cc override was incorrectly marking all UNLOADED
tabs as having discard status, including tabs that had never loaded
(e.g. during browser initialization). This triggered TabIcon to
attempt showing the IPH_DiscardRing promo before the browser's
user education interface was initialized, causing a LOG(ERROR)
and test failure on Windows ASAN builds.

The fix adds a WasDiscarded() check so only tabs that were actually
discarded get the discard status indicator, not tabs that simply
haven't loaded yet.

Resolves https://github.com/brave/brave-browser/issues/54037
2026-04-01 10:10:25 -04:00
cypt4 28c48d8cce [Polkadot] Customize deposit screen. (#35077)
* [Polkadot] Customize deposit screen.
Deposit screen now has network selector to show
specific address.
Resolves https://github.com/brave/brave-browser/issues/54071
2026-04-01 18:07:54 +04:00
Terry Mancey f3cc97cfd5 [ads][CodeHealth] Place test support code in test/ subdirectories (#35129)
Move all mock, test utility, and test helper files from their
co-located positions alongside production code into test/
subdirectories within each feature directory, following the
convention already established by core/internal/common/test/.
Update #ifndef guards, #include paths, and BUILD.gn source
lists accordingly.
2026-04-01 16:06:35 +02:00
Douglas Daniel 8e4e8cda75 [Wallet]: Remove Squared Button (#35131)
Removes the custom LeoSquaredButton component from the Wallet and will now directly use the Button component from leo
2026-04-01 08:47:55 -05:00
Douglas Daniel 90d903c8b5 [Wallet]: Update General Button to be Round (#35127)
Updates all general Buttons in the Wallet to now be Round
2026-04-01 08:47:05 -05:00
Brian R. Bondy 4d5809d130 Revert "Fix Brave Origin Windows build using wrong icons" (#35156)
Revert "Fix Brave Origin Windows build using wrong icons (#35081)"

This reverts commit 49519b3a35.
2026-04-01 09:39:16 -04:00
Kyle Den Hartog 6f89f77cc1 ci: add Socket Fix workflow (#35150)
* ci: add Socket Fix workflow

Adds a workflow_dispatch CI workflow to apply socket fix for a given
set of GHSA IDs and open a pull request with the changes.

* ci: pin node to v24 major and add CI/skip label to generated PRs

* ci: use brave-builds user for consistency with other workflows

* ci: add security label and issue_link input to socket-fix workflow
2026-04-01 14:30:46 +01:00
Terry Mancey c5cff2d121 [ads][CodeHealth] Remove verifiable conversions (#35126)
Verifiable conversions used a NaCl Curve25519 envelope to let
advertisers cryptographically verify a conversion ID extracted
from page HTML or URL redirects and the feature is no longer
needed. This removes verifiable conversion and resource support,
drops the verifiable_advertiser_public_key column via a v55
database migration, removes the conversion envelope from the
confirmation payload, removes ConversionTypeToString now that only
one conversion type remains, switches conversion detection from
OnHtmlContentDidChange to OnTabDidChange, and removes the entire
NotifyTabHtmlContentDidChange IPC pipeline including the mojom
method, AdsClientNotifier, TabManager, and AdsServiceImpl plumbing
that existed solely to deliver page HTML to the conversion engine.
2026-04-01 13:52:04 +01:00
brave-builds 5b9562b673 1.90.92 2026-04-01 12:33:21 +00:00
brave-builds 0ca8b2b1fa 1.90.91 2026-04-01 12:07:01 +00:00
github-actions[bot] 6bd154a4ec Update dependency vendor/web-discovery-project@702c7ee4a6 (#35146)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-01 13:03:45 +01:00
brave-builds 9b8fa3f64e 1.90.90 2026-04-01 12:03:23 +00:00
Brian R. Bondy 49519b3a35 Fix Brave Origin Windows build using wrong icons (#35081)
brave_exe.rc hardcoded theme\brave\win\ icon paths for all builds.
Use a BRAVE_ICON macro that switches between theme\brave\win and
theme\brave_origin\win based on IS_BRAVE_ORIGIN_BRANDED define.
2026-04-01 07:46:55 -04:00
Mikhail fd70b75cdf [adblock] Restrict access to engine_wrapper() (#35107)
* Restrict access to AdblockService::engine_wrapper_

* Cleanup friend classes in AdblockService

* Address copilot review comments

* Fix includes

* Expose AdBlockService::task_runner_ only for tests

* Fix compilation

* Rename some methods
2026-04-01 10:55:18 +01:00
Simon Hong a122fc3999 Fix location-bar-anchored bubble flickering when wide address bar is off (#35101)
Resolves brave/brave-browser#54025

ResetLocationBarBounds() was calling InvalidateLayout() on the location
bar unconditionally. That invalidation propagated up through the parent
chain, re-marking the toolbar as needing layout while still inside its
own Layout() call. The widget then scheduled another layout pass, which
did the same — a continuous loop that re-laid out location bar children
on every hover/paint event, causing Shields, Rewards, and other anchored
bubbles to flicker on mouse movement.

Fix: only call InvalidateLayout() when margin is zero — the one case
where SetBoundsRect() exits early without triggering LayoutImmediately(),
leaving children at stale positions. Also pass
avoid_propagate_during_layout=true so the invalidation stays local to
the location bar and does not re-trigger toolbar layout.
2026-04-01 18:12:28 +09:00
Sangwoo Ko f4b074ae88 [Tree Tabs] Fix crashes when dragging tabs in tree tabs (#35032)
* Fix crashes when dragging tabs in tree tabs

* Relaxing CHECKs for cases where tabs are dragged
* Checks for cases where split was created in a group
2026-04-01 09:48:07 +02:00
Kyle Hickinson e3b56ca4ba [iOS] Remove ReadyStateScript (#35044)
This removes the ReadyStateScript JS and its handlers and migrates the logic executed based on those scripts to the `tabDidCommitSameDocumentNavigation` observer method
2026-04-01 06:47:28 +02:00
Sangwoo Ko 51a35e511b [Containers] Limit the length of the container name input (#34920)
Limit the length of the container name input

We should limit the length of the container name input to 20 characters.
Also updates style of the input to match the design guidelines and
the limit is displayed in the input.
2026-04-01 04:58:39 +02:00
Kevin Smith 72f528ddd5 [NTP] Enable new shields panel UI by default (#35091) 2026-03-31 22:39:51 -04:00
brave-builds 2bd91c6325 1.90.89 2026-04-01 00:03:46 +00:00
brave-buildsandbrave-builds-ro 706baf0c43 Roll perf profiles update (update-perf-profile-2026-03-31-16-16) (#35121)
* Update perf profile brave-typical-mac using v1.90.84
* Update perf profile brave-typical-android using v1.90.48
* Update perf profile chrome-typical-mac using v1.90.84
* Update perf profile chrome-typical-android using v1.90.48
* Update perf profile brave-typical-win using v1.90.86
* Update perf profile chrome-typical-win using v1.90.86
---------

Co-authored-by: brave-builds-ro <devops+robuilds@brave.com>
2026-04-01 03:25:49 +07:00
Netzenbot 2e11af7fa4 Disable DevToolsExtensionHostsPolicyTest.CantInspectBlockedHost on MSAN (#35097)
Upstream Chromium test, stable upstream (0.9% flake rate over 30
days per LUCI Analysis). The test runs 10 eval retries with
exponentially increasing timeouts (~10s total wall-clock time).
Under MSAN instrumentation combined with Brave's additional DevTools
startup overhead (chromium_src overrides, NTP/stats services), this
exceeds the test's hardcoded 20-second timeout. The sibling test
CantInspectBlockedSubdomainHost is already disabled in the upstream
source for the same reason.

Resolves brave/brave-browser#54053
2026-03-31 16:21:23 -04:00
Netzenbot 5e8d811db7 Fix flaky BlobUrlPartitionEnabledBrowserTest blob cleanup (#35003)
* Fix flaky BlobUrlPartitionEnabledBrowserTest blob cleanup

After closing a tab, the Mojo associated pipe disconnect for
BlobURLStoreImpl goes through BrowserThread::IO (pipe closure
detection) before the disconnect handler is posted to the UI thread.
RunAllTasksUntilIdle() only flushes the UI thread and thread pool
but not the IO thread, so the blob URL mapping removal may not
complete before the test checks accessibility.

Add an IO thread flush via PostTaskAndReply before
RunAllTasksUntilIdle() to ensure disconnect notifications are
delivered and processed deterministically.

Resolves brave/brave-browser#53892

* Address review: use RunAllPendingInMessageLoop(IO) instead of manual flush

Replace the ad-hoc PostTaskAndReply IO thread roundtrip with Chromium's
established content::RunAllPendingInMessageLoop(BrowserThread::IO)
utility. This is more robust (multiple flush iterations via
kNumQuitDeferrals) and is the standard pattern used in Chromium's own
test infrastructure for the same IO→UI disconnect synchronization.

Resolves brave/brave-browser#53892
2026-03-31 16:18:23 -04:00
Netzenbot 5e81bc67d5 Disable ImageNavigationThrottleTest.SubresourceLoadSucceeds on Windows (#35100)
This Chromium test fails consistently on Windows ASAN nightly builds.
The test verifies that chrome://image subresource loads work by creating
an HTTPS embedded test server and loading an image through
SanitizedImageSource. The browser-process URL loader fails to download
from the test server under ASAN, likely due to cert trust issues.

The test is stable upstream (0.3% flake rate per LUCI Analysis).
Brave does not modify SanitizedImageSource, ImageNavigationThrottle,
or the chrome://image data source. The production feature works correctly
(wallet and other WebUIs load images via chrome://image without issues).

Resolves https://github.com/brave/brave-browser/issues/54041
2026-03-31 16:11:11 -04:00
Kyle Hickinson d26b3f9e33 [iOS] Add support for using Chromiums translation controller (#35055)
This implements the required method in `BraveWebView` to access the embedded `CWVTranslationController`. The controller will only function correctly when `UseProfileWebViewConfiguration` is enabled since it requires the Chromium JavaScript features to be injected.
2026-03-31 16:06:59 -04:00
Netzenbot 0a61eaf3dd Disable Chromium test NotificationContentDetectionServiceFactoryBrowserTest.DisabledForGuestMode (#35098)
This is an upstream Chromium test that fails intermittently on
Windows x64 ASAN builds. The test creates a standalone TestingProfile
in a browser test context, which triggers Brave's additional keyed
services and causes intermittent ASAN-detected issues during profile
lifecycle. The test is stable upstream (0.3% flake rate per LUCI
Analysis). Not disabled by Chromium.

Resolves https://github.com/brave/brave-browser/issues/54043
2026-03-31 15:57:43 -04:00
Netzenbot 9f1db1e854 Disable Chromium test ChromeDataUseMeasurementBrowserTest.DataUseRecorded (#35105)
This is an upstream Chromium test that consistently times out in Brave.
The test's busy-wait loop (RunUntilIdle + FetchHistogramsFromChildProcesses)
hangs because Brave's background tasks from extensions and shields keep the
UI thread non-idle, preventing RunUntilIdle from completing.

The underlying DataUse histogram recording works correctly - verified by
calling FetchHistogramsAsynchronously directly, which returns total=1569
bytes of data use. The issue is purely in the test's retry mechanism.

Upstream flake rate: 0.3% (stable). No Brave chromium_src overrides
affect the data use measurement code path.

Resolves https://github.com/brave/brave-browser/issues/54039
2026-03-31 15:22:37 -04:00
Terry Mancey f02162d0ac [ads] Remove split test exclusion rule (#35119)
Removes the SplitTestExclusionRule and all related code including the
split_test_group field from CreativeAdInfo and CatalogCreativeSetInfo,
catalog JSON parsing, the database column, and the glossary entry. Adds
a V54 database migration that drops the column from the creative_ads
table using ALTER TABLE ... DROP COLUMN.
2026-03-31 14:12:56 -05:00
Mikhail 33b31a20d0 Disable kPasswordDateLastFilled (#35116)
Backports https://crrev.com/c/7674577
2026-04-01 01:26:45 +07:00
Netzenbot d0b5bc397c Disable flaky Chromium NotificationContentDetection test (#35099)
Disable Chromium test NotificationContentDetectionAllowlistedChecksEnabledBrowserTest.NotificationDisplayedWhenModelNotAvailable

This is an upstream Chromium test (stable upstream at 0.2% flake rate).
Brave's stubbed PredictionManager and disabled optimization guide
features cause incompatibility with this test. All other tests in the
NotificationContentDetection family are already disabled for the same
reason. Not disabled by Chromium upstream.

Resolves https://github.com/brave/brave-browser/issues/54042
2026-03-31 13:53:02 -04:00
Kyle Den HartogandChristian Mazakas 7854c9c548 Add 41 new Unstoppable Domains Web3 TLDs (#34238)
This PR adds 41 new Web3 TLDs from Unstoppable Domains that were reviewed and
approved in brave/reviews#2128.

New TLDs added:
.agent, .ai4, .amped, .anyone, .arculus, .ath, .bch, .bunni, .carbon, .cgai,
.chip, .collect, .dejay, .depin, .derad, .digibyte, .dsci, .goblin, .gotchi,
.hub, .imtoken, .learn, .lunar, .marketer, .mobix, .mooncat, .mycircle, .ohm,
.pack, .pbdx, .pendle, .pilot, .pokt, .presearch, .pundi, .spend, .supernova,
.twin, .web3, .xyo, .zano

Resolves brave/brave-browser#53187
Resolves brave/reviews#2128

---------

Co-authored-by: Christian Mazakas <christian.mazakas@gmail.com>
2026-03-31 09:30:00 -07:00
brave-builds bf12a5357d 1.90.88 2026-03-31 16:03:44 +00:00
Kyle Hickinson 38f8af772c Improve iOS simulator wipe and boot reliability in test runners (#35111)
This adds patches that bring in the changes from a cr148 CL to hopefully improve the issue in CI where simulators hang when tearing down.

Chromium change:

commit 39a1c1938c9f9c3bcf36f015172600018169b6db
Author: Yue She <yueshe@google.com>
Date:   Wed Mar 18 11:57:28 2026 -0700

    Improve iOS simulator wipe and boot reliability in test runners

    - Reorders simulator teardown steps: `kill_simulators` is now invoked
    after wiping/erasing data instead of before. This ensures that any stray processes or simulators>
    procedures are properly cleaned up.
    - Adds a retry mechanism for simulator pre-booting.

    Bug: 441038354
    Change-Id: I8f94649d195a3804d9392dafdcde6dbd2c88ec88
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7676077
    Reviewed-by: Will Yeager <wyeager@google.com>
    Commit-Queue: Yue She <yueshe@google.com>
    Cr-Commit-Position: refs/heads/main@{#1601444}
2026-03-31 11:32:21 -04:00
Netzenbot 70a318628b Disable flaky Chromium test WorkerTest.WorkerInBackgroundPage (#35095)
This is an upstream Chromium test (chrome/browser/extensions/worker_apitest.cc)
that intermittently times out when the last crossOriginRedirectTest
(SharedWorker with module type) fails to fire its onerror handler.

Chromium upstream flake rate: 2.4% over 30 days (LUCI Analysis).
Already disabled on Windows ASAN (crbug.com/431290255).

Brave has chromium_src overrides for worker content settings and fetch
context, but they don't touch the worker script redirect/loading path
that's failing. The root cause is upstream timing sensitivity in
SharedWorker module cross-origin redirect error propagation.

Resolves https://github.com/brave/brave-browser/issues/54061
2026-03-31 09:14:25 -04:00
brave-builds bec76f9847 1.90.87 2026-03-31 12:33:00 +00:00
brave-builds a97a1a9106 1.90.86 2026-03-31 12:03:17 +00:00
Aleksei Khoroshilov 7371c54760 Add used containers tracking. (#34705)
Add used containers tracking and make them available via `GetRuntimeContainerById`.

The PR does not include storage cleanup and pref cleanup. This is intentional - the cleanup logic will be landed separately.
2026-03-31 17:31:01 +07:00