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.


Avsnitt(497)

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 Jan 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 Jan 24min

Blink and Havok: Engineering Parallels in Web and Physics Engines

Blink and Havok: Engineering Parallels in Web and Physics Engines

This text examines the technical similarities between Chromium’s Blink engine and high-performance physics engines like Havok. Although they serve different purposes, both rely on iterative update loo...

20 Jan 29min

CSS Float Layout and Blink's LayoutNG Implementation

CSS Float Layout and Blink's LayoutNG Implementation

The provided text explains the technical specifications and implementation of CSS float layouts, specifically focusing on the Blink engine's LayoutNG in Chrome. It details how floats are positioned ou...

20 Jan 26min

CSS Positioned Layout Module Level 3

CSS Positioned Layout Module Level 3

The CSS Positioned Layout Module Level 3 is a comprehensive update that modernizes how elements are placed and layered on web pages. It preserves the core behaviors of CSS2.1 while introducing sticky ...

20 Jan 14min

CSS Overflow Module Level 4

CSS Overflow Module Level 4

The provided documents detail the CSS Overflow Module Level 4, a specification that enhances how web browsers handle content exceeding an element's boundaries. It introduces sophisticated controls lik...

19 Jan 36min

CSS Overflow Module Level 3

CSS Overflow Module Level 3

CSS Overflow Module Level 3 introduces more precise ways to manage content that exceeds an element's boundaries, building upon previous standards with new properties and values. A primary addition is ...

19 Jan 35min

Managing Dotfiles on Debian with GNU Stow

Managing Dotfiles on Debian with GNU Stow

GNU Stow is a specialized command-line utility that functions as a symlink farm manager, primarily used to organize and deploy dotfiles across Linux systems like Debian. By centralizing configuration ...

19 Jan 31min

Populärt inom Teknik

uppgang-och-fall
bilar-med-sladd
elbilsveckan
market-makers
rss-technokratin
skogsforum-podcast
rss-laddstationen-med-elbilen-i-sverige
rss-uppgang-och-fall
har-vi-akt-till-mars-an
rss-elektrikerpodden
rss-veckans-ai
rss-powerboat-sverige-podcast
bli-saker-podden
developers-mer-an-bara-kod
rss-fabriken-2
natets-morka-sida
gubbar-som-tjotar-om-bilar
rss-snacka-om-ai
hej-bruksbil
rss-en-ai-till-kaffet