diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2015-07-16 06:05:59 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2015-07-16 06:05:59 +0000 |
commit | ef0a0c91f153782cd38b84d14147dfa8cef8337f (patch) | |
tree | caa550e9c6de6d456de3b7c58dd8a734b5352b71 /www/firefox-esr/files/patch-system-openh264 | |
parent | Revert 392050 (diff) |
- Update NSS and ca_root_nss to 3.19.2
- Update Firefox and gmp-api to 39.0
- Update Firefox ESR and libxul to 38.1.0
Changes: https://developer.mozilla.org/docs/Mozilla/Projects/NSS/NSS_3.19.2_release_notes
Changes: https://www.mozilla.org/firefox/39.0/releasenotes/
Changes: https://www.mozilla.org/firefox/38.1.0/releasenotes/
MFH: 2015Q3
Security: https://vuxml.freebsd.org/freebsd/44d9daee-940c-4179-86bb-6e3ffd617869.html
Notes
Notes:
svn path=/head/; revision=392273
Diffstat (limited to 'www/firefox-esr/files/patch-system-openh264')
-rw-r--r-- | www/firefox-esr/files/patch-system-openh264 | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/www/firefox-esr/files/patch-system-openh264 b/www/firefox-esr/files/patch-system-openh264 new file mode 100644 index 000000000000..e694b28f436e --- /dev/null +++ b/www/firefox-esr/files/patch-system-openh264 @@ -0,0 +1,239 @@ +# Revert bug 1045209 to allow using absolute path + +diff --git dom/media/gmp/GMPChild.cpp dom/media/gmp/GMPChild.cpp +index 1dde3ac..12c88cf 100644 +--- dom/media/gmp/GMPChild.cpp ++++ dom/media/gmp/GMPChild.cpp +@@ -76,21 +76,14 @@ GetFileBase(const std::string& aPluginPa + } + #endif + +- nsCOMPtr<nsIFile> parent; +- rv = aFileBase->GetParent(getter_AddRefs(parent)); +- if (NS_FAILED(rv)) { +- return false; +- } +- +- nsAutoString parentLeafName; +- rv = parent->GetLeafName(parentLeafName); +- if (NS_FAILED(rv)) { ++ nsAutoString leafName; ++ if (NS_FAILED(aFileBase->GetLeafName(leafName))) { + return false; + } + +- aBaseName = Substring(parentLeafName, ++ aBaseName = Substring(leafName, + 4, +- parentLeafName.Length() - 1); ++ leafName.Length() - 1); + return true; + } + +diff --git dom/media/gmp/GMPParent.cpp dom/media/gmp/GMPParent.cpp +index aa60acf..90878ca 100644 +--- dom/media/gmp/GMPParent.cpp ++++ dom/media/gmp/GMPParent.cpp +@@ -90,23 +90,16 @@ + mService = aService; + mDirectory = aPluginDir; + +- // aPluginDir is <profile-dir>/<gmp-plugin-id>/<version> +- // where <gmp-plugin-id> should be gmp-gmpopenh264 +- nsCOMPtr<nsIFile> parent; +- nsresult rv = aPluginDir->GetParent(getter_AddRefs(parent)); +- if (NS_FAILED(rv)) { +- return rv; +- } +- nsAutoString parentLeafName; +- rv = parent->GetLeafName(parentLeafName); ++ nsAutoString leafname; ++ nsresult rv = aPluginDir->GetLeafName(leafname); + if (NS_FAILED(rv)) { + return rv; + } + LOGD(("%s::%s: %p for %s", __CLASS__, __FUNCTION__, this, +- NS_LossyConvertUTF16toASCII(parentLeafName).get())); ++ NS_LossyConvertUTF16toASCII(leafname).get())); + +- MOZ_ASSERT(parentLeafName.Length() > 4); +- mName = Substring(parentLeafName, 4); ++ MOZ_ASSERT(leafname.Length() > 4); ++ mName = Substring(leafname, 4); + + return ReadGMPMetaData(); + } +diff --git toolkit/modules/GMPInstallManager.jsm toolkit/modules/GMPInstallManager.jsm +index 9593492..470384b 100644 +--- toolkit/modules/GMPInstallManager.jsm ++++ toolkit/modules/GMPInstallManager.jsm +@@ -888,9 +889,7 @@ + let gmpAddon = this._gmpAddon; + let installToDirPath = Cc["@mozilla.org/file/local;1"]. + createInstance(Ci.nsIFile); +- let path = OS.Path.join(OS.Constants.Path.profileDir, +- gmpAddon.id, +- gmpAddon.version); ++ let path = OS.Path.join(OS.Constants.Path.profileDir, gmpAddon.id); + installToDirPath.initWithPath(path); + log.info("install to directory path: " + installToDirPath.path); + let gmpInstaller = new GMPExtractor(zipPath, installToDirPath.path); +@@ -885,10 +883,12 @@ + // Success, set the prefs + let now = Math.round(Date.now() / 1000); + GMPPrefs.set(GMPPrefs.KEY_PLUGIN_LAST_UPDATE, now, gmpAddon.id); +- // Setting the version pref signals installation completion to consumers, +- // if you need to set other prefs etc. do it before this. ++ // Setting the path pref signals installation completion to consumers, ++ // so set the version and potential other information they use first. + GMPPrefs.set(GMPPrefs.KEY_PLUGIN_VERSION, gmpAddon.version, + gmpAddon.id); ++ GMPPrefs.set(GMPPrefs.KEY_PLUGIN_PATH, ++ installToDirPath.path, gmpAddon.id); + this._deferred.resolve(extractedPaths); + }, err => { + this._deferred.reject(err); +diff --git toolkit/modules/GMPUtils.jsm toolkit/modules/GMPUtils.jsm +index 1f3a0b1..93517be 100644 +--- toolkit/modules/GMPUtils.jsm ++++ toolkit/modules/GMPUtils.jsm +@@ -70,6 +70,7 @@ this.GMPPrefs = { + KEY_EME_ENABLED: "media.eme.enabled", + KEY_PLUGIN_ENABLED: "media.{0}.enabled", + KEY_PLUGIN_LAST_UPDATE: "media.{0}.lastUpdate", ++ KEY_PLUGIN_PATH: "media.{0}.path", + KEY_PLUGIN_VERSION: "media.{0}.version", + KEY_PLUGIN_AUTOUPDATE: "media.{0}.autoupdate", + KEY_PLUGIN_FORCEVISIBLE: "media.{0}.forcevisible", +diff --git toolkit/mozapps/extensions/internal/GMPProvider.jsm toolkit/mozapps/extensions/internal/GMPProvider.jsm +index 1f3a0b1..93517be 100644 +--- toolkit/mozapps/extensions/internal/GMPProvider.jsm ++++ toolkit/mozapps/extensions/internal/GMPProvider.jsm +@@ -100,12 +100,11 @@ + Log.repository.getLoggerWithMessagePrefix("Toolkit.GMP", + "GMPWrapper(" + + this._plugin.id + ") "); +- Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_ENABLED, +- this._plugin.id), ++ Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_ENABLED, this._plugin.id), + this.onPrefEnabledChanged, this); +- Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_VERSION, ++ Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, + this._plugin.id), +- this.onPrefVersionChanged, this); ++ this.onPrefPathChanged, this); + if (this._plugin.isEME) { + Preferences.observe(GMPPrefs.KEY_EME_ENABLED, + this.onPrefEMEGlobalEnabledChanged, this); +@@ -120,17 +119,14 @@ + optionsType: AddonManager.OPTIONS_TYPE_INLINE, + get optionsURL() { return this._plugin.optionsURL; }, + ++ + set gmpPath(aPath) { this._gmpPath = aPath; }, + get gmpPath() { +- if (!this._gmpPath && this.isInstalled) { +- this._gmpPath = OS.Path.join(OS.Constants.Path.profileDir, +- this._plugin.id, +- GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, +- null, this._plugin.id)); ++ if (!this._gmpPath) { ++ this._gmpPath = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); + } + return this._gmpPath; + }, +- + get id() { return this._plugin.id; }, + get type() { return "plugin"; }, + get isGMPlugin() { return true; }, +@@ -141,8 +137,13 @@ + get description() { return this._plugin.description; }, + get fullDescription() { return this._plugin.fullDescription; }, + +- get version() { return GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, null, +- this._plugin.id); }, ++ get version() { ++ if (this.isInstalled) { ++ return GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, null, ++ this._plugin.id); ++ } ++ return null; ++ }, + + get isActive() { return !this.appDisabled && !this.userDisabled; }, + get appDisabled() { +@@ -289,24 +290,17 @@ + + get pluginMimeTypes() { return []; }, + get pluginLibraries() { +- if (this.isInstalled) { +- let path = this.version; +- return [path]; +- } +- return []; ++ let path = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); ++ return path && path.length ? [OS.Path.basename(path)] : []; + }, + get pluginFullpath() { +- if (this.isInstalled) { +- let path = OS.Path.join(OS.Constants.Path.profileDir, +- this._plugin.id, +- this.version); +- return [path]; +- } +- return []; ++ let path = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); ++ return path && path.length ? [path] : []; + }, + + get isInstalled() { +- return this.version && this.version.length > 0; ++ let path = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); ++ return path && path.length > 0; + }, + + _handleEnabledChanged: function() { +@@ -362,10 +356,10 @@ + } + }, + +- onPrefVersionChanged: function() { ++ onPrefPathChanged: function() { + AddonManagerPrivate.callAddonListeners("onUninstalling", this, false); + if (this._gmpPath) { +- this._log.info("onPrefVersionChanged() - unregistering gmp directory " + ++ this._log.info("onPrefPathChanged() - unregistering gmp directory " + + this._gmpPath); + gmpService.removePluginDirectory(this._gmpPath); + } +@@ -374,15 +368,10 @@ + AddonManagerPrivate.callInstallListeners("onExternalInstall", null, this, + null, false); + AddonManagerPrivate.callAddonListeners("onInstalling", this, false); +- this._gmpPath = null; +- if (this.isInstalled) { +- this._gmpPath = OS.Path.join(OS.Constants.Path.profileDir, +- this._plugin.id, +- GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, +- null, this._plugin.id)); +- } ++ this._gmpPath = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, ++ null, this._plugin.id); + if (this._gmpPath && this.isActive) { +- this._log.info("onPrefVersionChanged() - registering gmp directory " + ++ this._log.info("onPrefPathChanged() - registering gmp directory " + + this._gmpPath); + gmpService.addPluginDirectory(this._gmpPath); + } +@@ -393,9 +382,9 @@ + Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_ENABLED, + this._plugin.id), + this.onPrefEnabledChanged, this); +- Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_VERSION, ++ Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, + this._plugin.id), +- this.onPrefVersionChanged, this); ++ this.onPrefPathChanged, this); + if (this._plugin.isEME) { + Preferences.ignore(GMPPrefs.KEY_EME_ENABLED, + this.onPrefEMEGlobalEnabledChanged, this); |