blink::PaintController
Blink28610 Loka 2025

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 keyed by the current property‑tree state). It also handles reuse of cached items to avoid repaint when nothing visually changed. Output is an immutable PaintArtifact. (Chromium Git Repositories)

Key fields

  • PaintArtifact* new_paint_artifact_ — being built for this frame;

  • PaintArtifact* old_paint_artifact_ — previous frame for cache matching;

  • PaintChunker paint_chunker_ — forms chunk boundaries based on property state;

  • PaintControllerPersistentData* persistent_data_ — holds prior artifact & subsequences. (Chromium Git Repositories)

Most important methods

  • UpdateCurrentPaintChunkProperties(const PropertyTreeStateOrAlias&) — starts/updates the current chunk when property state changes. (Chromium Git Repositories)

  • template <class T> CreateAndAppend(...) — appends a display item (records drawing op + metadata). (Chromium Git Repositories)

  • bool UseCachedItemIfPossible(...) — reuses prior items to skip repaints. (Chromium Git Repositories)

  • void BeginFrame(const void* frame) / FrameFirstPaint EndFrame(const void* frame) — delimit a painting pass for metrics + cache book‑keeping. (Chromium Git Repositories)

  • (Internals also maintain id→index maps to support O(1)/linear cache lookups.) (Chromium Git Repositories)

Hands off to: the PaintArtifact it produces.


Jaksot(397)

PaintLayerScrollableArea: Blink’s Scrolling Engine

PaintLayerScrollableArea: Blink’s Scrolling Engine

The PaintLayerScrollableArea (PLSA) is a critical internal component within Google’s Blink rendering engine that manages the scrolling mechanics for individual layout elements. It acts as a specialize...

8 Tammi 31min

Single-Axis Overflow Clipping in the Blink Rendering Engine

Single-Axis Overflow Clipping in the Blink Rendering Engine

Chromium’s Blink engine manages specific CSS overflow behaviors by distinguishing between scrollable containers and clipped elements. While standard combinations like visible and hidden are often reco...

7 Tammi 38min

Electron Architecture and Runtime Integration Strategies

Electron Architecture and Runtime Integration Strategies

Electron is a software framework that combines the Chromium rendering engine with the Node.js runtime to facilitate the creation of cross-platform desktop applications. Its architecture utilizes a mul...

7 Tammi 43min

[DIFFERENCE] Block Formatting Context vs Containing Block: CSS Architecture

[DIFFERENCE] Block Formatting Context vs Containing Block: CSS Architecture

This document explores the fundamental differences and technical interactions between Block Formatting Context (BFC) and Containing Blocks within web design. While a BFC dictates how independent layou...

7 Tammi 36min

POSIX System Programming and Interface Fundamentals

POSIX System Programming and Interface Fundamentals

The provided text is an extensive technical guide to the Portable Operating System Interface (POSIX), a set of standards designed to ensure application portability across various operating systems. It...

7 Tammi 38min

CSS overscroll-area: Declarative Regions for Swipe-to-Reveal Interactions

CSS overscroll-area: Declarative Regions for Swipe-to-Reveal Interactions

The overscroll-area proposal introduces a new CSS feature that enables web developers to define custom content within the elastic regions revealed during a swipe gesture. By using properties like over...

7 Tammi 34min

Block Formatting Context vs Containing Block

Block Formatting Context vs Containing Block

This text examines the technical distinctions and interactions between Block Formatting Context (BFC) and Containing Blocks in web development. While a BFC dictates how independent layout regions mana...

6 Tammi 32min

Block Formatting Context Architecture

Block Formatting Context Architecture

In the Chromium Blink engine, a Block Formatting Context (BFC) acts as a specialized layout container that isolates its internal content from external influences like margin collapsing and floating el...

5 Tammi 29min