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.