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(391)

Blink Rendering: Background Paint Location in Overflow Scrolling boxes

Blink Rendering: Background Paint Location in Overflow Scrolling boxes

The provided text explains the technical inner workings of LayoutBox::ComputeBackgroundPaintLocation, a specific C++ function within Google’s Blink rendering engine. This function acts as a decision-m...

21 Tammi 29min

The Popover API and Blink Implementation Deep Dive

The Popover API and Blink Implementation Deep Dive

The provided text explains the Popover API, a standardized web feature that allows developers to create top-layer overlays like menus and tooltips using a global HTML attribute. It details three disti...

21 Tammi 26min

Blink Rendering Engine: ScrollableAxes System Architecture

Blink Rendering Engine: ScrollableAxes System Architecture

Blink’s ScrollableAxes system is the architectural framework within the Chromium rendering engine that manages how web content moves along horizontal and vertical paths. This system coordinates a vari...

21 Tammi 32min

Blink's Unsplittable Scrolling Overflow: A Layout Deep Dive

Blink's Unsplittable Scrolling Overflow: A Layout Deep Dive

The provided text explains Blink’s LayoutBox::HasUnsplittableScrollingOverflow, a specialized method within Google Chrome’s rendering engine that manages how elements are divided across pages or colum...

21 Tammi 25min

Blink DOM Tree Architecture and Implementation Deep Dive

Blink DOM Tree Architecture and Implementation Deep Dive

This technical deep dive explores the C++ architecture and implementation of the Document Object Model (DOM) within Blink, Chromium’s rendering engine. It details how the DOM is represented as a hiera...

21 Tammi 33min

DrawScrollingContentsOp: Accelerated Scrolling via Raster-Inducing Display Lists

DrawScrollingContentsOp: Accelerated Scrolling via Raster-Inducing Display Lists

The provided text describes DrawScrollingContentsOp, a specialized paint operation within Chromium’s rendering engine that enhances scrolling performance for non-composited content. By utilizing the R...

21 Tammi 30min

Chromium Compositor Synced Properties: Deep Dive

Chromium Compositor Synced Properties: Deep Dive

Chromium uses synced properties as a specialized coordination system to maintain consistency between the main thread and the compositor thread. These properties manage essential values that change fre...

21 Tammi 27min

Mastering CSS Background Attachment: A Technical Guide

Mastering CSS Background Attachment: A Technical Guide

The provided text offers a technical examination of the background-attachment CSS property, detailing how it dictates whether images remain static or move during scrolling. It identifies three primary...

20 Tammi 24min