Firefox/Projects/Improve Plugin Find and Install
Sprint lead: Mossop
- 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.
- Offer plugin updates in the add-ons manager or blocklist notification
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.
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
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.
installer_location is present then Firefox will simply open the page in the