blink::StyleEngine
Blink28610 Okt 2025

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 subtrees dirty for style/layout. This sets up accurate inputs to layout. (Chromium Git Repositories)

Key fields

* StyleResolver* resolver_ — the style resolver used to compute ComputedStyles; created lazily. (Chromium Git Repositories)

* PendingInvalidations pending_invalidations_ — tracks nodes needing restyle due to stylesheet/DOM/class/attribute changes. (Chromium Git Repositories)

Most important methods (and how they push pixels forward)

* StyleResolver& EnsureResolver() — makes sure a resolver is ready before recalc. (Chromium Git Repositories)

* void UpdateActiveStyle() — updates active sheets/media‑query driven state before resolving. (Chromium Git Repositories)

* void RecalcStyle(StyleRecalcChange) — does the actual style recalc walk, marking what changed for layout/paint. (Chromium Git Repositories)

* A large set of ...ChangedForElement(...) and ScheduleInvalidations...(...) helpers — turn DOM/sheet churn into precise invalidations (minimizing layout/paint cost). (Chromium Git Repositories)

Hands off to: Layout (LayoutNG) with up‑to‑date ComputedStyle.

Avsnitt(417)

blink::PropertyTreeManager

blink::PropertyTreeManager

bridges Blink property trees → cc property trees. Given Blink’s Transform/Clip/Effect/Scroll nodes (from paint property trees), this class creates/updates the cc counterparts (cc::TransformNode, cc::C...

10 Okt 202546min

blink::PaintArtifactCompositor

blink::PaintArtifactCompositor

turns chunks into compositor layers & updates cc property trees. Consumes the new PaintArtifact and does the layerization and property‑tree updates required for compositor draw. It supports fast paths...

10 Okt 202529min

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

Populärt inom Teknik

uppgang-och-fall
natets-morka-sida
elbilsveckan
rss-elektrikerpodden
bilar-med-sladd
market-makers
skogsforum-podcast
rss-technokratin
har-vi-akt-till-mars-an
rss-laddstationen-med-elbilen-i-sverige
bli-saker-podden
rss-it-sakerhetspodden
rss-fabriken-2
rss-veckans-ai
musikprodd-podden
hej-bruksbil
rss-uppgang-och-fall
developers-mer-an-bara-kod
rss-rapporterat
rss-snacka-om-ai