Changes

Jump to: navigation, search

Add-ons/Reviewers/Guide/Reviewing

3,070 bytes removed, 19:45, 21 January 2015
Cleaned up Feature Review section
= Step 4: Feature Review =
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.
== Testing setup ==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.
These are a few settings and tools Regarding application support, you should use or consider using when setting up your don't need to test the add-on for all of them. If the add-on testing environment: supports Firefox and others, it's OK to only test on Firefox.
*'''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 supports most platforms. *Enable full Error Console reporting, as described in [https://developer.mozilla.org/en/Setting_up_extension_development_environment#Development_preferences the Development Preferences section]. *These add-ons help you inspect add-on behavior and find possible solutions for problems: **[https://addons.mozilla.org/en-US/firefox/addon/6622 DOM Inspector]. Analyze XUL and HTML layout, CSS and even JS objects. **[https://addons.mozilla.org/en-US/firefox/addon/1815 Console<sup>2</sup>] for detailed Console logging. **[https://addons.mozilla.org/en-US/firefox/addon/966 Tamper Data] or [https://addons.mozilla.org/en-US/firefox/addon/3829 Live HTTP Headers] for HTTP traffic analysis. **[https://addons.mozilla.org/en-US/firefox/addon/2490 Leak Monitor] to detect some types of memory leak. See [https://wiki.mozilla.org/MozillaQualityAssurance:Home_Page:Firefox_3.0_TestPlan:Leaks:LeakTesting-How-To#Leak_Gauge Leak Gauge] for a more general solution. **[https://addons.mozilla.org/en-US/firefox/addon/extension-test Extension Test] to detect loose variables and DOM IDs, prototype extension, dangerous category registration, and other difficult to spot problems. Also automatically sets the required dom.report_all_js_exceptions and javascript.options.showInConsole preferences.*To test Fennec add-ons, you'll need to [https://wiki.mozilla.org/Fennec#Test_Builds install Fennec]. It is preferred that you test in a supported mobile device. If a Fennec nomination has been waiting for long, it's OK to test with the desktop XULRunner application. *For online malware scanning, you can use [http://www.virustotal.com/ Virus Total], [http://www.kaspersky.com/scanforvirus Kaspersky online scan] and [http://virusscan.jotti.org Jotti online scan]. AMO performs virus checks, and binary add-ons should be admin-reviewed anyway, but if you suspect anything, those are good tools to use.== Testing setup ==
== Installing and * '''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].  Add-ons are normally cross-platform, so there will only be * Ideally you should perform your tests in a single file to review, in the same section where the validator and source links are locatedvirtual machine. If the add-on It is offered for a limited number of platforms, there will be individual links for each one of them. In this always useful in case all supported platforms should be tested.  Regarding applications, you don't need to test the add-on for all applications it supportsin multiple platforms. [http://www.virtualbox. If the add-on supports Firefox org/ VirtualBox] is free and others, it's OK to only test on Firefox. If, however, an add-on update introduces Fennec or other application support, the add-on should be tested on itworks well. * The applications we support for reviews are listed on [https://addons.mozilla.org/enaddon/extension-test Extension Test add-US/firefox/pages/appversions this pageon]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 ==
{| width="70080%" cellspacing="0" cellpadding="1" border="0"
|-
! style="border-bottom: 2px solid black" scope="col" | Issue
! style="border-bottom: 2px solid black" scope="col" | Notes
|- 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;" | Reject
| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Adding HTTP content to secure HTTPS pages. Visit HTTPS sites If the add-on injects content like addons.mozilla.org and iframes or images, make sure to visit HTTPS sites the identity button is unchanged. This is specially important for add-ons that insert scripts into sites. [[Image:Identity-buttonon supports and look for any security warnings in the URL bar.png|center|Identity button]]  
|- 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;" | Preliminary Review 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="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;" | Preliminary Review review | 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="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 Review review | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Many add-ons open dialogs or new tabs at startup, mostly offering information on getting started. This is useful, but it shouldn't block the user from using the browser. 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="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Errors in the Error Browser Console .| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary Review review | 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="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Add-on is very hard to use without even with instructions .| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary Review review | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | If the add-on testing instructions are missing, use Request more information. If even then it is difficult too hard to use, there should be instructions included in the add-on descriptions, or in a startup page or windowgive Preliminary review.
|- 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;" | Preliminary Review | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | |- style="vertical-align: top;" id="leaks"| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Memory leaks from content or chrome| style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary Review review | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | If an add-on touches the content in any way, we need It must be possible to test the remove add-on on a page where it works, close buttons from the page, toolbar and then look in about:memory?verbose. Remaining compartments related move them to the page indicate a memory leak. After disabling the add-on (and minimizing memory usage) the add-on should no longer use any memory. If it does, it leaks to chrome. More details [https://developer.mozilla.org/en/Extensions/Performance_best_practices_in_extensions#Avoid_Creating_Memory_Leaks here] and[https://developer.mozilla.org/en/Zombie_Compartments#Proactive_checking_of_add-ons here]menu panel.
|- 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;" | Preliminary Review review | style="padding: .5ex 1ex 1ex 0; border-bottom: 1px solid black;" | See details belowSome 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="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;" | This excludes add-ons that require other add-ons to function, like Firebug extensions.
|- 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;" | 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).
|}
Other tests to perform:
*Visit a very simple website like example.org and inspect its DOM, looking for any changes. Again, this is particularly important for extensions that insert scripts or make DOM changes.
*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).
*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.
*Open the Customize Toolbar dialog and make sure that all buttons have appropriate icons and label text.
*Affiliate linking. 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) Open the add-on follows the No Surprises policy's preferences window, (2) from the feature doesn't replace or remove any existing affiliate codesAdd-ons Manager and elsewhere, (3) the affiliate codes aren't inserted in and verify that preference changes apply properly. Make sure the merchant website's links window fits all of its contents (inserting Amazon affiliate codes a common problem in Amazon.com pagesMac OS).
= Step 5: Resolution =
Canmove, confirm
1,448
edits

Navigation menu