blink::PaintArtifactCompositor
Blink28610 Loka 2025

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 when only values changed (e.g., opacity) or when a scroll only induces raster invalidation, avoiding full rebuilds. It owns a subtree of cc layers corresponding to the artifact. (Chromium Git Repositories)

Key fields

  • scoped_refptr<cc::Layer> root_layer_ — root of the Blink‑owned layer subtree.

  • UpdateType needs_update_ — kRepaint vs kFull (or scroll fast path).

  • Caches/maps for synthesized mask clips and scroll translations seen while layerizing. (Chromium Git Repositories)

Most important methods

  • bool TryFastPathUpdate(const PaintArtifact&) — take a cheap path (no topology change). (Chromium Git Repositories)

  • void Update(const PaintArtifact&, const ViewportProperties&, const StackScrollTranslationVector&, Vector<std::unique_ptr<cc::ViewTransitionRequest>>) — full reconciliation to layers + cc property trees. (Chromium Git Repositories)

  • “Direct update” helpers like DirectlyUpdateCompositedOpacityValue(...), DirectlyUpdateScrollOffsetTransform(...) — skip rebuilds for common animations/scrolling. (Chromium Git Repositories)

Hands off to: PropertyTreeManager (internally) to mirror Blink property nodes to cc trees, ready for commit to the compositor thread.


Jaksot(396)

[ext] Web View Transitions: Technical Deep Dive

[ext] Web View Transitions: Technical Deep Dive

The source provides an exhaustive technical and historical overview of the Web View Transition API, a modern set of web platform features designed to enable fluid, animated transitions between user in...

9 Marras 20251h 16min

Chromium Input Handling Deep Dive: Compositor and Proxy

Chromium Input Handling Deep Dive: Compositor and Proxy

The sources provide an extensive examination of Chromium’s input handling pipeline, focusing on the roles of the InputHandler and InputHandlerProxy within the renderer's dedicated compositor thread. T...

8 Marras 202540min

Web View Transitions: Technical Deep Dive

Web View Transitions: Technical Deep Dive

The second source introduces the View Transition API, a modern web platform feature that allows developers to create smooth, animated transitions between different UI states or entire pages by automat...

8 Marras 202547min

Chrome Compositor: Raster-Inducing Scrolling Explained

Chrome Compositor: Raster-Inducing Scrolling Explained

The source provides an extensive technical explanation of raster-inducing scrolling within the Chrome browser's rendering pipeline, focusing on the sophisticated architecture of the Chrome Compositor ...

8 Marras 202542min

Chromium ContentBrowserTest Architecture and Practice

Chromium ContentBrowserTest Architecture and Practice

The source provides an extensive overview of Chromium's ContentBrowserTest system, which functions as an integration test harness designed for the content layer of the browser. These tests operate by ...

6 Marras 202544min

Blink Compositor Promotion of CSS Animations

Blink Compositor Promotion of CSS Animations

The technical sources provide an extensive analysis of how the Blink rendering engine (used in Chromium/Chrome) determines whether a CSS animation can be executed on the compositor thread instead of t...

6 Marras 202536min

Blink Compositor Gesture Lifecycle in InputHandlerProxy

Blink Compositor Gesture Lifecycle in InputHandlerProxy

The source text explains the detailed lifecycle of a gesture scroll sequence within the Chromium rendering engine, focusing on the role of the InputHandlerProxy component. This component acts as a cru...

6 Marras 202525min

WebMCP: AI Functionality for the Browser

WebMCP: AI Functionality for the Browser

The provided sources introduce and detail WebMCP (Web Model-Context Protocol), an emerging web standard designed to enable seamless, structured communication between AI agents (like LLM-based assistan...

6 Marras 202530min