Services and classes
This page lists the services and classes important to the eyeo Chromium SDK, as well as the role each plays in the SDK's implementation.
The SDK consists of the following main
KeyedService
services:SubscriptionService
; maintains a state of available subscriptions and synchronizes it with persistent storage.ResourceClassificationRunner
; decides whether to block or allow network requests.ElementHider
; applies element hiding scripts and stylesheets on web pages.AdblockTelemetryService
; reports anonymous usage statistics to eyeo.
The following Chromium classes play an important role in the SDK's implementation:
WebContentsObserver
; receives page load events and injects element hiding; extended byAdblockWebContentsObserver
.ChromeContentBrowserClient
; extended byAdblockChromeContentBrowserClient
in order to set up an internal proxy for inspecting network requests.
eyeo Chromium SDK logic executes primarily in the Browser process. The only exception is code under
third_party/blink/renderer/core/exported/web_document.cc
that injects element hiding stylesheets into the website - this runs in a Renderer process.In the Browser process, code that might take a long time to execute runs asynchronously in the ThreadPool. Examples of such code:
- Classification of network requests
- Preparing element hiding selectors
- Conversion/serialization of filter lists
- Loading installed filter lists from disk
Last modified 18d ago