For Developers (original) (raw)
See also: docs in the source code - https://chromium.googlesource.com/chromium/src/+/HEAD/docs/README.md
Start here
How-tos
Note that some of these guides are out-of-date.
Getting the Code
- Quick reference of common development commands.
- Look at our Git Cookbookfor a helpful walk-through.
- Changelogs for Chromium and Blink.
Development Guides
- Debugging on Windows,Mac OS X,LinuxandAndroid.
- Threading
- Subtle Threading Bugs and How to Avoid Them
- Visual Studio tricks
- Debugging GPU related code
- How to set up Visual Studio debugger visualizersto make the watch window more convenient
- Linux Developmenttips and porting guide
- Mac Development
- Generated files
- Chromoting (Chrome Remote Desktop) compilation
- Editing dictionaries
- Editors Guides
- Learning your way around the code
- Guide to Important Libraries, Abstractions, and Data Structures
- //base Newsletters
- Android WebView
- GitHub Collaboration
See also: All How-tos.
Blink
- Blink Project
- Running and Debugging the Blink web tests (pka layout tests)
- Blink Sheriffing
- Web IDL interfaces
- Class Diagram: Blink Core to Chrome Browser
- Rebaselining Tool
- How repaint works
- Phases of Rendering
- Web Platform Tests
- Baseline computation and some line layout docs
- Fast Text Autosizer
Testing and Infrastructure
- Tests
- Browser Tests
- Handling a failing test
- Running Chrome tests
- Page Heap for Chrome
- Establishing Blame for Memory usage via Memory_Watcher
- GPU Rendering Benchmarks
- Infra documentation
- Contacting a Trooper
Performance
- Adding Performance Tests
- Telemetry: Performance testing framework
- Cluster Telemetry: Run benchmarks against the top 10k web pages (Googlers-only)
- Memory
- Profiling Tools:
- Thread and Task Profiling and Tracking (about:profiler) Also allows diagnosing per-task heap usage and churn if Chrome runs with "--enable-heap-profiling=task-profiler".
- Tracing tool(about:tracing)
- Deep Memory Profiler
- Investigating Windows Binary Sizes
- Windows-specific issues can be profiled withUIforETW
- Leak Detection
- Perf Sheriffing
Sync
Diagnostics
Documentation hosted in / generated by source code
- depot_tools
- C++ use in Chromium
- GN: Meta-build system that generates NinjaBuild files; Intended to be GYP replacement.
- MB: Meta-build wrapper around both GN and GYP.
- Chrome Infra