This document provides a high-level map to the Chromium source code, explaining the purpose of the major top-level directories.
//chrome
: The code for the Chrome browser application itself. This layer integrates all the underlying components into the final product. It includes UI, browser-specific features, and application logic.//components
: Reusable modules that provide specific features (e.g., autofill, bookmarks, signin, policy). They are designed to be layered on top of //content
and have minimal dependencies on each other.//content
: The core multi-process rendering engine abstraction. It encapsulates the sandbox and the browser/renderer process model. Most features are built on top of the Content API. It is the layer below //chrome
.//third_party/blink
: The Blink rendering engine. This is where the open web platform is implemented (e.g., DOM, CSS, JavaScript APIs). It runs inside the sandboxed renderer process.//base
: The fundamental building blocks of Chromium. Contains essential utilities for C++, data structures, threading primitives (base::Callback
, base::TaskRunner
), and platform abstractions. Most other code depends on //base
.//net
: The networking stack. Implements everything from HTTP to QUIC and provides abstractions for network requests.//mojo
: The core IPC (Inter-Process Communication) library used for communication between processes and services.//services
: A collection of standalone services that are often run in their own processes and communicate via Mojo interfaces.//ui
: The foundational toolkit for building user interfaces.//ui/views
: The primary framework for building cross-platform desktop UI (Windows, Linux, ChromeOS). It provides a widget-based system for creating native-feeling interfaces.