Blink Codebase: Deeper Classes and Components
Blink28620 Aug 2025

Blink Codebase: Deeper Classes and Components

The provided texts describe various classes and components within the Blink rendering engine, detailing their definitions and functionalities. These documents cover how Blink manages CSS styling (ComputedStyleBase, StyleResolverState, StyleAdjuster), handles specific web content types like SVG and MathML (SVGElement, MathMLElement), and implements modern web platform features such as Web Components (CustomElementRegistry), WebXR (XRSession), Web Audio (AudioContext), and various hardware APIs (BluetoothDevice, HIDDevice). Furthermore, they shed light on Blink's internal diagnostics and performance tools (MemoryUsageMonitor, TraceEventHelper, Internals) and its approaches to off-main-thread processing for graphics (PaintWorklet, OffscreenCanvas, CanvasRenderingContext2D), illustrating the intricate architecture that powers web browsing.


Avsnitt(462)

blink::PaintArtifact

blink::PaintArtifact

the immutable “what to draw” package for this frame. A PaintArtifact is the product of Blink painting: a DisplayItemList plus an ordered vector of PaintChunks. It is immutable post‑creation and design...

10 Okt 202531min

blink::PaintController

blink::PaintController

builds the display list + paint chunks and manages caching. As painters call into GraphicsContext, they also drive a PaintController which groups drawing into display items and paint chunks (each keye...

10 Okt 202529min

blink::GraphicsContext

blink::GraphicsContext

immediate drawing API that records to a display list. Painters for layout objects use GraphicsContext to “draw”—but in modern Blink those calls get recorded into a display list (PaintRecord) backed by...

10 Okt 202544min

blink::TransformPaintPropertyNode / ClipPaintPropertyNode / EffectPaintPropertyNode / ScrollPaintPropertyNode

blink::TransformPaintPropertyNode / ClipPaintPropertyNode / EffectPaintPropertyNode / ScrollPaintPropertyNode

These are the nodes within those four trees. Every piece of painted content (a “paint chunk”) is associated with a tuple of (Transform, Clip, Effect, Scroll) nodes—its PropertyTreeState. This precisel...

10 Okt 202533min

blink::PaintPropertyTreeBuilder

blink::PaintPropertyTreeBuilder

builds/updates paint property trees.Consumes the layout/fragment data and produces the four paint property trees (Transform, Clip, Effect, Scroll) for the current frame. These trees encode coordinate ...

10 Okt 202547min

blink::PrePaintTreeWalk

blink::PrePaintTreeWalk

cross‑frame pre‑paint traversal. Runs in the InPrePaint lifecycle phase. Walks the entire layout tree starting at the root LocalFrameView, updating paint invalidation state and computing the context n...

10 Okt 202531min

blink::NGPhysicalFragment and friends

blink::NGPhysicalFragment and friends

Layout takes the styled DOM and produces a fragment tree of positioned boxes. In modern Blink this is LayoutNG; the core artifact is NGPhysicalFragment, which stores geometry and is used downstream fo...

10 Okt 202537min

blink::StyleEngine

blink::StyleEngine

style invalidation & resolution (recalc). 
Given DOM/style changes since the last frame, StyleEngine computes updated ComputedStyles, manages active stylesheets/media query state, and marks the right ...

10 Okt 202534min

Populärt inom Teknik

uppgang-och-fall
elbilsveckan
bilar-med-sladd
market-makers
har-vi-akt-till-mars-an
rss-elektrikerpodden
rss-laddstationen-med-elbilen-i-sverige
skogsforum-podcast
rss-uppgang-och-fall
developers-mer-an-bara-kod
rss-technokratin
natets-morka-sida
hej-bruksbil
rss-en-ai-till-kaffet
rss-milpodden
rss-snacka-om-ai
bli-saker-podden
rss-veckans-ai
rss-powerboat-sverige-podcast
rss-ai-med-katarina-gospic-och-viggo-cavling