Services and Classes
This page outlines the key services and classes that comprise the eyeo Browser Ad-Filtering Solution.
Services
The Solution includes these primary KeyedService services:
-
FilteringConfiguration — enables management of resource filtering settings
-
SubscriptionService — tracks available subscriptions and synchronizes state with storage
-
ResourceClassificationRunner — determines whether to block or permit network requests
-
ElementHider — deploys element hiding scripts and stylesheets across web pages
-
AdblockTelemetryService — transmits anonymous usage data to eyeo
-
SitekeyStorage — retrieves, authenticates, and maintains SiteKeys from response headers
Important Chromium classes
These Chromium classes significantly contribute to the Solution's architecture:
-
RenderFrameHost — enables frame hierarchy discovery and executes element hiding CSS and JavaScript
-
WebContentsObserver — handles page load notifications and injects element hiding; extended by
AdblockWebContentsObserver -
ChromeContentBrowserClient — extended by
AdblockChromeContentBrowserClientto configure an internal proxy for network request inspection
Mapping to Chromium processes and threads
The Solution operates primarily within the Browser process. The sole exception involves code in third_party/blink/renderer/core/exported/web_document.cc that injects element hiding stylesheets — this executes in a Renderer process.
Within the Browser process, computationally intensive operations execute asynchronously via the ThreadPool. These include:
-
Network request classification
-
Element hiding selector preparation
-
Filter list conversion and serialization
-
Loading installed filter lists from storage