General Notes
This document covers all patches to the mozilla/browser hierarchy. For questions or concerns arising from this document, please direct questions to the dev-planning mailing list/newsgroup.
Review Rules
- Wherever possible, patches should be reviewed by the sub-module owner or additional reviewers. The reviewers are listed in preferred order, please try to follow that order.
- Peers may grant review in any area, provided they feel confident in their knowledge of the code being changed.
- One review is sufficient in most cases. If the first reviewer feels that the patch would benefit from additional reviews, they should request a second review from an appropriate person.
- Super-review is now required where required by the mozilla.org super-review policy.
- Members may only grant review in areas they are listed as reviewers.
- User interface & experience changes must have ui-review from someone in the UI group, along with code review.
Unit-Test Rules
- All patches must include unit tests which are run during make check. Once unit tests are committed, the in-testsuite+ flag should be set on the bug.
- Unit tests must be included in patches and reviewed just like any other code.
- If running the test during make check is not possible, consult with Robert Sayre (sayrer) to determine whether another test system is available.
- If a unit test framework is needed but is not yet available, the developer should write appropriate test code and commit it. A bug should be filed on the needed test framework. The in-testsuite? flag should be set on the bug until the framework has been completed and the test code is running automatically.
- Certain build-config or tooling bugs which don't affect the actual product cannot be usefully tested. Additionally, there are many trivial and obvious fixes (typos, theme CSS changes, etc) that fall into this category. These bugs should have the in-testsuite- flag set.
Individuals and Roles
| Module Owner | Mike Connor |
|---|---|
| Peers | Gavin Sharp, Vladimir Vukićević |
| UI Group | Mike Beltzner, Alex Faaborg |
| Members | Dietrich Ayala, Ehsan Akhgari Simon Bünzli, Tony Chang, Ryan Flint, Dão Gottwald, Jim Mathies, Johnathan Nightingale, Asaf Romano, Robert Sayre, Benjamin Smedberg, Robert Strong, Shawn Wilsher |
Sub-Modules
| Sub-Module | Code covered | Owner | Other Reviewers |
|---|---|---|---|
| General UI bits | browser/base/content, browser/components (for those not covered elsewhere) |
Gavin Sharp | Dão Gottwald, Asaf Romano, Mike Connor |
| Build & Startup bits | browser/app browser/components/nsBrowserContentHandler.js |
Benjamin Smedberg | Mike Connor, Asaf Romano, Gavin Sharp |
| Feed Preview | browser/components/feeds | Asaf Romano | Gavin Sharp, Robert Sayre |
| Installer | browser/installer | Robert Strong | Jim Mathies, Benjamin Smedberg |
| Places | browser/components/places browser/components/microsummaries and places-related code in browser/base/content |
Dietrich Ayala | Marco Bonardo, Asaf Romano, Shawn Wilsher |
| Preferences Window | browser/components/preferences | Gavin Sharp | Dão Gottwald, Robert Strong, Asaf Romano |
| Private Browsing | browser/components/privatebrowsing | Ehsan Akhgari | Mike Connor |
| Profile Migrators | browser/components/migration | Gavin Sharp | Mike Connor, Asaf Romano |
| Safe Browsing | browser/components/safebrowsing | Tony Chang | Johnathan Nightingale, Gavin Sharp |
| Search | browser/components/search | Ryan Flint | Gavin Sharp, Mike Connor |
| Security UI | browser/components/certerror and SSL/security/privacy-related code in browser/base/content |
Johnathan Nightingale | Gavin Sharp, Mike Connor |
| Session Restore | browser/components/sessionstore | Dietrich Ayala | Simon Bünzli, Asaf Romano, Gavin Sharp |
| Shell Service | browser/components/shell | Asaf Romano | Robert Strong, Mike Connor, Gavin Sharp |
| Themes | browser/themes | Dão Gottwald | Ryan Flint, Gavin Sharp |