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.
  • 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