Blink's Document Class: Architecture and Lifecycle
Blink2863 Sep 2025

Blink's Document Class: Architecture and Lifecycle

The provided sources offer a comprehensive overview of Blink's Document class, which serves as the core representation of a web page's content within the Chromium browser engine. The Document class is central to the Document Object Model (DOM) and plays a pivotal role in the rendering pipeline, bridging parsed HTML to styling, layout, and JavaScript execution. The text meticulously details the lifecycle of a Document instance, from its initial creation and HTML parsing to the interactive phase, event completion, and eventual detachment and destruction. Furthermore, it explains the Document's intricate integrations with critical systems like the HTML parser, rendering engine (style, layout, paint), and Blink's scheduler, emphasizing its function in managing DOM mutations, dispatching events, and coordinating various observer notifications like MutationObservers, IntersectionObservers, and ResizeObservers. Finally, the sources illuminate the Document's relationship with other essential Blink classes, such as Node, Element, ExecutionContext, Frame, DocumentLifecycle, and LocalDOMWindow, as well as its memory management strategies primarily using the Oilpan garbage collector.

Avsnitt(399)

blink::PaintChunk and blink::DisplayItemList

blink::PaintChunk and blink::DisplayItemList

grouping and content. PaintChunk: groups sequential display items that share the same property‑tree state and cull/visibility; it’s the unit we layerize and invalidate.DisplayItemList: the recorded Sk...

10 Okt 202537min

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

Populärt inom Teknik

uppgang-och-fall
market-makers
elbilsveckan
bilar-med-sladd
rss-elektrikerpodden
rss-veckans-ai
skogsforum-podcast
rss-laddstationen-med-elbilen-i-sverige
natets-morka-sida
bosse-bildoktorn-och-hasse-p
bli-saker-podden
rss-uppgang-och-fall
rss-en-ai-till-kaffet
developers-mer-an-bara-kod
rss-digitala-influencer-podden
rss-it-sakerhetspodden
rss-fabriken-2
rss-sogeti-sweden-podcasts
rss-powerboat-sverige-podcast
rss-ai-med-katarina-gospic-och-viggo-cavling