cc Transform and Scroll Trees
Blink28628 Sep 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.

Episoder(403)

CSS Automatic Minimum Size in Flexbox and Grid

CSS Automatic Minimum Size in Flexbox and Grid

The provided text explains the CSS min-size: auto property and how it functions as a default constraint within Flexbox and Grid layouts. It details how this mechanism prevents elements from shrinking ...

23 Jan 35min

Blink Layout Engine: Method Mechanisms for Flex and Grid Sizing

Blink Layout Engine: Method Mechanisms for Flex and Grid Sizing

The provided text details the internal mechanics of the Blink Layout Engine, specifically focusing on how it calculates and enforces automatic minimum sizes for Flexbox and Grid elements. It explains ...

23 Jan 34min

Blink Engine Architecture: content-visibility: auto

Blink Engine Architecture: content-visibility: auto

The provided text explains the content-visibility: auto CSS property and its technical implementation within the Blink rendering engine. This feature boosts web performance by skipping the layout, sty...

22 Jan 27min

Negative Margins and Scroll Behavior in CSS and Blink

Negative Margins and Scroll Behavior in CSS and Blink

The provided text explains how negative CSS margins function across different layout contexts and how they impact browser scrolling behavior. While these values allow elements to overlap by pulling th...

22 Jan 29min

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 Jan 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 Jan 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 Jan 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 Jan 25min

Populært innen Teknologi

lydartikler-fra-aftenposten
romkapsel
rss-avskiltet
smart-forklart
teknisk-sett
nasjonal-sikkerhetsmyndighet-nsm
energi-og-klima
rss-impressions-2
tomprat-med-gunnar-tjomlid
shifter
teknologi-og-mennesker
fornybaren
elektropodden
rss-heis
hans-petter-og-co
i-loopen
pedagogisk-intelligens
rss-alt-vi-kan
rss-for-alarmen-gar
rss-polypod