Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cosmetic bucket performance improvements + stabilizations #163

Merged
merged 1 commit into from
May 29, 2019

Conversation

remusao
Copy link
Collaborator

@remusao remusao commented May 29, 2019

  • [BREAKING] getCosmeticsFilter API changed to allow finer-grain subsetting
    of cosmetic filters returned: hostname-specific, DOM-specific, generic, etc.
  • [BREAKING] cosmetic unhide filters without hostname constraints are allowed.
  • [BREAKING] NetworkFilter.isCptAllowed now accept request type as a string.
  • [BREAKING] drop support for legacy Firefox Bootstrap request types.
  • Fix matching of hostnames anchors with wildcard.
  • Add support for $frame option in network filters.
  • Add support for $document and $doc options in network filters.
  • Add soft dependency to tldts to simplify API
    • left as require/import in normal bundles
    • bundled in minified bundles
  • Add tests for Request abstraction
  • Add static method helpers to create Request instances
    • Request.fromRawDetails(...)
    • Request.fromWebRequestDetails(...)
    • Request.fromPuppeteerDetails(...)
    • Request.fromElectronDetails(...)
  • Add tests for injection using jsdom
  • Cosmetic filtering performance improvements
    • Make use of DOM information to return subset of filters: ids, classes, hrefs
    • Make use of MutationObserver from content-script to return new DOM info
  • Create integration benchmark to measure full extension
  • Add Request parsing micro-benchmark
  • Update bench/comparison to use adblock-rs instead of ad-block

@remusao remusao force-pushed the cosmetic-injection-performance branch 4 times, most recently from 6c1b6b3 to ca5407e Compare May 29, 2019 14:14
  * [BREAKING] `getCosmeticsFilter` API changed to allow finer-grain subsetting
    of cosmetic filters returned: hostname-specific, DOM-specific, generic, etc.
  * [BREAKING] cosmetic unhide filters without hostname constraints are allowed.
  * [BREAKING] `NetworkFilter.isCptAllowed` now accept request type as a string.
  * [BREAKING] drop support for legacy Firefox Bootstrap request types.
  * Fix matching of hostnames anchors with wildcard.
  * Add support for `$frame` option in network filters.
  * Add support for `$document` and `$doc` options in network filters.
  * Add soft dependency to tldts to simplify API
    - left as require/import in normal bundles
    - bundled in minified bundles
  * Add tests for Request abstraction
  * Add static method helpers to create Request instances
    - `Request.fromRawDetails(...)`
    - `Request.fromWebRequestDetails(...)`
    - `Request.fromPuppeteerDetails(...)`
    - `Request.fromElectronDetails(...)`
  * Add tests for injection using `jsdom`
  * Cosmetic filtering performance improvements
    - Make use of DOM information to return subset of filters: ids, classes, hrefs
    - Make use of MutationObserver from content-script to return new DOM info
  * Create integration benchmark to measure full extension
  * Add Request parsing micro-benchmark
  * Update bench/comparison to use adblock-rs instead of ad-block
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant