Commit Graph
100 Commits
Author SHA1 Message Date
Mikhail 65d8d894df Disable LaunchShellExecuteViaExplorer feature (#36990) 2026-06-04 15:11:25 -07:00
Mikhail 7994b388ea [perf] Update example.com and youtube.com WPRs (#36754)
The PR updates some WPR files (contain pre-recorded versions of sites) used in perf tests.
2026-06-03 06:49:59 +02:00
Mikhail db7d935b6f [perf] Fix fallback to github.com when fetching a tag (#36571)
The PR fixes falling back to github when fetching tags for perf tests.
2026-05-30 01:01:43 +04:00
Mikhail 1c856429d3 [perf] Fix wpr binary path (#36558)
The PR adjusts wpr binary path used in perf tests.
2026-05-21 01:50:08 +04:00
Mikhail 5973f46a95 Android: Disable the PrerenderHostRegistry memory pressure listener (#36450)
Backports https://crrev.com/c/7806654
The PR disables a problematic upstream's feature to resolve pre-rendering issues.
2026-05-19 23:56:10 +04:00
Mikhail e9dedbd103 [cr148, perf] Fix motionmark regression (#36150)
The PR backports https://crrev.com/c/7806787 to address motionmark regressions in cr148.
2026-05-05 13:11:42 +04:00
Mikhail fc1630aa6e Use base::SequenceBound in AdBlockService (#35148)
The PR:
* uses base::SequenceBound in AdBlockService instead of manual posting;
* rewrites test EngineTestObserver to avoid direct UI => task_runner access;
2026-04-27 14:23:02 +04:00
Mikhail d0913af1aa [perf] locate pnpm binary for brave-variations (#35603)
The PR updates the code to use shutil.which to locate the proper pnpm binary.
2026-04-17 13:40:35 +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
Mikhail 33b31a20d0 Disable kPasswordDateLastFilled (#35116)
Backports https://crrev.com/c/7674577
2026-04-01 01:26:45 +07:00
Mikhail 5fa4ef8b78 Convert format to TS (#34780)
The PR converts format.js (build/commands/) to TypeScript
2026-03-27 18:39:39 +07:00
Mikhail c48af23fd8 Disable FixMarkerSuppressionForAppearanceAuto (#34830)
The PR backports https://crrev.com/c/7674417 to resolve layout issues
2026-03-19 23:33:03 +07:00
Mikhail d901f370ed Disable proto/protoc_wrapper and selected V8 rules for MSAN (#34682)
This PR disables several RBE rules that are incompatible with MSan.
An MSan-enabled binary attempts to disable ASLR on launch, which is not always permitted within RBE Docker containers. This PR blocklists these rules, forcing the affected targets to build on the host system rather than on RBE.
2026-03-13 19:48:36 +07:00
Mikhail 7034a84282 Fix eslint conflicts (#34473) 2026-03-05 12:05:20 +00:00
Mikhail cdd75b9808 Fix eslint import issues (#34211)
The PR fixes some eslint import/* issues
2026-03-05 14:42:29 +07:00
Mikhail 6033b49713 [perf] Use pnpm in perf_tests for brave-variations (#34057)
The PR switches for npm to pnpm for brave-variations in perf tests
2026-02-24 12:01:40 +00:00
Mikhail 244dbeceb4 [perf] Fix brave_news containers (#33992)
Reland of https://github.com/brave/brave-core/pull/32428
The PR replaces base::flat_{set,map} containers in components/brave_news to
address the known perf issues.
2026-02-19 10:23:20 +00:00
Mikhail f7749f3c11 Simplify brave SafeBuiltins (#33972)
The PR replaces v8::Global to v8::Local to store v8::Context for SafeBuiltins.
2026-02-18 00:30:05 +04:00
Mikhail 726a192a51 Fix eslint plugin jest issues (#33960)
The PR updates the frontend code to fix some jest eslint issues.
2026-02-17 13:48:34 +04:00
Mikhail 6176482289 Remove cppgc persistent to fix memory leak (#33933)
The PR fixes a memory leak for every reload (and for same-origin navigations) by removing unnecessary `cppgc::Persistent`.
2026-02-15 17:28:02 +04:00
Mikhail 367be052ab Fix some eslint js issues (#33856)
The PR fixes eslint issues in *.js files and removes the related rules from the backlist.
2026-02-14 22:10:28 +04:00
Mikhail 69ff75ddfa Check formatting of all files in presubmit --all (#33854)
The PR adds formatting check for all files in no-platform builds.
This help to prevernt the situations "formatting rules are changed, but the current files don't fit".
2026-02-11 18:27:45 +04:00
Mikhail 3a8b0e3288 Fix eslint config (#33746)
The PR:
* Reengineering eslint.config.js to properly extending the existing plugins and configs.
   It also implies disabling a bunch of broken rules.
* Adds running eslint for all brave files in `npm run presubmit -- --all`.
* Also enables eslint check for all *.js files
2026-02-11 13:37:02 +04:00
Mikhail b342654850 Annotate ui::X11ClipboardOzone::RequestClipboardData leaks (#33840)
The PR annotates ui::X11ClipboardOzone::RequestClipboardData as a legal leak.
In fact the pointer is retained inside x11/ozon.
2026-02-11 09:04:33 +04:00
Mikhail 6dad9e8886 Fix BraveHistoryURLProviderTest leaks (#33739) 2026-02-10 10:22:59 -03:00
Mikhail c8ebf643b1 [brave_news] Fix iterator issues with ApplySubscriptions (#33695)
The PR:
* fixes incorrect usage of .erase().
* adds a unit test to cover the problematic case.
2026-02-09 00:00:47 +04:00
Mikhail af9d6d7ac6 Backport https://crrev.com/c/7256610 to fix crash (#33741) 2026-02-06 19:21:33 +00:00
Mikhail 68a924f14f Fix memory leaks in BraveTabTest (#33670) 2026-02-05 09:29:51 +00:00
Mikhail 33196a77f7 Fix leak in BraveReferralsServiceTest (#33675) 2026-02-05 12:53:22 +04:00
Mikhail d87cc9d83b Fix memory leaks in NamedThirdPartyRegistryTest (#33671)
Fix leaks in NamedThirdPartyRegistryTest
2026-02-05 11:01:24 +07:00
Mikhail c8b03fe420 Add LSAN supressions (#33642)
The PR adds brave-specific LSAN suppression file.
It also suppresses some of the massive leaks.
2026-02-04 16:49:17 +04:00
Mikhail 2e55d71b2a Fix ASAN & LSAN after cr145 (#33571)
The PRs fixes compilation and leak issues for ASAN builds:
* Includes added to fix issue with WrapUnique redefinition.
* an unused var warning is fixed.
* (LSAN) a false-positive shutdown memory leak in adblock is annotated.
2026-02-03 23:26:42 +04:00
Mikhail 3ac09b1188 Don't set ASAN_OPTIONS for !isAsan() (#33559)
The PR fixes the condition to avoid setting ASAN_OPTIONS when it's not necessary.
2026-02-02 18:03:26 +04:00
Mikhail 909f283cee [perf] Fix brave_news containers (#32428)
The PR replaces base::flat_{set,map} containers in most components/brave_news to partially address the known perf issues.
2026-01-31 04:31:18 +04:00
Mikhail ad050688fc Enable LSAN (detect_leaks=1), rework enabling ASAN
The PR:
* adds `is_asan` param in .env to support on devops side;
* sets cwd = outputDir to fix macOS ASAN builds;
* enables LSAN (leak detection) by default for ASAN Linux builds;
* disables `is_lsan` for macOS & Android (not supported by the upstream)
2026-01-31 03:03:51 +04:00
Mikhail a55108eb30 Revert "update eslint to latest" (#33520)
Revert "update eslint to latest (#33502)"

This reverts commit e95a3c900f.
2026-01-30 10:08:19 +00:00
Mikhail 7a874ece5a Backport crrev.com/c/7462985 (#33268) 2026-01-19 16:24:55 +00:00
Mikhail 7acea3ddb4 [perf] Force update components for perf profile (#33273) 2026-01-19 15:24:23 +00:00
Mikhail 35dd381722 Disable UserMediaElement & PermissionElement trials (#33176)
The PR fixes the crash on zoom.us.
It fixes unsynchronized state of some browser features vs blink runtime feature.
Despite we disabled permission-element features by disabling the associated base features, it still possible to enable it via Origin Trials The matching blink features are experimental (=disabled by default).
The PR fixes the crash by explicitly disabling associated Origin Trials.
2026-01-14 02:22:29 +04:00
Mikhail e84619e3d8 Format components/brave_adblock_ui/ (#32832) 2026-01-12 20:38:42 +04:00
Mikhail f9c8a734ce Format components/translate/ (#32833)
* Format components/translate/

* Fix presubmit
2025-12-31 15:21:20 +04:00
Mikhail 6291d12fe8 Disable AAudioInputLowLatencyModeByDefault (#32705)
The PR disables the broken feature in cr143.
Partially backports https://crrev.com/c/6917781
2025-12-08 22:56:37 +04:00
Mikhail b128593b51 [perf] Cache parsed adblock resources (#32666)
The PR adds a cache for parsed adblock resources to save some CPU and disk usage. 
Also, it unblocks using #32562 to save memory.
2025-12-05 11:40:11 +04:00
Mikhail 1f7f39158a [perf infra] Remove unused WPR files (#32584) 2025-12-04 18:04:22 +04:00
Mikhail aa8d7fab8c [perf] Share adblock resource storage to save memory (Desktop & Android) (#32562)
The PR enables adblock resource sharing between the default and the additional engine to save memory.
It also replaces text based resource merging AdBlockCustomResourceProvider to .add_resource(..) calls.
2025-12-03 00:44:38 +01:00
Mikhail 596d26319f [Code Health] Format components/cosmetic_filters/**/*.{ts,js} (#32555)
Format components/cosmetic_filters/**/*.{ts,js}
2025-12-03 01:04:25 +04:00
Mikhail 7243474e00 [perf] update adblock to 0.12.0 to improve performance
the PR updates adblock crate from 0.11.2 to 0.12.0
2025-11-26 10:24:30 +04:00
Mikhail af253501e7 [perf] update adblock-rust to 0.11.1 (#32185)
The PR updates adblock-rust from 0.11.0 to 0.11.1 to improve performance
2025-11-04 19:19:29 +09:00
Mikhail b9ade7eac0 disable rustfmt to fix ignoring third_party/* (#32186) 2025-11-04 00:20:27 +00:00
Mikhail dde5eff42a [perf, brave_news] Improve GenerateAllFeed perf (#32094)
The PR optimizes copying a large structure on a critical path in brave_news feed building.
2025-10-30 18:08:11 +04:00
Mikhail f13f385aa8 Disable WebAudioDeferPullStatusUpdate (upstream issues) (#32062)
A backports of http://crrev.com/c/7063209
The PR disables a problematic upstream feature WebAudioDeferPullStatusUpdate.
2025-10-28 18:57:20 +00:00
Mikhail 5cacae1cbe Update brave://adblock-internals after adblock-rust 0.11.0 merge (#31992)
The PR updates brave://adblock-internals to support showing new perf counters.
2025-10-28 09:59:41 +00:00
Mikhail 405cd7bd90 Update adblock-rust to 0.11.0 (#31948)
The PR:
* bumps adblock-rust from 0.10.3 to 0.11.0 with major perf improvements;
* bundles rustc_hash@1.1.0 crate used by adblock-rust;
* adopts b-c wrappers to new API;
* removes unused ios adblock method addResourceWithKey.
2025-10-22 23:01:45 +04:00
Mikhail bcbd649395 [Code Health] Enable prettier for more folders (#31614) 2025-10-06 03:56:36 +04:00
Mikhail 15be29174d [Code Healths] Format /tools (#31549)
The PR:
* formats tools/ dir and remote it from exclusions;
* adds `npm run format -- --all-files --only-prettier` cmd to apply prettier rules to the all non-ignored files;
* fixes a bug that npm run format args are ignored;
* adjust exclusions for *.md files
2025-10-03 00:06:37 +01:00
Mikhail 5cb46b4b71 [perf] Load brave news images on demand (#31516)
The PR:
* tracks the scroll event and postpone loading the most news-related images (marked as loading=lazy) until the scroll is started.
* adds 400ms fade effect when a loaded image appears to add smoothness.
2025-10-01 14:46:38 +04:00
Mikhail 43b2147eca [CodeHealth] Format browser/resources/brave_education (#31529)
The PR formats `browser/resources/brave_education` and enforces prettier formatting for b-c/browser/ with a few exclusions.
2025-10-01 03:33:27 -07:00
Mikhail 27ce089693 Add Accept header to chrome://brave-image loader (#31489)
The PR adds `Accept: <image formats>` to chrome://brave-image requests.
This will allow to use more optimized formats (i.e. WebP) when the backend supports it.
2025-09-30 06:36:52 +09:00
Mikhail aaa04bd0df Introduce chrome://brave-image WebUI handler (#31394)
The PR resolves the most critical Brave News issue with CPU/memory by resizing the images before encoding them and sending to the renderer. As the result we use only 1/5 of original memory and are more than 20x faster in the CPU usage.

The PR:
* adds a new brave_sanitized_image_source.* via chrome://brave-image that supports &target_size=WxH and uses faster FastEncodeBGRASkBitmap impl for encoding.
* adopts Brave News code to use the new handler;
* reverts sanitized_image_source.* to the original state.
2025-09-26 23:54:22 +04:00
Mikhail 9d633192d6 Update adblock crate to 0.10.3 (#31247)
The adblock-rust changes to publish: https://github.com/brave/adblock-rust/pull/517
This should partially address the perf issue related to the resource memory usage.
2025-09-17 22:51:47 +04:00
Mikhailandbrave-builds-ro 6a825c2a51 [Perf] Add load:ntp:brave_news:2024 story to CI runs (#31032)
The PR adds a new perf configuration with adjusted load:ntp:brave_news:2024 story to measure
NTP + Brave News performance metrics.

---------

Co-authored-by: brave-builds-ro <devops+robuilds@brave.com>
2025-09-16 16:55:37 +04:00
Mikhail 94308280f1 [perf] Explicitly set --fake-variations-channel (#31107)
The PR fixes using an incorrect channel in the perf tests by
explicitly pass --fake-variations-channel=<channel> to the browser.
2025-09-09 23:16:10 +04:00
Mikhail f66138b975 Disable OfferPinToTaskbarInFirstRunExperience (#30953)
The PR backports https://crrev.com/c//6890420 to disable a problematic feature.
2025-09-02 15:40:52 +04:00
Mikhail 11a572f537 Enable chromium components in perf tests (#30929)
* [perf] Enable chromium components during perf testing

* Disable BraveCommands feature
2025-09-02 12:30:30 +02:00
5c5bec9d59 [perf] Adjust delay in updating profiles (#30872)
The PRs changes the perf test code:
* adds a new param delay;
* makes 3 browser runs to update profiles with different delays (15min, 30sec, 30sec);
* updates profiles hashes (commits pushed by CI builds);
---------

Co-authored-by: brave-builds-ro <devops+robuilds@brave.com>
Co-authored-by: brave-builds <brave-builds+devops@brave.com>
2025-08-28 12:55:40 +04:00
Mikhail a1d28f2ee8 [perf] Adjust updating profile, add unit tests (#30775)
The PR:
* fixes updating profile for chromium;
* enables loading chromium components during profile update by removing --disable-component-update switch;
* removes some unused switches;
* fixes issues with chromium components (empty timestamps) by adding strict_timestamps=False;
* adds unit tests for auto & smoke config selection.
2025-08-26 01:14:50 +09:00
Mikhail 68e6dd90c2 [perf infra] enable apk_size perf test (#30798)
The PR enables apk_size android perf test on CI.
2025-08-25 16:22:44 +04:00
Mikhail c88361d0ec [perf] add --allow-brave-component-update for macOS (#30766) 2025-08-22 18:18:42 +07:00
Mikhail b6202c50ed Backports http://crrev.com/c/6780967 (#30602)
The PR backports an upstream CL to address periodical perf test failures on Windows.
2025-08-13 01:32:10 +09:00
Mikhail 8426d2273e [Perf] add --allow-brave-component-update to CI configs (#30463) 2025-08-05 23:16:33 +04:00
Mikhail 5cb636d5a8 [perf] Fix mode=auto (#30406) 2025-08-01 16:45:20 +07:00
Mikhail e35cbdae11 Smoke perf tests (#30310)
The PR supports command `npm run perf_tests -- smoke Static`
to verify that perf tests code work as expected.
This will be used to verify some metrics in future.
2025-07-31 16:15:53 +04:00
Mikhail a979da57ad Fix mac trace processor shell (#30334)
The PR:
* reverts mac trace_processor_shell to an old good revision
* update the logic to skip re-downloading of trace_processor_shell

The changes binary_deps.json can be dropped in next chromium rebases
if the perf tests are stable with the updated revisions.
2025-07-30 12:53:39 +04:00
Mikhail 5388f10992 Fix perf ci issues after cr139 (#30176)
* Remove empty directories recursively from profiles
* Disable load:site:brave_search:2023
* Set CHROME_SHUTDOWN_TIMEOUT to 20
* Fix presubmit
2025-07-23 00:29:16 +04:00
Mikhail 55cc758bf5 Disable PartitionAllocShadowMetadata (#30170) 2025-07-22 03:01:12 +02:00
Mikhail 9585a8fc3c [perf] Remove empty directories from test profiles (#30151)
* Remove empty directories from test profiles
* dir => dir_name
2025-07-21 18:40:32 +04:00
Mikhail 3030a1e700 Update trace_processor_shell (#30124)
update trace_processor_shell
2025-07-21 13:14:29 +01:00
Mikhail bbf4722e0e Disable FileSystemAccessSymbolicLinkCheck for Windows (#29858)
Backport https://crrev.com/c/6687028
2025-07-01 14:47:43 +02:00
Mikhail d1e526ad26 Disable TabCaptureInfobarLinks (backport http://crrev.com/c/6680977) (#29835)
Backport http://crrev.com/c/6680977
2025-06-30 13:44:13 +02:00
Mikhail f293460472 [Perf infra] Fix IGN_warn on MacOS (#29728)
Fix IGN_warn on MacOS
2025-06-24 23:04:56 +04:00
Mikhail 5726c3892c Re-enable IGN_warm story (#29653) 2025-06-23 18:00:01 +07:00
Mikhail 2020adc976 Set use_system_xcode = false for chromium builds (#29556)
set use_system_xcode = false
2025-06-16 12:09:28 +04:00
Mikhail 509d7a1b36 Temporary disable apk_size (#29541) 2025-06-13 15:09:23 +07:00
Mikhail aa6cf65b08 Enable DisplayAudioCaptureKillSwitch (#29491) 2025-06-10 22:37:33 +02:00
Mikhail c949182c3b Fix prettier config path (#29238)
* Pass filepath to prettier
* add try{} for prettier calls
2025-05-27 12:09:08 +04:00
Mikhail 54c6a6a059 Add comments to .git-blame-ignore-revs (#29215) 2025-05-24 11:51:22 +02:00
Mikhail eebc1f17f4 Add formatting /build to .git-blame-ignore-revs (#29176) 2025-05-23 14:05:39 +12:00
Mikhail 57bd457b12 Format build dir (#29114)
* Add {} in /build (eslint-curly)
* Prettify build/
* Remove /build from .prettierignore
2025-05-22 18:30:02 +04:00
Mikhail b2c8483dbd Update prettier configs (#29145)
update prettier configs
2025-05-21 20:47:51 +04:00
MikhailandAleksei Khoroshilov 005903ac06 Support prettier for build/ (#28898)
* add prettier to format, call format from PRESUBMIT
* make format.js
* update prettier
* Add unformatted dirs to .prettierignore
* Fix linter errors
* cleanup .prettierignore
* Convert format.js to a script
* review fixes
* add some prettier-ignore-*
* Address some review issues
* move commander declaration
* Add --presubmit and --dry-run for format
* Revert "add some prettier-ignore-*"
* Fix eslint, add printWidth exclusion
* Remove printWidth override
* Fix eslint and format warn
* use bracketSameLine
* Review fixes
* use a single git cl format call
* Use spawnSync to avoid log flooding
* More review fixes
* More review updates
* Update build/commands/scripts/format.js
Co-authored-by: Aleksei Khoroshilov <5928869+goodov@users.noreply.github.com>

* Renames some vars
* Use absolute path for format.js
---------
Co-authored-by: Aleksei Khoroshilov <5928869+goodov@users.noreply.github.com>
2025-05-19 13:56:11 +04:00
Mikhail 95d774ffdc [Perf] Enable motionmark and jetstream for android (#29042)
enable motionmark and jetstream for android
2025-05-14 19:39:36 +02:00
Mikhail 1418bd987a disable RenderSurfaceFor2DScaleTransform (#29001) 2025-05-09 21:51:04 +04:00
Mikhail f232c17505 Enable eslint for build dir (#28860) 2025-04-30 10:18:21 +04:00
Mikhail 48340e2eb9 Handle invalid .patchinfo (#28755) 2025-04-25 00:43:06 +04:00
Mikhail e343529caa Fix perf issue with regex_automata (#28748) 2025-04-21 23:28:04 +02:00
Mikhail 01bf4ff2d7 Disable loading.desktop.brave/IGN_warm for chromium (#28732)
For https://github.com/brave/brave-browser/issues/45551
2025-04-18 17:15:59 +04:00
Mikhail 7b10c44059 Disable IgnoreInputWhileHidden (#28466) 2025-04-02 22:48:22 +02:00
Mikhail f09322b8f0 Enable motionmark and jetstream (#28210)
* update JetStream to 2.2

* Update MotionMark to 1.3.1

* update record-wpr.json5

* Enable the tests for mac-arm64
2025-03-28 20:10:46 +04:00
Mikhail df42c33aeb Fix uploading s3 perf data (#28288) 2025-03-25 00:39:31 +01:00
Mikhail e632d435f5 disable braveStartupUmaMetric on macOS (#28251) 2025-03-21 23:55:12 +04:00