The Chromium Projects
Search this site
Google Chrome Extensions
Google Chrome Frame
Except as otherwise
, the content of this page is licensed under a
Creative Commons Attribution 2.5 license
, and examples are licensed under the
: Describes the high-level architecture of Chromium
Most of the rest of the design documents assume familiarity with the concepts explained in this document.
How Chromium Displays Web Pages
: Bottom-to-top overview of how WebKit is embedded in Chromium
: Our strategies for creating new renderer processes
Conventions and patterns for multi-platform development
: How the browser, renderer, and plugin processes communicate
: How to use threads in Chromium
Multi-process Resource Loading
: How pages and images are loaded from the network into the renderer
: How Chromium's sandboxed rendering engine helps protect against malware
Extension Security Architecture
: How the extension system helps reduce the severity of extension vulnerabilities
Also see the documentation for
: Our UI layout layer used on Windows/Chrome OS.
views Windowing system
: How to build dialog boxes and other windowed UI using views.
: Chrome's next generation hardware accelerated UI framework, and the new ChromeOS window manager built using it.
: using platform-native widgets in views.
Focus and Activation with Views and Aura.
Chromium Print Proxy
: Enables a cloud print service for legacy printers and future cloud-aware printers.
UI Mirroring Infrastructure
: Describes the UI framework in ChromeViews that allows mirroring the browser UI in RTL locales such as Hebrew and Arabic.
: Describes how localized strings get added to Chromium.
Constrained Popup Windows
Memory Usage Backgrounder:
Some information on how we measure memory in Chromium.
: Reducing perceived latency by resolving domain names before a user tries to follow a link
: A feature to automatically fill out an html form with appropriate data.
GPU Accelerated Compositing in Chrome
Rendering Architecture Diagrams
Graphics and Skia
RenderText and Chrome UI text drawing
GPU Command Buffer
GPU Program Caching
Compositing in Blink/WebCore: from WebCore::RenderLayer to cc::Layer
Compositor Thread Architecture
Video Playback and Compositor
Omnibox Autocomplete: While typing into the omnibox, Chromium searches for and suggests possible completions.
: Suggests completions from the user's historical site visits.
Network Stack Objectives
Out of Process Proxy Resolving Draft [unimplemented]
Proxy Settings and Fallback
Debugging network proxy problems
SSL Client Authentication
View network internals tool
Make the web faster with SPDY
Cookie storage and retrieval
Protecting Cached User Data
Chaps Technical Design
: Enables Web applications to maintain bidirectional communications with server-side processes.
Tab to search
: How to have the Omnibox automatically provide tab to search for your site.
: Information on Chromium's support for user scripts.
: Design documents and proposed APIs.
: An outline of current (and coming) accessibility support.
Linux Resources and Localized Strings
: Loading data resources and localized strings on Linux.
Software Updates: Courgette
: Adding support for
W3C Geolocation API
using native WebKit bindings.
IDN in Google Chrome
Replace the modal cookie prompt
Pepper plugin implementation
Secure Web Proxy
Keyboard Event Handling
: In-progress effort to improve Chromium's process model for security between web sites.
: Determining the time on a Chrome OS device
: Determining an accurate time in Chrome
: Registry entries and shortcuts
WebNavigation API internals
Mac OS X
Password Manager/Keychain Integration
Mac NPAPI Plugin Hosting
Mac specific notes on UI Localization
Tab Strip Design (Includes tab layout and tab dragging)
BrowserWindowController Object Ownership
Wrench Menu Buttons
Confirm to Quit
Draft document on
Mac App Mode
Draft document on
Mac Fullscreen Mode
OS X Interprocess Communication (Obsolete)
Notes from meeting on IOSurface usage and semantics
Java Resources on Android
Layout test results dashboard
Generic theme for Test Shell
Moving LayoutTests fully upstream
In progress refactoring of key browser-process architecture for porting
Design docs that still need to be written