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(391)

Blink Rendering: Background Paint Location in Overflow Scrolling boxes

Blink Rendering: Background Paint Location in Overflow Scrolling boxes

The provided text explains the technical inner workings of LayoutBox::ComputeBackgroundPaintLocation, a specific C++ function within Google’s Blink rendering engine. This function acts as a decision-m...

21 Tammi 29min

The Popover API and Blink Implementation Deep Dive

The Popover API and Blink Implementation Deep Dive

The provided text explains the Popover API, a standardized web feature that allows developers to create top-layer overlays like menus and tooltips using a global HTML attribute. It details three disti...

21 Tammi 26min

Blink Rendering Engine: ScrollableAxes System Architecture

Blink Rendering Engine: ScrollableAxes System Architecture

Blink’s ScrollableAxes system is the architectural framework within the Chromium rendering engine that manages how web content moves along horizontal and vertical paths. This system coordinates a vari...

21 Tammi 32min

Blink's Unsplittable Scrolling Overflow: A Layout Deep Dive

Blink's Unsplittable Scrolling Overflow: A Layout Deep Dive

The provided text explains Blink’s LayoutBox::HasUnsplittableScrollingOverflow, a specialized method within Google Chrome’s rendering engine that manages how elements are divided across pages or colum...

21 Tammi 25min

Blink DOM Tree Architecture and Implementation Deep Dive

Blink DOM Tree Architecture and Implementation Deep Dive

This technical deep dive explores the C++ architecture and implementation of the Document Object Model (DOM) within Blink, Chromium’s rendering engine. It details how the DOM is represented as a hiera...

21 Tammi 33min

DrawScrollingContentsOp: Accelerated Scrolling via Raster-Inducing Display Lists

DrawScrollingContentsOp: Accelerated Scrolling via Raster-Inducing Display Lists

The provided text describes DrawScrollingContentsOp, a specialized paint operation within Chromium’s rendering engine that enhances scrolling performance for non-composited content. By utilizing the R...

21 Tammi 30min

Chromium Compositor Synced Properties: Deep Dive

Chromium Compositor Synced Properties: Deep Dive

Chromium uses synced properties as a specialized coordination system to maintain consistency between the main thread and the compositor thread. These properties manage essential values that change fre...

21 Tammi 27min

Mastering CSS Background Attachment: A Technical Guide

Mastering CSS Background Attachment: A Technical Guide

The provided text offers a technical examination of the background-attachment CSS property, detailing how it dictates whether images remain static or move during scrolling. It identifies three primary...

20 Tammi 24min