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

Chromium Compositor Input: Handler and Proxy Deep Dive

Chromium Compositor Input: Handler and Proxy Deep Dive

The source provides a detailed technical analysis of how the Chromium web browser manages user input to ensure a responsive and smooth user experience, even when the main thread is occupied. It center...

1 Okt 202531min

Current Overscroll System Architecture Deep Dive

Current Overscroll System Architecture Deep Dive

The provided document offers an in-depth technical architectural overview of the overscroll system, primarily within the Chromium browser. It explains how browsers handle scroll gestures that go beyon...

29 Sep 202535min

cc Transform and Scroll Trees

cc Transform and Scroll Trees

The source text details the architecture of Chromium's compositor, focusing on the tandem operation of two critical data structures: the Transform Tree and the Scroll Tree. The Transform Tree manages ...

28 Sep 202527min

GDB Debugging for Chrome Blink Renderer Process

GDB Debugging for Chrome Blink Renderer Process

This source provides a comprehensive guide for using the GNU Debugger (GDB), primarily targeted at debugging the C++ code within the Chromium (Chrome) browser's renderer process (Blink) in a Linux dev...

27 Sep 202554min

Tmux Guide for Cloudtop Chrome Development

Tmux Guide for Cloudtop Chrome Development

The document provides an extensive tutorial and reference guide for using tmux, a terminal multiplexer, specifically tailored for Chrome development in a remote Debian Linux environment like Google Cl...

27 Sep 202543min

cc::Viewport: Engine of Compositor Interaction

cc::Viewport: Engine of Compositor Interaction

The source provides a detailed architectural examination of Chromium’s cc::Viewport class, which is a critical, stateful controller within the rendering engine's compositor responsible for all high-pe...

27 Sep 202543min

rr Time Travel Debugger

rr Time Travel Debugger

26 Sep 202547min

Chrome Input Handling

Chrome Input Handling

26 Sep 202536min

Populært innen Teknologi

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