Chrome's Architectural Evolution: A Technical History
Blink28628 Aug 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.


Episoder(391)

blink::PaintChunk and blink::DisplayItemList

blink::PaintChunk and blink::DisplayItemList

grouping and content. PaintChunk: groups sequential display items that share the same property‑tree state and cull/visibility; it’s the unit we layerize and invalidate.DisplayItemList: the recorded Sk...

10 Okt 202537min

blink::PaintArtifact

blink::PaintArtifact

the immutable “what to draw” package for this frame. A PaintArtifact is the product of Blink painting: a DisplayItemList plus an ordered vector of PaintChunks. It is immutable post‑creation and design...

10 Okt 202531min

blink::PaintController

blink::PaintController

builds the display list + paint chunks and manages caching. As painters call into GraphicsContext, they also drive a PaintController which groups drawing into display items and paint chunks (each keye...

10 Okt 202529min

blink::GraphicsContext

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...

10 Okt 202544min

blink::TransformPaintPropertyNode / ClipPaintPropertyNode / EffectPaintPropertyNode / ScrollPaintPropertyNode

blink::TransformPaintPropertyNode / ClipPaintPropertyNode / EffectPaintPropertyNode / ScrollPaintPropertyNode

These are the nodes within those four trees. Every piece of painted content (a “paint chunk”) is associated with a tuple of (Transform, Clip, Effect, Scroll) nodes—its PropertyTreeState. This precisel...

10 Okt 202533min

blink::PaintPropertyTreeBuilder

blink::PaintPropertyTreeBuilder

builds/updates paint property trees.Consumes the layout/fragment data and produces the four paint property trees (Transform, Clip, Effect, Scroll) for the current frame. These trees encode coordinate ...

10 Okt 202547min

blink::PrePaintTreeWalk

blink::PrePaintTreeWalk

cross‑frame pre‑paint traversal. Runs in the InPrePaint lifecycle phase. Walks the entire layout tree starting at the root LocalFrameView, updating paint invalidation state and computing the context n...

10 Okt 202531min

blink::NGPhysicalFragment and friends

blink::NGPhysicalFragment and friends

Layout takes the styled DOM and produces a fragment tree of positioned boxes. In modern Blink this is LayoutNG; the core artifact is NGPhysicalFragment, which stores geometry and is used downstream fo...

10 Okt 202537min

Populært innen Teknologi

romkapsel
tomprat-med-gunnar-tjomlid
rss-avskiltet
teknisk-sett
nasjonal-sikkerhetsmyndighet-nsm
energi-og-klima
shifter
lydartikler-fra-aftenposten
elektropodden
rss-impressions-2
fornybaren
hans-petter-og-co
rss-alt-vi-kan
rss-ki-praten
pedagogisk-intelligens
smart-forklart
rss-fish-ships
rss-trippel-bunnlinje
rss-alt-som-gar-pa-strom
rss-ai-forklart