blink::GraphicsContext
Blink28610 Okt 2025

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 Skia commands. This recording is scoped and batched between BeginRecording(...)/EndRecording(). (Chromium Git Repositories)

Key methods (how display items get their pixels)

  • Recording: BeginRecording(const FloatRect&) → sk_sp<PaintRecord> EndRecording() — wraps a run of drawing commands for later replay. (Chromium Git Repositories)

  • Draw ops (representative): DrawRect, DrawImage(...), DrawText(...), BeginLayer/EndLayer — the stuff that becomes Skia ops inside display items. (Chromium Git Repositories)

Important fields

  • cc::PaintCanvas* canvas_ (owned by recorder), PaintRecorder paint_recorder_ — actual recording guts;

  • float device_scale_factor_, state stacks/flags — needed for correct pixel snapping/appearance. (Chromium Git Repositories)

Hands off to: PaintController, which packages these recorded ops into chunks/items.


Episoder(403)

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 Nov 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 Nov 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 Nov 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 Nov 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 Nov 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 Nov 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 Nov 202530min

React Fiber, Concurrency, and Reconciliation

React Fiber, Concurrency, and Reconciliation

The source provides an extensive overview of React's internal architecture, focusing on the Fiber reconciliation engine and the concept of concurrent rendering. It explains how declarative JSX is comp...

4 Nov 20251h 14min

Populært innen Teknologi

lydartikler-fra-aftenposten
romkapsel
smart-forklart
rss-avskiltet
teknisk-sett
nasjonal-sikkerhetsmyndighet-nsm
energi-og-klima
rss-impressions-2
tomprat-med-gunnar-tjomlid
shifter
hans-petter-og-co
fornybaren
rss-alt-vi-kan
elektropodden
pedagogisk-intelligens
teknologi-og-mennesker
i-loopen
rss-for-alarmen-gar
rss-fjorsilkebris-podcast
rss-heis