Commit Graph
77424 Commits
Author SHA1 Message Date
Kyle Hickinson 8e463b3d5e [iOS] Add Youtube video quality JavaScriptFeature (#35738)
This adds a JavaScriptFeature that enables the auto highest quality video feature on YouTube videos when using the `UseProfileWebViewConfiguration` feature flag
2026-04-23 15:24:40 +00:00
Kyle Den Hartog 1a0a912d22 bump security alerts (#35822)
address security alerts

https://github.com/advisories/GHSA-w5hq-g745-h8pq
https://github.com/advisories/GHSA-2v35-w6hq-6mfw
https://github.com/advisories/GHSA-f6ww-3ggp-fr8h
https://github.com/advisories/GHSA-x6wf-f3px-wcqx
https://github.com/advisories/GHSA-j759-j44w-7fr8
2026-04-23 07:59:06 -07:00
Terry Mancey f91e288563 [ads][CodeHealth] Use absl::Cleanup to reset deferred ad viewed event handler (#35812)
After the deferred ad viewed event is triggered, the handler pointer must
always be reset to signal the deferred state is fully resolved. absl::Cleanup
guarantees the reset on all scope exit paths.
2026-04-23 14:12:32 +01:00
brave-builds f11dc341cd 1.91.103 2026-04-23 12:33:34 +00:00
Brian R. Bondy fe1a9add88 Add enable_playlist buildflag gated on is_brave_origin_branded (#35732)
Introduces enable_playlist (defaults to !is_brave_origin_branded),
following the same pattern as enable_brave_wallet and enable_ai_chat,
to gate all Playlist code from compilation on origin-branded desktop
builds. enable_playlist_webui now chains through enable_playlist.

Changes are scoped to desktop: iOS and Android don't support
is_brave_origin_branded=true (enforced by asserts in
//brave/components/brave_origin/buildflags/buildflags.gni), so they
have no guards.
2026-04-23 08:23:26 -04:00
brave-builds 76f9f3045d 1.91.102 2026-04-23 12:03:23 +00:00
Sangwoo Ko 915d58e268 [Containers] Show menu on partitioned storage page action view (#35450)
* Show menu on partitioned storage page action view when its right clicked

* Inject anchor view
2026-04-23 18:45:17 +09:00
cypt4 4f8a60567d [Polkadot] Add version field to polkadot_metadata_prefs (#35679)
* [Polkadot] Add version field to polkadot_metadata_prefs
New data format version should clear old metadata.
Resolves https://github.com/brave/brave-browser/issues/54750
2026-04-23 12:09:10 +04:00
Brian Johnson 75ddc80404 Cache most recently created filter list DAT file to load on startup (#35069) 2026-04-23 06:59:06 +01:00
brave-builds 4ac09a71f7 1.91.101 2026-04-23 04:32:58 +00:00
Terry Mancey 9087f9c7a9 [ads] Fix SortTriggers comparator in user_activity_scoring (#35803)
The comparator combined two conditions with `&&`, which could leave a
shorter trigger before a longer one when the longer trigger had a lower
score. Because matching consumes the activity log from left to right, a
shorter trigger placed ahead of a longer one could absorb part of the
longer pattern before it had a chance to match, producing an incorrect
score. The fix sorts by sequence length first and uses score as a
tiebreaker, so longer triggers always take priority. A regression test
covers the case where a longer trigger has a lower score than a shorter
suffix trigger.
2026-04-23 02:04:16 +01:00
Terry Mancey 347ea95fa1 [ads] Fix active creative set conversions returning duplicate results (#35808)
The GetActive query joined creative_set_conversions with ad_events on
creative_set_id. Because ad_events can have multiple rows per
creative_set_id, the join produced one row per matching ad event. Added
SELECT DISTINCT so the result contains one row per conversion regardless
of how many ad events match.
2026-04-23 01:56:12 +01:00
Terry Mancey c56e43b2e5 [ads][CodeHealth] Explicitly delete copy constructor and assignment operator (#35811)
Add deleted copy constructor and copy assignment operator to classes that
own resources or are not meant to be copied: HashedNGramsTransformation,
ObliviousHttpKeyConfig, and the three scoped test setters for pacing,
timer jitter, and confirmation queue delay.

No behavioral changes.
2026-04-23 00:53:09 +00:00
Terry Mancey 71dbdc3ace [ads][CodeHealth] Use get() instead of &* to extract raw pointers (#35805)
Use the idiomatic Chromium form `.get()` to extract a raw pointer from
smart pointers (mojo::StructPtr, std::unique_ptr, base::ScopedFILE)
rather than the non-idiomatic `&*` dereference-and-address pattern. The
three `raw_ref` sites are left unchanged because `raw_ref::get()` returns
a reference, not a pointer, so `&*` is the correct form there.

No behavioral changes.
2026-04-23 00:50:10 +00:00
Kevin Smith 14d076b97f [Rewards] Fix "flash of previous creator" when opening panel (#35785) 2026-04-22 20:39:59 -04:00
Terry Mancey 84a632f909 [ads][CodeHealth] Harden database error callback against transient SQLite errors (#35807)
Adds explanatory comments to DUMP_WILL_BE_NOTREACHED calls in the database
layer to make clear they upload non-fatal Backtrace reports without crashing.
Expands the transient error exclusion list from 10 to all 46 extended result
codes across the busy, locked, read-only, I/O, full-disk, and cant-open
families so that environmental OS errors do not generate noise in Backtrace.
Extracts the exclusion logic into IsTransientSqliteError, which masks to the
primary result code using the same bitwise approach as Chromium's
sql::IsErrorCatastrophic.

No behavioral changes.
2026-04-23 01:37:33 +01:00
brave-builds 7dad4225d7 1.91.100 2026-04-23 00:02:59 +00:00
Terry Mancey dc28810e62 [ads][CodeHealth] Mark classes with no subclasses as final (#35806)
Mark concrete classes that have no subclasses as final. Covers the ten
challenge_bypass_ristretto value wrappers, the network layer
(HttpClient, ObliviousHttpClientImpl, ObliviousHttpKeyConfig), the ad
serving round-robin, the scoped test timezone helper, and three
browser-layer delegate implementations.

No behavioral changes.
2026-04-22 18:56:08 -05:00
Emerick Rogul ace3cd7463 Upgrade from Chromium 147.0.7727.102 to Chromium 147.0.7727.117 (#35799)
* Update from Chromium 147.0.7727.102 to Chromium 147.0.7727.117.

* Update patches from Chromium 147.0.7727.102 to Chromium 147.0.7727.117.

* Updated strings for Chromium 147.0.7727.117.

* Disable failing upstream tests
2026-04-22 16:41:36 -07:00
Szilard Szaloki 87659c5394 Account: migrate BraveAccountService to async OSCrypt (#35795) 2026-04-22 17:05:32 -06:00
Kevin Smith 17d7b2aa68 [Shields UI] Fix blocked scripts details button not visible (#35798) 2026-04-22 17:21:33 -04:00
Serg bd61cf9c46 [Android] Hide Survey Panelist setting for Brave Origin users (#35800)
The Survey Panelist toggle and its "Learn more" row remained visible
under Settings -> Brave Shields & privacy for users with an active
Brave Origin subscription.

Extend the existing BRAVE_NTP_BRANDED_WALLPAPER_SURVEY_PANELIST
feature-flag gate in BravePrivacySettings to also require
!BraveOriginSubscriptionPrefs.getIsCredentialSummaryActiveCached() for
both the preference visibility and the settings-search index entry.

Resolves: https://github.com/brave/brave-browser/issues/54853
2026-04-22 22:12:47 +01:00
Kyle Hickinson b63114511d [iOS] Migrate youtube quality preference to Chromium (#35736)
This migrates the media preference that controls whether or not we automatically set youtube videos to the highest quality to Chromium's preferences. This is required to implement the same JavaScript feature when using profile web view configurations.
2026-04-22 16:52:36 -04:00
Darnell Andries d920808543 Update MediaSessionUsage metric with 96-100% bucket (#35729) 2026-04-22 13:46:01 -07:00
Darnell Andries 6beeaff43f Change Brave.Shields.UpgradeHTTPSPerSite to report any non-default per-site setting (#35708)
Resolves https://github.com/brave/brave-browser/issues/54764
2026-04-22 13:37:38 -07:00
Aleksei Seren 826ec7684b [CodeHealth] Clean up SerpMetrics time period storage API (#35755)
Applies a set of code health fixes to the serp metrics time period
storage layer: normalises the pref store constructor interface,
uses C++ references for non-nullable service dependencies, adds
final to concrete classes, relocates test-only headers to test/
subdirectories, and gives test helpers fully qualified names.
2026-04-22 21:34:30 +01:00
Christian Mazakas 842577016b [Wallet] restrict transactions based on sender address (#35745)
Resolves brave/brave-browser#52042

Restrict transactions for account-based coins (DOT, FIL, ETH, SOL). Return a
generic error message as is best practice.

The tests directly invoke tx_service methods to avoid child TxManagers from
relying on the account resolver delegate
2026-04-22 13:06:09 -07:00
Serg 2b635d9adb [Android] Fix BraveAdsAdsServiceImplTest on is_official_build x86 (#35792)
brave_rewards::features::kBraveRewards is DISABLED_BY_DEFAULT on x86/x86_64
Android official builds, so brave_rewards::IsSupported returned false via
IsDisabledByFeature. After https://github.com/brave/brave-core/pull/35698
moved the IsSupported gate into AdsServiceImpl::CanStartBatAdsService, that
path now suppresses the service in unit tests too and launch_count stays 0.
Force-enable the feature in the fixture so Android tests match the
non-Android path they were written against.

Resolves: https://github.com/brave/brave-browser/issues/54831
2026-04-22 20:52:23 +01:00
Darnell Andries b9a9ec6a73 Remove sensitive flag on MetricsReportingEnabled policy (#35742) 2026-04-22 11:57:31 -07:00
brave-builds a99947c822 1.91.99 2026-04-22 18:48:56 +00:00
samartnik 380731a553 [Android] Fix Clear data on exit not clearing omnibox suggestions (#35790)
ShortcutsBackend initializes asynchronously. When clearBrowsingData() was
called during startup, the backend was still in the INITIALIZING state and
its OnHistoryDeletions handler silently returned early, leaving shortcut
suggestions (clock-icon entries) intact after exit.

Fix by adding a JNI bridge (BraveShortcutsUtils.initThenRun) that waits for
ShortcutsBackend to finish its async DB init via OnShortcutsLoaded() before
invoking clearBrowsingData(). Also move the clear-on-exit call from
initializeState() to finishNativeInitialization() where the profile is
available, and add FORM_DATA (autofill) to the cleared data types.
2026-04-22 14:36:13 -04:00
Christian Mazakas dc86e97042 [Polkadot] [Wallet] add transaction status tracking task (#35541)
Resolves brave/brave-browser#54523

Add a PolkadotTransactionStatusTask that can be used to crawl the block chain,
probing each block for the provided extrinsic. Assuming the extrinsic is found,
we then parse the events of the block to determine the final status of the
extrinsic along with the true fee withdrawn from the sender's account.

Status tracking can yield 4 different states. If we start crawling too quickly
and outpace the finalized head, we return early. If we probe the entire
mortality window of the extrinsic, we inform the caller that the extrinsic was
not found and should be considered dropped. Otherwise, if we find the extrinsic
within the mortality window, we can accurately determine if it was successful or
failed.
2026-04-22 11:22:15 -07:00
Douglas Daniel a51d754c52 [Wallet]: Adjust Key Export Modal Padding (#35783)
Adjusts the padding in the Export Private Key modal
2026-04-22 12:02:13 -05:00
Christian Mazakas ec984aef4c [Wallet] remove restricted address error messaging (#35723)
Because we're interested in not leaking information about an address being
restricted, we remove the helper function WalletRestrictedAddressErrorMessage
and in its stead we just use WalletInternalErrorMessage.
2026-04-22 09:20:18 -07:00
brave-builds a185ff0797 1.91.98 2026-04-22 16:03:24 +00:00
Anirudha Bose 88c697da12 [Wallet] Fix reloading an account tab redirecting to Accounts (#35774) 2026-04-22 16:39:49 +01:00
vadims c2664c31e8 Add missing resources:strings dependency to fix build (#35775)
Added missing //brave/components/resources:strings dependency to //brave/components/psst/resources:dialog to resolve a build failure.

Signed-off-by: Vadym Struts <vstruts@brave.com>
2026-04-22 17:32:47 +02:00
Kevin Smith 0532f8c3eb [NTP] Hide search results when focus leaves search input (#35771) 2026-04-22 11:25:22 -04:00
Kyle Hickinson 779110a2b6 [iOS] Add safe builtins JavaScript feature (#35629)
This adds a base JavaScriptFeature for accessing safe builtins in Brave JS features that require it based on the code in `__firefox__.js`. The main difference here is that this PR only focuses on the builtins (Object, Function, Array) needed for Web3 scripts and does not handle any `toString` overrides (which were only needed for tokenized communication)
2026-04-22 10:41:47 -04:00
brave-builds 78587b33ab 1.91.97 2026-04-22 14:07:33 +00:00
Kyle Den Hartog bf96c459c6 address RUSTSEC-2026-0104 (#35767) 2026-04-22 06:50:20 -07:00
cdesouza-chromium 6a3e634a7d [brockit] Detection for meaningful changes after apply_patches (#35598)
This PR introduces a check in brockit, to go over all modified patch
files that are about to be committed, be it as updated patches, or
conflict-resolved, and checks if any of them have a different number of
hunks, and if so, stops the process for intervention, the same way it is
done when deleted patches are detected.

This check will prevent cases where hunks of a patch file are being
dropped, either through `apply_patches`, or through 3way resolution,
which should be of interest, and definitely should be submitted
separately as an individual fix.

Resolves https://github.com/brave/brave-browser/issues/47717
2026-04-22 13:52:13 +01:00
Douglas Daniel 9fe34d7df5 [Wallet]: Display Origin in Permission Panel (#35493)
Will now display the Site Origin in the Permission Duration step of the Connect With Site panel
2026-04-22 07:45:34 -05:00
Douglas Daniel d8d3c9f09e [Wallet]: AutoFocus Search in Select Token Modal (#35735)
Will now AutoFocus the search input when opening the Select Token Modal
2026-04-22 07:44:53 -05:00
brave-builds ea5f0656cf 1.91.96 2026-04-22 12:33:24 +00:00
brave-builds 91e2af4a9f 1.91.95 2026-04-22 12:03:48 +00:00
r0hit0303 0f60386ad7 Refactor brave user agent component installer (#35504)
Minor refactor to improve code health.
2026-04-22 12:16:12 +02:00
vadims a334a1f3f9 [PSST] Add consent dialog UI front-end part (#35441)
Implemented the front-end for the PSST consent dialog, which displays
a list of current operations with the ability to select an operation
and view both individual and global statuses.

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

---------

Signed-off-by: Vadym Struts <vstruts@brave.com>
2026-04-22 11:01:21 +02:00
brave-builds 7614e9ecb7 1.91.94 2026-04-22 07:21:09 +00:00
r0hit0303 5547ce3413 Add logic to load and parse query filter rule file (#35586)
Adds a singleton QueryFilterData class to load, and then parse the downloaded rules of [query-filter component](https://github.com/brave/brave-browser/issues/54393). The `QueryFilterData` class then store these rules in memory via a `vector` of new data structure `QueryFilterRule` which is exposed to public via the member `rules()` method. 

Client integration to consume the query-filter would be followed-up in the next change. This change also includes unit tests, and was also tested manually to ensure the component was downloaded from server and was parsed correctly. The change is behind the feature flag [kQueryFilterComponent](https://sourcegraph.com/r/github.com/brave/brave-core/-/blob/components/query_filter/common/features.cc?L13) which is disabled by default.
2026-04-22 09:04:47 +02:00