General Notes
This document covers all patches to the mozilla/toolkit, mozilla/chrome, mozilla/xulrunner and mozilla/storage hierarchies. For questions or concerns arising from this document, please direct questions to the dev-planning mailing list/newsgroup.
Review Rules
- Wherever possible, significant patches in a certain area should be reviewed by one of the listed sub-module owner/reviewers.
- Peers may grant review in any area covered by toolkit, 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.
- Sub-module peers may only grant review in the listed sub-module
- Significant UI changes should get 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 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. These bugs should have the in-testsuite- flag set.
Individuals and Roles
| Role | Name | Bugzilla Address | IRC nick |
|---|---|---|---|
| Toolkit Technical Lead | Benjamin Smedberg | benjamin@smedbergs.us | bsmedberg |
| UI Group | Mike Beltzner | beltnzer@mozilla.com | beltzner |
| Mike Connor | mconnor@mozilla.com | mconnor | |
| Peers | Mike Connor | mconnor@mozilla.com | mconnor |
| Neil Deakin | enndeakin@gmail.com | Enn | |
| Neil Rashbrook | neil@httl.net | Neil | |
| Asaf Romano | mano@mozilla.com | Mano | |
| Gavin Sharp | gavin.sharp@gmail.com | gavin | |
| Robert Strong | robert.bugzilla@gmail.com | rs | |
| Vladimir Vukicevic | vladimir@pobox.com | vlad | |
| Sub-module Peers | Dave Camp | dcamp@mozilla.com | campd |
| Tony Chang | tony@ponderer.org | ||
| Mark Finkle | mark.finkle@gmail.com | mfinkle | |
| Jim Mathies | jmathies@mozilla.com | jimm | |
| Ted Mielczarek | ted.mielczarek@gmail.com | ted | |
| Masayuki Nakano | masayuki@d-toybox.com | ||
| Robert Sayre | sayrer@gmail.com | sayrer | |
| Dave Townsend | dtownsend@mozilla.com | Mossop | |
| Shawn Wilsher | sdwilsh@forerunnerdesigns.com | sdwilsh |
Due to the large and diverse nature of code included in the toolkit module, we have divided responsibilities by sub-module, in order to spread the load appropriately and effectively. The owner or a peer may review patches anywhere in toolkit, provided they feel confident in their knowledge of the area in question.
| Sub-Module | Code covered | Owner | Other Reviewers |
|---|---|---|---|
| Toolkit bootstrapping and startup | toolkit/xre, toolkit/library, toolkit/profile, toolkit/components/startup, toolkit/components/commandlines, toolkit/components/remote, toolkit/components/build | Benjamin Smedberg | Rob Strong, Dave Townsend |
| Breakpad (crash reporter) | toolkit/crashreporter | Ted Mielczarek | Mark Mentovai, Benjamin Smedberg |
| Toolkit general UI bits | toolkit/content, toolkit/components
(for those not covered elsewhere) | Mike Connor | Neil Deakin, Neil Rashbrook, Asaf Romano |
| General Unit Testing | * | Robert Sayre | Benjamin Smedberg |
| Extension Manager | toolkit/mozapps/extensions | Dave Townsend | Rob Strong |
| Installer | toolkit/mozapps/installer | Rob Strong | Jim Mathies, Benjamin Smedberg |
| Find Toolbar | toolkit/components/typeaheadfind | Mike Connor | Masayuki Nakano, Asaf Romano |
| Locales | toolkit/locales
(build/packaging/policy stuff, en-US string approvals are ui-review fodder) | Axel Hecht | Benjamin Smedberg |
| Prefwindow | toolkit/content/widgets/preferences.xml, toolkit/mozapps/preferences | Mike Connor | Asaf Romano |
| Download Manager | toolkit/components/downloads, toolkit/mozapps/downloads | Shawn Wilsher | Edward Lee, Mike Connor, Christian Biesinger |
| Password Manager/Satchel | toolkit/components/passwordmgr, toolkit/components/satchel, | Asaf Romano | Justin Dolske, Mike Connor |
| Application Update | toolkit/mozapps/update | Rob Strong | Benjamin Smedberg |
| GNOME Integration bits | toolkit/components/gnome | Robert O'Callahan | |
| Chrome Registry | chrome | Benjamin Smedberg | Neil Rashbrook |
| XULRunner | xulrunner | Mark Finkle | Ted Mielczarek, Benjamin Smedberg |
| URL-classifier | toolkit/components/url-classifier | Tony Chang | Dave Camp |
Note: the code in toolkit/components/places is owned by the Firefox team. It lives in the toolkit/ directory so that it is correctly linked.