Blink (Rendering Engine) (original) (raw)
Mission
Make the Web the premier platform for experiencing the world’s information and deliver the world’s best implementation of the Web platform.
What is Blink?
Blink is the name of the rendering engine used by Chromium and particularly refers to the code living under_**src/third_party/blink.**_
Participating
Chromium is aninclusiveopen-source community that values fostering a supportive culture.
Discussions
We value transparency and open collaboration. Our goal is for everyone to be able to participate, regardless of organizational affiliation. There are several areas where developer discussions take place:
- blink-dev@chromium.orgis the general list for discussions relevant to the design and implementation of web platform features.
- Technical Discussion Groups -Groups dedicated to the discussion of specific areas of the codebase.
- Slack (#blink): We hang out on the #blink channel onchromium.slack.com to have quick, informal discussions and answer questions.
Reporting Issues
We use Chromium's issue tracker (akacrbug.com). Web Platform issues live under components inBlinkandInternals.
Tracking features
For developers interested in tracking new features, there are several dedicated channels for staying up-to-date:
- Beta Blog Posts: For each new Chrome Beta release (~every six weeks), the Chrome team publishes blog postsoutlining the changes to the web platform and the Chrome Apps & Extensions APIs.
- Chrome Developer Relations: Chrome DevRel posts about new features on web.dev, Twitter (@ChromiumDev), andYouTube (Google Chrome Developers channel).
- chromestatus.com: A dashboard where we track new feature development.
- bit.ly/blinkintents: A Google Spreadsheet that lists all "Intent" threads and their approval status.
Developing
Learning about Blink Development
Blink is implemented on top of an abstract platform and thus cannot be run by itself. The Chromium Content module provides the implementation of this abstract platform required for running Blink.
- How Blink worksis a high-level overview of Blink architecture.
- Chromium Content module - Details on the abstract platform required to run Blink.
- Getting Started with Blink Debugging - Best practices on how to debug Blink (using Content Shell).
- Chromium Development - Guides and best practices for Chromium development
- YouTube (Chrome UniversityPlaylist) - Introductory lessons that cover the fundamental concepts for Chromium development.
Committing and reviewing code
Blink follows all standard Chromium practices, including those oncontributing codeand becoming a committer. Code living in_src/third_party/blink_follows the Blink Coding Style Guidelines.
Launching and Removing Features
- How we think about making changes to the platform
- Launching a Web Platform Feature
- Removing a Web Platform Feature
- (Video) Intent to Explain: Demystifying the Blink shipping process
Page Directory
Subpage Listing
- "Intent to {Implement,Ship}" Security Triage
- ActiveDOMObject
- Blink API OWNERS Requirements
- Blink Coding Style Guidelines
- Blink gardening
- Blink Networking APIs
- Blink post-merge FAQ
- Blink, Testing, and the W3C
- Blink-in-JavaScript
- Breaking changes
- Chromium Specification Mentors
- Component:Blink bug labeling rotation
- Deprecating Features
- Developer FAQ - Why Blink?
- Directory dependency in Blink (Still DRAFT)
- DOM Exceptions
- Garbage Collection for Blink C++ objects (a.k.a. Oilpan)
- Getting Started with Blink Debugging
- Guidelines and Policies
- Handling Blink failures
- How repaint works
- Launching Features
- LayoutNG
- Memory Team
- Origin Trials
- Public C++ API
- Runtime Enabled Features
- Service workers
- Slimming Paint (a.k.a. Redesigning Painting and Compositing)
- Unit Testing in Blink
- V8 Bindings, Promises
- Web IDL in Blink
- Web Platform Predictability
- Web Workers
- WebCrypto
- When will a fix ship in Chrome (stable or canary)?
- Working with web-platform-tests in blink