The PR:
* uses base::SequenceBound in AdBlockService instead of manual posting;
* rewrites test EngineTestObserver to avoid direct UI => task_runner access;
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.
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".
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
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.
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)
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.
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.
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.
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
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.
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.
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.
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>
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>
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.
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.
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.
* 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>