Blog
The Chromium Chronicle #33: Views AnimationBuilder
Using layer based animations in Views can improve performance and reduce jankiness, but they're rather difficult to set up. The AnimationBuilder classes can vastly reduce complexity and improve readability for layer animations. Suppose you needed to
- Blog
- C++
- Chrome
April 13, 2023
The Chromium Chronicle #32: Mind the patch gap
Learn how Chromium developers can reduce the chance of n-day exploitation.
- Blog
- Chrome
February 3, 2023
The Chromium Chronicle #28: Getting started with Chrome on iOS
Learn how to work with the code behind Chrome's iOS app.
- Blog
- Chrome
February 1, 2022
The Chromium Chronicle #25: Thread Safety Annotations
Learn how Clang's static analysis framework takes over the toil of thread-safety proofs.
- Blog
- C++
- Chrome
October 4, 2021
The Chromium Chronicle #24: StrongAlias, IdType, and TokenType
The same type may sometimes represent values from incompatible domains, which can cause bugs. Fortunately, Chromium's //base makes it easy to introduce explicit, distinct types.
- Blog
- C++
- Chrome
August 26, 2021
The Chromium Chronicle #23: Verified builds in Chrome Infra
Implementing a policy enforcement check for Chrome and the infrastructure has enabled us to verify that certain minimum standards for security are met.
- Blog
- Python
- Chrome
July 28, 2021
The Chromium Chronicle #22: Know Thy (Depot) Tools
Depot Tools is a collection of tools built on top of Git to simplify the workflow of developers contributing to the Chromium codebase and related projects.
- Blog
- Chrome
June 28, 2021
The Chromium Chronicle #21: ChromeOS End-to-end UI Automation
Tast is a new UI library has been created that uses the Chrome a11y (accessibility) tree to control the ChromeOS UI. The library enables developers to easily create End-to-end tests against any visible UI surface.
- A11y
- Blog
- Go
- Chrome
May 27, 2021
The Chromium Chronicle #20: Benchmarking Test Harnesses
Adding benchmarks is an easy way to prevent performance regressions and help improve performance.
- Blog
- Chrome
April 30, 2021
The Chromium Chronicle #19: Faster Development with CLion
CLion IDE makes it possible to navigate across symbols, search the codebase, and more.
- Blog
- Chrome
March 30, 2021
The Chromium Chronicle #18: Chromium Code Coverage
Test coverage measures how much source code is executed when a particular test suite runs.
- Blog
- Chrome
February 22, 2021
The Chromium Chronicle #17: Browser Test Mixins
When writing a browser test, you often want to programmatically perform setup actions that the user could do manually. To help you do this, mixins are a suite of tools for performing non-trivial browser test setup in a reusable way.
- Blog
- C++
- Chrome
January 26, 2021
The Chromium Chronicle #16: Updating Google Apps on Desktop
Ever wondered how Chrome keeps itself up-to-date on your desktop? Or how updates are served to Chromebooks, Chromecast, or Android?
- Blog
- Chrome
January 11, 2021
The Chromium Chronicle #15: Restricting Target Visibility
In Chromium, it's common to find code written for one component that would be useful elsewhere, but might have hidden restrictions. For safety, limit external access to dangerous functionality by restricting target visibility.
- Blog
- C++
- Chrome
November 30, 2020
The Chromium Chronicle #14: Adding Tests to the Waterfall
Want to detect regressions for your new feature in Chrome? Add your tests to the waterfall, Chrome's continuous build and test infrastructure!
- Blog
- Chrome
October 30, 2020
The Chromium Chronicle #13: Time-Travel Debugging with RR
Do you find yourself running the same test over and over in the debugger, trying to figure out how the code got in a bad state? We have a tool for you! RR will record an execution trace, making it easy to step backwards, run backwards, see where variables changed their value or when a function was last called on an object.
- Blog
- Chrome
March 18, 2020
The Chromium Chronicle #10: Catching UI Regressions with Pixel Tests
Chrome's testing strategy relies heavily on automated functional correctness tests and manual testing, but neither of these reliably catch minor UI regressions. Use pixel tests to automate testing your desktop browser UI.
- Blog
- C++
- Chrome
February 5, 2020
The Chromium Chronicle #9: ClusterFuzz
You may find you are asked to fix high-priority security bugs discovered by ClusterFuzz. What is it? Should you take those bugs seriously? How can you help?
- Blog
- C++
- Chrome
December 13, 2019
The Chromium Chronicle #8: GWP-ASan: Detect bugs in the wild
GWP-ASan is a heap-only memory error detector designed to be used in the wild. It detects use-after-frees, buffer overflows/underflows, and double frees. Unlike ASan, it does not detect errors on the stack or in globals.
- Blog
- Chrome
November 26, 2019
The Chromium Chronicle #7: Preprocessing Source
Compiling a single Chromium source file by hand can help developers experiment with compiler optimization options, understand subtle macro details, or minimize a compiler bug. This month, we take a look at how to preprocess source.
- Blog
- Chrome
October 24, 2019
The Chromium Chronicle #6: Monorail's Grid View
Chrome's issue tracker, Monorail, offers a grid view that allows you to visualize your issues in a Kanban style board. This episode explains how to use the grid mode.
- Blog
- Chrome
September 24, 2019
The Chromium Chronicle #5: Coding Outside the Sandbox
All code has bugs. The Chrome Browser process has no sandbox, meaning those bugs could give malcious code full access to the whole device. This episode explains the dos and don'ts of coding without a sandbox.
- Blog
- Chrome
August 27, 2019
The Chromium Chronicle #4: Test your Web Platform Features with WPT
Web Platform tests (WPT) are the preferred way to test web-exposed features, as they are shared with other browsers via GitHub. This month, we take a look at WPT best practices.
- Blog
- HTML
- JavaScript
- Chrome
July 30, 2019
The Chromium Chronicle #3: Code Coverage in Gerrit
Tests are critical because they find bugs and regressions, enforce better designs and make code easier to maintain. This month, we take a look at how to conduct thorough tests with Gerrit.
- Blog
- Chrome
June 24, 2019
The Chromium Chronicle #2: Fighting Test Flakiness
Flaky tests are a common problem in Chrome. They impact the productivity of other developers, and get disabled over time. This month, we take a look at how to fight test flakiness.
- Blog
- C++
- Chrome
May 21, 2019
The Chromium Chronicle #1: Task Scheduling Best Practices
The Chrome team is proud to introduce the Chromium Chronicle, a monthly series geared specifically to Chromium developers - the developers who build the browser. This month, we take a look at task scheduling best practices.
- Blog
- C++
- Chrome
April 16, 2019