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
Toolkit Technical Lead | Benjamin Smedberg (bsmedberg) |
---|---|
UI Group | Mike Beltzner (beltzner), Mike Connor (mconnor) |
Peers | Mike Connor (mconnor), Neil Deakin (enndeakin), Scott MacGregor (mscott), Neil Rashbrook (Neil), Asaf Romano (Mano), Gavin Sharp (gavin), Robert Strong (rstrong), Vladimir Vukicevic (vlad) |
Sub-module Peers | Mark Finkle (mfinkle), Ted Mielczarek (luser), Masayuki Nakano, Robert Sayre (sayrer), Seth Spitzer (sspitzer), Dave Townsend (Mossop), Shawn Wilsher (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 | Darin Fisher |
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 | Rob Strong | Dave Townsend |
Installer | toolkit/mozapps/installer | Rob Strong | Benjamin Smedberg, Seth Spitzer |
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 |
Software Update | toolkit/mozapps/update | Seth Spitzer | Benjamin Smedberg, Rob Strong |
GNOME Integration bits | toolkit/components/gnome | Robert O'Callahan | |
Chrome Registry | chrome | Benjamin Smedberg | Neil Rashbrook |
Storage | storage | Shawn Wilsher | Vladimir Vukicevic, Mike Shaver |
XULRunner | xulrunner | Benjamin Smedberg | Mark Finkle, Ted Mielczarek |
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.