webKit/webkit
9 articles
Prerequisites
- ›General software engineering fundamentals
- ›Basic familiarity with how browsers work (parse, render, execute)
- ›Comfort reading C++ file and directory structures
Navigating WebKit: Architecture Overview and Codebase Map
A complete mental model of the WebKit repository — its six-layer build stack, multi-process security architecture, and how to orient yourself in one of the largest open-source C++ codebases in existence.
Architecture Overview and Navigating the WebKit Codebase
A comprehensive map of the WebKit universe: layered dependencies, multi-process model, dual build systems, and practical navigation techniques for a 5M+ LOC codebase.
WTF and Memory Management: WebKit's Foundation Library
Deep dive into WTF (Web Template Framework) — the custom standard-library replacement that provides reference counting, weak pointers, containers, and security-hardened memory allocation across all of WebKit.
WTF, Memory Management, and Core Primitives
Deep dive into WebKit's foundational library — custom smart pointers, the protectedThis pattern, IsoHeap security hardening, and the containers that replace the STL.
WebCore: DOM, Rendering Pipeline, and Web IDL Bindings
Tracing the full rendering pipeline from HTML parsing to pixels, the CSS selector JIT compiler, and the binding layer that bridges JavaScript's GC with C++ reference counting.
Inside JavaScriptCore: The 4-Tier Execution Pipeline
Trace a JavaScript function through JavaScriptCore's four execution tiers — from lexing and bytecode generation through the LLInt interpreter, Baseline JIT, speculative DFG optimizer, and the FTL compiler backed by the B3 SSA backend.
The Multi-Process Architecture and IPC System
How WebKit2 isolates web content into separate processes using a custom code-generated IPC framework with the proxy/stub pattern.
JavaScriptCore: From Parser to Optimizing JIT Pipeline
How JavaScript goes from source text to optimized machine code through JSC's four compilation tiers, the B3 compiler backend, and the Riptide garbage collector.
Build Tool, Testing Infrastructure, and Contributor Workflow
A practical guide to building WebKit, running its test suites, understanding unified sources, and contributing through git-webkit.