Bug 1196000: Hotfix to disable async plugin init in Firefox 40; r=felipe
--- a/README
+++ b/README
@@ -43,8 +43,10 @@ v20150106.01 - Bug 1113222 - copies the
for Firefox 34.0.5 - 35 on all platforms.
v20150225.01 - Bug 1136150 - Attempts to remove the Superfish root on Firefox
10-38 on Windows.
v20150311.01 - Bug 1142228 - Republish v20150225.01 removing the targetPlatform=WINNT, so
that the hotfix can update and uninstall itself from Linux/Mac users
(installed due to bug 1138742). Published to all platforms, 10-38.
v20150402.01 - Bug 1148328 - hotfix to disable http/2-OE. Published to all platforms,
35.0 - 37.0.
+v20150818.01 - Bug 1196000 - hotfix to disable async plugin init. Published to
+ all platforms, 40.*
copy from v20150402.01/bootstrap.js
copy to v20150818.01/bootstrap.js
--- a/v20150402.01/bootstrap.js
+++ b/v20150818.01/bootstrap.js
@@ -21,22 +21,18 @@ function install(data, reason) {
function startup(data, reason) {
if (!shouldHotfixApp()) {
uninstallHotfix(data);
return;
}
try {
- // Disable prefs for HTTP/2 opportunistic encryption
- // (including Fx35 typo'd versions)
- Services.prefs.setBoolPref("network.http.atsvc.enabled", false);
- Services.prefs.setBoolPref("network.http.atsvc.oe", false);
- Services.prefs.setBoolPref("network.http.altsvc.enabled", false);
- Services.prefs.setBoolPref("network.http.altsvc.oe", false);
+ // Disable prefs for Asynchronous Plugin Initialization
+ Services.prefs.setBoolPref("dom.ipc.plugins.asyncInit", false);
Services.prefs.savePrefFile(null);
} catch (ex) {
Cu.reportError(ex);
}
// This hotfix should always be uninstalled.
uninstallHotfix(data);
}
@@ -45,19 +41,18 @@ function shutdown(data, reason) { }
function uninstall(data, reason) { }
/**
* @return boolean whether the hotfix applies to the application.
*/
function shouldHotfixApp() {
// Ensure that this is the correct version in case compatibility checking is overridden.
- // (note: 37.0 rather than .* because 37.0.1 shipped this fix)
- if (Services.vc.compare(Services.appinfo.version, "35.0") < 0 ||
- Services.vc.compare(Services.appinfo.version, "37.0") > 0) {
+ if (Services.vc.compare(Services.appinfo.version, "40.0") < 0 ||
+ Services.vc.compare(Services.appinfo.version, "40.*") > 0) {
return false;
}
return true;
}
function uninstallHotfix(data) {
AddonManager.getAddonByID(data.id, function(addon) {
copy from v20150402.01/chrome.manifest
copy to v20150818.01/chrome.manifest
copy from v20150402.01/install.rdf
copy to v20150818.01/install.rdf
--- a/v20150402.01/install.rdf
+++ b/v20150818.01/install.rdf
@@ -1,26 +1,26 @@
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>firefox-hotfix@mozilla.org</em:id>
- <em:version>20150402.01</em:version>
+ <em:version>20150818.01</em:version>
<em:bootstrap>true</em:bootstrap>
<em:strictCompatibility>true</em:strictCompatibility>
- <em:name>Firefox Alt-Svc Store Hotfix</em:name>
- <em:description>Disables the HTTP/2 opportunistic encryption feature</em:description>
+ <em:name>Firefox Asynchronous Plugin Initialization Hotfix</em:name>
+ <em:description>Disables the Asynchronous Plugin Initialization feature</em:description>
<em:creator>Mozilla</em:creator>
<em:targetApplication>
<Description>
<!-- Firefox -->
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
- <em:minVersion>35.0</em:minVersion>
- <em:maxVersion>37.0</em:maxVersion>
+ <em:minVersion>40.0</em:minVersion>
+ <em:maxVersion>40.0.*</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF>