canmove, Confirmed users
1,448
edits
m (Formatting) |
(Cleaned up Feature Review section) |
||
| Line 218: | Line 218: | ||
= Step 4: Feature Review = | = Step 4: Feature Review = | ||
The last step in a review is to install and test the add-on. | The last step in a review is to install and test the add-on. This step is only necessary for an add-ons that are requesting Full Review. | ||
Add-ons are normally cross-platform, in which case there will only be a single file to review. If the add-on is offered for a limited number of platforms or has different files for different platforms, there will be individual links for each one in the Add-on History entry. In this case all supported platforms should be tested. | |||
Regarding application support, you don't need to test the add-on for all of them. If the add-on supports Firefox and others, it's OK to only test on Firefox. | |||
== Testing setup == | |||
* '''Always use a separate profile for testing''', never your main profile. See [https://developer.mozilla.org/en/Setting_up_extension_development_environment Setting up an extension development environment]. | |||
* Ideally you should perform your tests in a virtual machine. It is always useful in case you need to test in multiple platforms. [http://www.virtualbox.org/ VirtualBox] is free and works well. | |||
* The [https://addons.mozilla.org/addon/extension-test Extension Test add-on] helps detect loose variables and DOM IDs, prototype extension, dangerous category registration, and other difficult to spot problems. | |||
* Test with the Browser Console always open, and look for errors or log messages generated by the add-on. | |||
== Policies and actions == | == Policies and actions == | ||
{| width=" | {| width="80%" cellspacing="0" cellpadding="1" border="0" | ||
|- | |- | ||
! style="border-bottom: 2px solid black" scope="col" | Issue | ! style="border-bottom: 2px solid black" scope="col" | Issue | ||
| Line 250: | Line 239: | ||
! style="border-bottom: 2px solid black" scope="col" | Notes | ! style="border-bottom: 2px solid black" scope="col" | Notes | ||
|- style="vertical-align: top;" id="security-violations" | |- style="vertical-align: top;" id="security-violations" | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Security violations | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Security violations. | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Reject | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Reject | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Adding HTTP content to | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Adding HTTP content to HTTPS pages. If the add-on injects content like iframes or images, make sure to visit HTTPS sites the add-on supports and look for any security warnings in the URL bar. | ||
|- style="vertical-align: top;" id="no-surprises-violations" | |- style="vertical-align: top;" id="no-surprises-violations" | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | [https://addons.mozilla.org/en-US/developers/docs/policies/reviews#section-defaults No Surprises] violation | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | [https://addons.mozilla.org/en-US/developers/docs/policies/reviews#section-defaults No Surprises] violation | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary review | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Changing homepage, default search provider, including unexpected ads or content changes without explicit user opt-in. | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Changing homepage, default search provider, including unexpected ads or content changes without explicit user opt-in. | ||
|- style="vertical-align: top;" id="privacy-violations" | |- style="vertical-align: top;" id="privacy-violations" | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Privacy violations | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Privacy violations. | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary review | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Incorrect or insufficient privacy policies, not respecting Private Mode. | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Incorrect or insufficient privacy policies, not respecting Private Browsing Mode. | ||
|- style="vertical-align: top;" id="modal-startup" | |- style="vertical-align: top;" id="modal-startup" | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Showing a modal dialog at startup | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Showing a modal dialog at startup. | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary review | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Opening modal (blocking) dialogs at startup is not allowed. Non-modal dialogs, separate windows or new tabs are allowed. | ||
|- style="vertical-align: top;" id="errors" | |- style="vertical-align: top;" id="errors" | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Errors in the | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Errors in the Browser Console. | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary review | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Make sure the errors only occur with the add-on installed and are generated from add-on code and not Firefox code. In the latter case, it should only be noted. | ||
|- style="vertical-align: top;" id="confusing" | |- style="vertical-align: top;" id="confusing" | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Add-on is very hard to use | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Add-on is very hard to use even with instructions. | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary review | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | If the | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | If the testing instructions are missing, use Request more information. If even then it is too hard to use, give Preliminary review. | ||
|- style="vertical-align: top;" id="sticky-toolbar-buttons" | |- style="vertical-align: top;" id="sticky-toolbar-buttons" | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Toolbar buttons are not customizable | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Toolbar buttons are not customizable. | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary review | |||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | It must be possible to remove add-on buttons from the toolbar and move them to the menu panel. | |||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary | |||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | | |||
|- style="vertical-align: top;" id="affiliate" | |- style="vertical-align: top;" id="affiliate" | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Affiliate linking | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Affiliate linking. | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary review | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Some add-ons add affiliate codes to Amazon links (or similar) in order to make money. At the moment we allow this as long as (1) the add-on follows the No Surprises policy, (2) the feature doesn't replace or remove any existing affiliate codes, (3) the affiliate codes aren't inserted in the merchant website's links (inserting Amazon affiliate codes in Amazon.com pages). | ||
|- style="vertical-align: top;" id="third-party-software" | |- style="vertical-align: top;" id="third-party-software" | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Requires third party software or paid registration | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Requires third party software or paid registration. | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Admin Review | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Admin Review | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | | ||
|- style="vertical-align: top;" id="content-ads" | |- style="vertical-align: top;" id="content-ads" | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Inserts ads into content | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Inserts ads into content. | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Admin Review | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Admin Review | ||
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | The rules in these cases are complex. They need to be clearly labeled as coming from the add-on (otherwise Prelim). They can't remove or replace existing ads (otherwise Reject). They need to follow No Surprises (otherwise Prelim). And there are also security concerns (Reject) and privacy concerns (Prelim). | | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | The rules in these cases are complex. They need to be clearly labeled as coming from the add-on (otherwise Prelim). They can't remove or replace existing ads (otherwise Reject). They need to follow No Surprises (otherwise Prelim). And there are also security concerns (Reject) and privacy concerns (Prelim). | ||
|} | |} | ||
Other tests to perform: | Other tests to perform: | ||
*Test all add-on features, within reason. If there too many, focus on the main features. | *Test all add-on features, within reason. If there too many, focus on the main features. | ||
*Remove all added toolbar buttons, disable all added toolbars, and restart the browser. Make sure that buttons and toolbars are all removable and do not reappear on restart. Make sure that missing toolbar buttons to not cause errors to appear in the Error Console. | *Remove all added toolbar buttons, disable all added toolbars, and restart the browser. Make sure that buttons and toolbars are all removable and do not reappear on restart. Make sure that missing toolbar buttons to not cause errors to appear in the Error Console. | ||
*Open the Customize Toolbar dialog and make sure that all buttons have appropriate icons and label text. | *Open the Customize Toolbar dialog and make sure that all buttons have appropriate icons and label text. | ||
* | *Open the add-on's preferences window, from the Add-ons Manager and elsewhere, and verify that preference changes apply properly. Make sure the window fits all of its contents (a common problem in Mac OS). | ||
= Step 5: Resolution = | = Step 5: Resolution = | ||