Chrome's Architectural Evolution: A Technical History
Blink28628 Elo 2025

Chrome's Architectural Evolution: A Technical History

The provided text chronicles the evolution of Google Chrome's architecture from its 2008 inception to 2025, emphasizing its continuous pursuit of speed, stability, and security. It details the browser's foundational multi-process design with strong sandboxing and the introduction of the high-performance V8 JavaScript engine. The document further explores significant architectural shifts, including the 2013 Blink engine fork from WebKit, the integration of Oilpan for memory management, and the complete rewrite of the rendering pipeline with LayoutNG and Slimming Paint. Later sections highlight advancements like Site Isolation for enhanced security, the adoption of the Mojo IPC framework, and the servicification of components, illustrating how Chrome evolved into a modular, robust, and cross-platform browsing experience.


Jaksot(389)

blink::PaintArtifactCompositor

blink::PaintArtifactCompositor

Decides what needs to be composited and prepares the main‑thread representation to feed cc (layers if needed, scrollbar compositing, etc.).

22 Syys 202542min

blink::PaintArtifact

blink::PaintArtifact

The immutable package of paint chunks + display items for this frame, used to drive compositing without re‑painting.

21 Syys 202536min

blink::TransformPaintPropertyNode / ClipPaintPropertyNode / EffectPaintPropertyNode / ScrollPaintPropertyNode

blink::TransformPaintPropertyNode / ClipPaintPropertyNode / EffectPaintPropertyNode / ScrollPaintPropertyNode

The paint property trees captured during painting (transform, clip, effect/opacity, scroll offset) that define visual & coordinate‑space state.

21 Syys 202541min

blink::PaintController

blink::PaintController

Records drawing into a DisplayItemList, segmenting it into PaintChunks keyed by property‑tree state. (Output: a PaintArtifact.)

21 Syys 202533min

blink::LayoutView (root of the layout tree)

blink::LayoutView (root of the layout tree)

Computes geometry for boxes when layout is dirty.

21 Syys 202539min

blink::StyleEngine / style resolver

blink::StyleEngine / style resolver

Recalculates computed styles that changed since last frame (if any).

21 Syys 202542min

blink::Page → blink::LocalFrame / LocalFrameView

blink::Page → blink::LocalFrame / LocalFrameView

The document’s frame & viewport; LocalFrameView is the scrollable root that triggers layout/paint when needed. provided source outlines the fundamental components of the Blink rendering engine, specif...

21 Syys 202539min

blink::WebViewImpl

blink::WebViewImpl

The source text provides an in-depth explanation of the blink::WebViewImpl class within Chromium's Blink rendering engine, characterizing it as the central control point on the renderer's main thread ...

20 Syys 202539min