Services and classes
Last updated
Was this helpful?
Last updated
Was this helpful?
This page lists the services and classes important to the eyeo Browser Ad-Filtering Solution, as well as the role each plays in the Solution's implementation.
The Solution consists of the following main KeyedService
services:
FilteringConfiguration
; allows the
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.
SitekeyStorage
; extracts, validates, and stores from response headers.
The following Chromium classes play an important role in the Solution's implementation:
RenderFrameHost
; allows finding the and executes element hiding CSS and JavaScript.
WebContentsObserver
; receives page load events and injects element hiding; extended by AdblockWebContentsObserver
.
ChromeContentBrowserClient
; extended by AdblockChromeContentBrowserClient
in order to set up an internal proxy for inspecting network requests.
Classification of network requests
Preparing element hiding selectors
Conversion/serialization of filter lists
Loading installed filter lists from disk
The Solution's logic executes primarily in the . 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 . Examples of such code: