General Notes
This document covers all patches to the mozilla/toolkit, mozilla/chrome, and mozilla/xulrunner hierarchies. For questions or concerns arising from this document, please direct questions to the dev-planning mailing list/newsgroup.
Code in the mozilla/browser hierarchy is covered by the Firefox reviewers.
Review Rules
- Unless there are extenuating circumstances, 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.
- Super-review is now required where required by the mozilla.org super-review policy.
- 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. 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 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 |
|---|---|---|---|
| Module Owner | Dave Townsend | dtownsend@oxymoronical.com | Mossop |
| UI Group | Mike Beltzner | beltzner@mozilla.com | beltzner |
| Alex Faaborg | faaborg@mozilla.com | faaborg | |
| 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 | |
| Benjamin Smedberg | benjamin@smedbergs.us | bsmedberg | |
| Robert Strong | robert.bugzilla@gmail.com | rs | |
| Vladimir Vukicevic | vladimir@pobox.com | vlad |
Due to the large and diverse nature of code included in the toolkit module, we have divided large parts of the module up into sub-modules with ownership delegated in order to spread the load appropriately and effectively. The owner or a peer may review patches in the sub-module, 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 |
| Chrome Registry | chrome | Benjamin Smedberg | Neil Rashbrook, Dave Townsend |
| Breakpad (crash reporter) | toolkit/crashreporter | Ted Mielczarek | Benjamin Smedberg, Mark Mentovai |
| XUL Language | toolkit/content, toolkit/components/autocomplete | Neil Deakin | Neil Rashbrook, Asaf Romano |
| Add-ons | toolkit/mozapps/extensions, toolkit/mozapps/xpinstall, toolkit/mozapps/plugins | Dave Townsend | Rob Strong |
| Installer | toolkit/mozapps/installer | Rob Strong | Jim Mathies |
| Application Update | toolkit/mozapps/update | Rob Strong | Dave Townsend |
| Download Manager | toolkit/components/downloads, toolkit/mozapps/downloads | Shawn Wilsher | Edward Lee |
| Password Manager/Satchel | toolkit/components/passwordmgr, toolkit/components/satchel, | Justin Dolske | Paul O'Shannessy |
| XULRunner | xulrunner | Mark Finkle | Benjamin Smedberg, Ted Mielczarek |
| Themes | toolkit/themes | Dão Gottwald | Ryan Flint, Gavin Sharp |
| Locales (build/packaging only) | toolkit/locales | Axel Hecht | Benjamin Smedberg |
In addition a large number of small components and other pieces are loosely owned and should preferably be reveiwed by the following people:
| Code Covered | Main Reviewer | other Reviewers |
|---|---|---|
| toolkit/components/aboutmemory | Vladimir Vukicevic | |
| toolkit/components/apppicker | Jim Mathies | |
| toolkit/components/alerts | Shawn Wilsher | |
| toolkit/components/console | ||
| toolkit/components/contentprefs | Myk Melez | |
| toolkit/components/cookie | Mike Connor | |
| toolkit/components/exthelper | Mark Finkle | Joey Minta, John Resig |
| toolkit/components/faststart | Vladimir Vukicevic | |
| toolkit/components/feeds | Robert Sayre | |
| toolkit/components/filepicker | ||
| toolkit/components/help | ||
| toolkit/components/microformats | Mike Kaply | Robert Sayre |
| toolkit/components/parentalcontrols | Jim Mathies | |
| toolkit/components/printing | Neil Rashbrook | |
| toolkit/components/search | Ryan Flint | Gavin Sharp, Mike Connor |
| toolkit/components/url-classifier | David Dahl | Brian Ryner |
| toolkit/components/urlformatter | Dietrich Ayala | Mike Connor |
| toolkit/components/viewconfig | ||
| toolkit/components/viewsource | ||
| toolkit/components/typeaheadfind | Mike Connor | Masayuki Nakano, Asaf Romano |
| toolkit/mozapps/handling | Shawn Wilsher | |
| toolkit/mozapps/preferences | Mike Connor | Asaf Romano |
| toolkit/mozapps/shared | Rob Strong | Dave Townsend |
| toolkit/obsolete | ||
| toolkit/spatial-navigation | Doug Turner | |
| toolkit/system/dbus | Karl Tomlinson | |
| toolkit/system/gnome | Karl Tomlinson | |
| toolkit/system/osxproxy | Josh Aas | |
| toolkit/system/unixproxy | Karl Tomlinson | |
| toolkit/system/windowsproxy | Jim Mathies |
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.