viz::Display::DrawAndSwap
Blink2865 Loka 2025

viz::Display::DrawAndSwap

In Chrome’s rendering pipeline, the Viz service in the GPU process owns a viz::Display object. A Display is responsible for taking aggregated CompositorFrames (produced by the SurfaceAggregator), drawing them using the appropriate renderer (Skia or software) and swapping the resulting buffer to the physical output surface. The method Display::DrawAndSwap(const DrawAndSwapParams& params) performs this work. The display scheduler calls DrawAndSwap for every frame it wants to display. On some platforms such as Lacros, DrawAndSwap uses the root surface size as the display’s size; the note on display size explains that display_->Resize sets current_surface_size_, and DrawAndSwap uses this value to determine whether the current frame needs a resize.

Jaksot(391)

Chromium Compositor Implementation of CSS Sticky Positioning

Chromium Compositor Implementation of CSS Sticky Positioning

In Chromium, sticky positioning is managed by the compositor thread to ensure smooth scrolling without relying on the main layout engine. The process begins on the main thread, where layout constraint...

31 Tammi 31min

Modern Web Scrolling: Mechanics of Driven and Triggered Animations

Modern Web Scrolling: Mechanics of Driven and Triggered Animations

Modern web standards are evolving to support scroll-driven animations, which tie the progress of visual effects directly to a user’s scroll position rather than a standard clock. Traditionally, these ...

31 Tammi 31min

Mastering Piper and CitC in the Google3 Monorepo

Mastering Piper and CitC in the Google3 Monorepo

This documentation provides a comprehensive overview of Piper, the proprietary version control system used to manage Google’s massive Google3 monorepo. It details how developers use CitC to create vir...

31 Tammi 31min

Mastering CSS Pseudo-Elements: A Comprehensive Technical Guide

Mastering CSS Pseudo-Elements: A Comprehensive Technical Guide

CSS pseudo-elements act as "phantom" nodes that allow developers to style specific fragments of a document, such as the first line of a paragraph or user text selections, without altering the HTML str...

30 Tammi 35min

Mastering CSS Compositing and Blending Mechanisms

Mastering CSS Compositing and Blending Mechanisms

This text explores the technical architecture and practical application of CSS compositing and blending, detailing how web browsers combine visual elements with their backgrounds. It distinguishes bet...

30 Tammi 32min

CSS Backgrounds and Borders: A Technical Deep Dive

CSS Backgrounds and Borders: A Technical Deep Dive

This technical documentation provides an extensive analysis of CSS background and border properties, detailing their behavior, syntax, and implementation within modern browser engines like Blink. The ...

30 Tammi 36min

Engineering CSS Anchor Positioning in the Chromium Blink Engine

Engineering CSS Anchor Positioning in the Chromium Blink Engine

The provided text describes the CSS Anchor Positioning API, a transformative layout feature implemented within the Chromium Blink engine. This technology shifts the responsibility for positioning elem...

28 Tammi 35min

8 View Transition Lifecycle, Debugging, and Failure Handling

8 View Transition Lifecycle, Debugging, and Failure Handling

This lecture excerpt explores the technical lifecycle of the View Transition API in the Blink engine, focusing on how transitions conclude and handle errors. It details how specific JavaScript promise...

27 Tammi 30min