Services and Classes

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 AdblockChromeContentBrowserClient to 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