Bug 880735 part A - Add a .defaultFallbackType to plugins so that we can avoid re-implementing the ShouldPlay logic in the frontend code. r=johns
Bug 880735 part B - add .getPluginTagForType and make .getBlocklistStateForType scriptable, r=johns
Bug 880735 part C - Disabled plugins should be always disabled, site-specific permissions do not override them. I'm sorry for the churn from bug 875454. At least the logic is in one place and easy to fix! r=johns
Bug 883420 - Add an API to set a new expireTime for an existing permission, r=ehsan sr=mounir
Bug 880735 part E - Use the new permissionmanager.updateExpireTime method to make sure that plugin permissions are renewed properly, r=johns
Bug 880735 part D - New doorhanger frontend code. Removes all logic which shows the plugin doorhanger automatically, including on scripting. Always show the doorhanger when there is a plugin present on the page, even if that plugin is currently enabled. Make the "always" choices clear to the user. r=jaws
Bug 880735 part F - Remove extra functions, strings, and styles which are no longer needed, r=jaws
Bug 880735 test fixups:
* Add a test-only setter to the center-item XBL binding
* add a head.js function to remove plugin permissions for use in cleanup functions
* browser_pluginnotification.js - lots of fixes for the core feature tests
* Alter test_bug751809 not to assume that clicking the page overlay will directly activate the plugin
* Alter browser_CTP_plugins.js because disabled plugins now do show up in the plugin doorhanger
* remove browser_CTPScriptPlugin.js and supporting files because we no longer auto-pop based on scripting
* fix browser_CTP_drag_drop.js so that active plugins still show the doorhanger icon, and other fixup
* fix browser_bug743421.js to expect the doorhanger all the time and activate it correctly
* fix browser_bug752516.js to check for doorhanger activation instead of plugin activation
* remove browser_bug818009.js and supporting files because they are testing something that no longer exists
* alter browser_bug820497.js so that it shows the popup notification before checking .centerActions, since we populate that data lazily now
* browser_plugins_added_dynamically.js: remove the "activate all" tests which are no longer relevant and fix the rest to match the new doorhanger structure.
Bug 880735 part S - Basic styling so that this can land - add classes to the binding for styling hooks and fix space handling. Make the buttons fill the space, limit the doorhanger size, and add whitespace/separators for the multi-plugin UI, r=jaws