CSS Keywords and Blink Rendering Engine
Blink28616 Loka 2025

CSS Keywords and Blink Rendering Engine

These sources provide a detailed technical history of CSS keywords and features, tracing their evolution from the foundational CSS1 (1996), which introduced the box model and basic typography, through CSS2/2.1, which brought essential features like positioning, z-index, and enhanced selectors. The texts meticulously chronicle the explosion of functionality in the CSS3 modular era, covering crucial layout systems like Flexbox and Grid Layout, as well as visual features such as Transitions, Transforms, and Animations. Crucially, the sources extensively explain how these CSS features are implemented and optimized within Chrome's Blink rendering engine (especially through projects like LayoutNG), focusing on the performance implications for style resolution, layout calculation, and GPU compositing. Finally, they discuss modern additions, including CSS-wide keywords (initial, unset, revert) and maintainability tools like Custom Properties (CSS Variables).

Jaksot(489)

cc::PropertyTrees

cc::PropertyTrees

(TransformTree / ClipTree / EffectTree / ScrollTree) with nodes cc::TransformNode / ClipNode / EffectNode / ScrollNode — The impl‑side property‑tree state that positions, clips, blends, and scrolls co...

22 Syys 202534min

cc::LayerTreeHostImpl

cc::LayerTreeHostImpl

The compositor‑thread twin that owns the active/pending trees, runs impl‑side animations/scroll, and prepares draw. Implements cc::InputHandler for threaded scrolling/pinch.

22 Syys 202546min

main —> impl cc::LayerTreeHost

main —> impl cc::LayerTreeHost

Packages updated layers/property trees; kicks a commit to the compositor thread (via the proxy).

22 Syys 202536min

blink::PropertyTreeManager

blink::PropertyTreeManager

Bridges Blink’s paint property trees into cc property trees: creates/updates cc TransformNode, ClipNode, EffectNode, and ScrollNode (including inner/outer viewport scroll nodes).

22 Syys 202539min

blink::PaintArtifactCompositor

blink::PaintArtifactCompositor

Decides what needs to be composited and prepares the main‑thread representation to feed cc (layers if needed, scrollbar compositing, etc.).

22 Syys 202542min

blink::PaintArtifact

blink::PaintArtifact

The immutable package of paint chunks + display items for this frame, used to drive compositing without re‑painting.

21 Syys 202536min

blink::TransformPaintPropertyNode / ClipPaintPropertyNode / EffectPaintPropertyNode / ScrollPaintPropertyNode

blink::TransformPaintPropertyNode / ClipPaintPropertyNode / EffectPaintPropertyNode / ScrollPaintPropertyNode

The paint property trees captured during painting (transform, clip, effect/opacity, scroll offset) that define visual & coordinate‑space state.

21 Syys 202541min

blink::PaintController

blink::PaintController

Records drawing into a DisplayItemList, segmenting it into PaintChunks keyed by property‑tree state. (Output: a PaintArtifact.)

21 Syys 202533min