Firefox/Projects/Improve Plugin Find and Install
Overview
Sprint lead: Mossop
Sprinters: boriss
- Description
- When encountering a blocked or missing plugin, give the user a button to push that will download and run the plugin installer so they can see their content.
Goals / Use Cases
- Firefox 3.5
- Fix PFS to be able to download and run installers
- Firefox Next
- Remove the current PFS UI.
- When an unknown/blocked plugin is present in the page offer the user a new version to install.
- Allow users to disable prompts for specific plugins.
Non Goals
- Offer plugin updates in the add-ons manager or blocklist notification
Design
When the user visits a site containing an unknown/blocklisted plugin we will display a notification bar saying that Firefox is looking for a plugin to use for the content. At this point it will send details to the PFS webservice of what application is looking for a plugin and what mimetype it is trying to display. The PFS webservice will give either no results or an install link.
When an install is available Firefox will update the notification bar to say that "Flash 9.0 is available" and give an install button. The install button can either open a new webpage for installs requiring EULAs etc. or start download of an installer which will be executed after download is complete.
When an install is not available Firefox will update the notification bar to say as much.
Installation Steps
When the pfs gives us a result for a mimetype search and the user agrees to the install Firefox will perform the following steps:
If there is an xpi_location
specified then Firefox will attempt to install that file as a regular extension.
If there is an installer_location
specified then Firefox will attempt to run that as a standard executable.
In both of the previous cases the location must either be on a https server or a hash must be given (as xpi_hash
or installer_hash
). After the executable has completed or the xpi install is finished if the property needs_restart
is true then the user will be asked to restart Firefox. Otherwise the webpage that triggered the search will be reloaded.
If neither xpi_location
or installer_location
is present then Firefox will simply open the page in the url
property.
Bugs
- bug 430853 - Improve PFS user experience
- PFS2 JSON