cc Transform and Scroll Trees
Blink28628 Syys 2025

cc Transform and Scroll Trees

The source text details the architecture of Chromium's compositor, focusing on the tandem operation of two critical data structures: the Transform Tree and the Scroll Tree. The Transform Tree manages visual coordinate space transformations, including CSS transforms and scroll offsets, with each TransformNode calculating its final position relative to its parent using local matrices and the scroll translation. In parallel, the Scroll Tree, composed of ScrollNodes, handles the logical state of scrollable elements, defining constraints like scrollable bounds, allowed directions, and scroll chaining behavior. Crucially, the sources explain that the two trees are linked via a shared ElementId and that while the Scroll Tree determines how a scroll should happen (bounds and policy), the Transform Tree executes the change by holding and applying the live scroll_offset to visually move the layer content, enabling smooth, composite-threaded scrolling.

Jaksot(431)

Blink to CC Property Tree Conversion and Commit Pipeline

Blink to CC Property Tree Conversion and Commit Pipeline

This technical deep dive clarifies the separation of duties between Blink and the Chrome compositor (cc) regarding property tree construction. The text explains that Blink converts its own paint prope...

5 Maalis 33min

Navigating Chromium Feature Launches and W3C TAG Reviews

Navigating Chromium Feature Launches and W3C TAG Reviews

The provided text details the W3C Technical Architecture Group (TAG) review and its essential role within the Chromium feature launch process. Rather than a mere formality, this review serves as archi...

5 Maalis 46min

[ADV] Chromium InputRouterImpl Deep Dive and Architecture Analysis

[ADV] Chromium InputRouterImpl Deep Dive and Architecture Analysis

The provided text explains the InputRouterImpl, a critical browser-side component in Chromium that manages the routing of input events like mouse clicks, touch, and gestures to the renderer. This syst...

3 Maalis 32min

Chromium InputRouterImpl Deep Dive and Architecture Analysis

Chromium InputRouterImpl Deep Dive and Architecture Analysis

The provided text explains the InputRouterImpl, a critical browser-side component in Chromium that manages the routing of input events like mouse clicks, touch, and gestures to the renderer. This syst...

3 Maalis 39min

Chromium WebContents: Architecture and Navigation Orchestration

Chromium WebContents: Architecture and Navigation Orchestration

In the Chromium architecture, WebContents serves as the primary engine for rendering and navigating web pages, acting as a central hub that orchestrates multi-process operations. It manages complex re...

1 Maalis 54min

Chromium Compositor Hit Testing: Architecture and Mechanics

Chromium Compositor Hit Testing: Architecture and Mechanics

Chromium utilizes a layered hit testing system designed to rapidly route input events across different processes without stalling the main thread. The fast path employs a flattened metadata tree aggre...

1 Maalis 45min

Chromium Performance Manager and Input Routing Architecture Guide

Chromium Performance Manager and Input Routing Architecture Guide

The provided text explains the Chromium Performance Manager (PM), a centralized system that builds a graphical model of browser entities like pages, frames, and processes to make resource management d...

1 Maalis 36min

Dual Architecture of Blink Smooth Scroll Animators

Dual Architecture of Blink Smooth Scroll Animators

The provided text explains how the Blink rendering engine manages scrolling by utilizing two distinct animation controllers within the ScrollableArea class. One controller, the ScrollAnimatorBase, is ...

1 Maalis 27min