How Blink works
Author: haraken@ Last update: 2018 Aug 14 Status: PUBLIC
Working on Blink is not easy. It’s not easy for new Blink developers because there are a lot of Blink-specific concepts and coding conventions that have been introduced to implement a very fast rendering engine. It’s not easy even for experienced Blink developers because Blink is huge and extremely sensitive to performance, memory and security.
This document aims at providing a 10k foot overview of “how Blink works”, which I hope will help Blink developers get familiar with the architecture quickly:
The document is NOT a thorough tutorial of Blink’s detailed architectures and coding rules (which are likely to change and be outdated). Rather the document concisely describes Blink’s fundamentals that are not likely to change in short term and points out resources you can read if you want to learn more. The document does NOT explain specific features (e.g., ServiceWorkers, editing). Rather the document explains fundamental features used by a broad range of the code base (e.g., memory management, V8 APIs).
For more general information about Blink’s development, see the Chromium wiki page.