blink::PaintController
Blink28610 Okt 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.


Episoder(445)

Advanced Chrome on Android Diagnostics and Profiling

Advanced Chrome on Android Diagnostics and Profiling

This comprehensive guide details the advanced diagnostic and performance tools available for developers working on Chrome for Android. It categorizes tools based on the specific issue being analyzed, ...

9 Des 202542min

Chromium Development Workflow on Android

Chromium Development Workflow on Android

The source provides a comprehensive guide to the workflow for developing Chromium on Android, detailing the specialized tools required for building, deploying, and debugging the browser. It explains t...

9 Des 202536min

Android Internals for Chrome and Blink Developers

Android Internals for Chrome and Blink Developers

The source provides a detailed technical guide to Android internals specifically for Chrome/Blink developers, covering the fundamental infrastructure required to build, deploy, and debug the browser o...

8 Des 202545min

CSS display: contents: Layout, Implementations, and Accessibility

CSS display: contents: Layout, Implementations, and Accessibility

The text provides an extensive technical examination of the CSS value display: contents, which allows authors to remove an element's principal box from the rendering tree while preserving its descenda...

6 Des 202529min

WebView Crash: Finch Configuration Disaster

WebView Crash: Finch Configuration Disaster

The text analyzes the Android app stability crisis of March 2021, detailing how a global outage occurred when a configuration bug was deployed via Google’s remote experimentation system, Finch. This f...

6 Des 202532min

Hybrid Overscroll: Root Glow and Inner Bounce in WebView

Hybrid Overscroll: Root Glow and Inner Bounce in WebView

The provided text details the complex mechanisms governing overscroll behavior within the Android WebView and Chromium engine, specifically contrasting how the root content and non-root scrollable ele...

6 Des 202527min

WebView Feature Flags: Java to Native Compositor

WebView Feature Flags: Java to Native Compositor

The source documents examine the complex, multi-layered feature-flag architecture within Android's WebView, which is essential for controlling experimental features, field trials (Finch), and underlyi...

5 Des 202537min

Geometry, Immutability, and Caching in LayoutNG Fragments

Geometry, Immutability, and Caching in LayoutNG Fragments

The provided text describes Blink’s LayoutNG Fragment Tree, an immutable structure that captures the final geometry and layout results, replacing the mutable legacy layout tree. This structure is comp...

4 Des 20251h 5min

Populært innen Teknologi

lydartikler-fra-aftenposten
romkapsel
smart-forklart
teknisk-sett
tomprat-med-gunnar-tjomlid
energi-og-klima
nasjonal-sikkerhetsmyndighet-nsm
rss-impressions-2
elektropodden
rss-ki-praten
shifter
rss-praktisk-proptech
pedagogisk-intelligens
hans-petter-og-co
rss-ki-til-kaffen
i-loopen
kunstig-intelligens-med-morten-goodwin
rss-heis
teknologi-og-mennesker
rss-nerding-med-netlife