diff options
author | Beat Gaetzi <beat@FreeBSD.org> | 2014-10-16 10:25:47 +0000 |
---|---|---|
committer | Beat Gaetzi <beat@FreeBSD.org> | 2014-10-16 10:25:47 +0000 |
commit | dd4c17b1cedf6bfa50fd0b03b229ac22fcbb1b41 (patch) | |
tree | 26bdc8d7c96a38f05e815e1b26b101543a557cae /www/seamonkey/files/patch-system-openh264 | |
parent | Update to 0.63. (diff) |
- Update SeaMonkey to 2.30
- Disable SSL 3.0 with pref (Upstream bug 1076983)
- Apply r368080 to seamonkey-i18n
- Kill @dirrm from gecko@ ports per CHANGES from 20140922
PR: 194356
Submitted by: Jan Beich
MFH: 2014Q4
Security: http://www.vuxml.org/freebsd/9c1495ac-8d8c-4789-a0f3-8ca6b476619c.html
Notes
Notes:
svn path=/head/; revision=370991
Diffstat (limited to '')
-rw-r--r-- | www/seamonkey/files/patch-system-openh264 | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/www/seamonkey/files/patch-system-openh264 b/www/seamonkey/files/patch-system-openh264 new file mode 100644 index 000000000000..d318a9d68c7e --- /dev/null +++ b/www/seamonkey/files/patch-system-openh264 @@ -0,0 +1,218 @@ +# Revert bug 1045209 to allow using absolute path + +diff --git content/media/gmp/GMPChild.cpp content/media/gmp/GMPChild.cpp +index 4165a75..81914d5 100644 +--- mozilla/content/media/gmp/GMPChild.cpp ++++ mozilla/content/media/gmp/GMPChild.cpp +@@ -66,19 +66,11 @@ + } + #endif + +- nsCOMPtr<nsIFile> parent; +- rv = aLibFile->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(aLibFile->GetLeafName(leafName))) { + return false; + } +- +- nsAutoString baseName(Substring(parentLeafName, 4, parentLeafName.Length() - 1)); ++ nsAutoString baseName(Substring(leafName, 4, leafName.Length() - 1)); + + #if defined(XP_MACOSX) + nsAutoString binaryName = NS_LITERAL_STRING("lib") + baseName + NS_LITERAL_STRING(".dylib"); +diff --git content/media/gmp/GMPParent.cpp content/media/gmp/GMPParent.cpp +index e63453e..bf83b30 100644 +--- mozilla/content/media/gmp/GMPParent.cpp ++++ mozilla/content/media/gmp/GMPParent.cpp +@@ -87,23 +87,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 +--- mozilla/toolkit/modules/GMPInstallManager.jsm ++++ mozilla/toolkit/modules/GMPInstallManager.jsm +@@ -107,6 +107,7 @@ + */ + KEY_LOG_ENABLED: "media.gmp-manager.log", + KEY_ADDON_LAST_UPDATE: "media.{0}.lastUpdate", ++ KEY_ADDON_PATH: "media.{0}.path", + KEY_ADDON_VERSION: "media.{0}.version", + KEY_ADDON_AUTOUPDATE: "media.{0}.autoupdate", + KEY_URL: "media.gmp-manager.url", +@@ -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); +@@ -899,10 +898,12 @@ + // Success, set the prefs + let now = Math.round(Date.now() / 1000); + GMPPrefs.set(GMPPrefs.KEY_ADDON_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_ADDON_VERSION, gmpAddon.version, + gmpAddon.id); ++ GMPPrefs.set(GMPPrefs.KEY_ADDON_PATH, ++ installToDirPath.path, gmpAddon.id); + this._deferred.resolve(extractedPaths); + }, err => { + this._deferred.reject(err); +diff --git toolkit/mozapps/extensions/internal/OpenH264Provider.jsm toolkit/mozapps/extensions/internal/OpenH264Provider.jsm +index 1f3a0b1..93517be 100644 +--- mozilla/toolkit/mozapps/extensions/internal/OpenH264Provider.jsm ++++ mozilla/toolkit/mozapps/extensions/internal/OpenH264Provider.jsm +@@ -29,6 +29,7 @@ + const OPENH264_PLUGIN_ID = "gmp-gmpopenh264"; + const OPENH264_PREF_BRANCH = "media." + OPENH264_PLUGIN_ID + "."; + const OPENH264_PREF_ENABLED = "enabled"; ++const OPENH264_PREF_PATH = "path"; + const OPENH264_PREF_VERSION = "version"; + const OPENH264_PREF_LASTUPDATE = "lastUpdate"; + const OPENH264_PREF_AUTOUPDATE = "autoupdate"; +@@ -93,7 +94,12 @@ + + get description() { return pluginsBundle.GetStringFromName("openH264_description"); }, + +- get version() { return prefs.get(OPENH264_PREF_VERSION, ""); }, ++ get version() { ++ if (this.isInstalled) { ++ return prefs.get(OPENH264_PREF_VERSION, ""); ++ } ++ return ""; ++ }, + + get isActive() { return !this.userDisabled; }, + get appDisabled() { return false; }, +@@ -217,24 +223,17 @@ + + get pluginMimeTypes() { return []; }, + get pluginLibraries() { +- if (this.isInstalled) { +- let path = this.version; +- return [path]; +- } +- return []; ++ let path = prefs.get(OPENH264_PREF_PATH, null); ++ return path && path.length ? [OS.Path.basename(path)] : []; + }, + get pluginFullpath() { +- if (this.isInstalled) { +- let path = OS.Path.join(OS.Constants.Path.profileDir, +- OPENH264_PLUGIN_ID, +- this.version); +- return [path]; +- } +- return []; ++ let path = prefs.get(OPENH264_PREF_PATH, null); ++ return path && path.length ? [path] : []; + }, + + get isInstalled() { +- return this.version.length > 0; ++ let path = prefs.get(OPENH264_PREF_PATH, ""); ++ return path.length > 0; + }, + }; + +@@ -245,19 +244,14 @@ + "OpenH264Provider" + "::"); + OpenH264Wrapper._log = Log.repository.getLoggerWithMessagePrefix("Toolkit.OpenH264Provider", + "OpenH264Wrapper" + "::"); +- this.gmpPath = null; +- if (OpenH264Wrapper.isInstalled) { +- this.gmpPath = OS.Path.join(OS.Constants.Path.profileDir, +- OPENH264_PLUGIN_ID, +- prefs.get(OPENH264_PREF_VERSION, null)); +- } ++ this.gmpPath = prefs.get(OPENH264_PREF_PATH, null); + let enabled = prefs.get(OPENH264_PREF_ENABLED, true); + this._log.trace("startup() - enabled=" + enabled + ", gmpPath="+this.gmpPath); + + + Services.obs.addObserver(this, AddonManager.OPTIONS_NOTIFICATION_DISPLAYED, false); + prefs.observe(OPENH264_PREF_ENABLED, this.onPrefEnabledChanged, this); +- prefs.observe(OPENH264_PREF_VERSION, this.onPrefVersionChanged, this); ++ prefs.observe(OPENH264_PREF_PATH, this.onPrefPathChanged, this); + prefs.observe(OPENH264_PREF_LOGGING, configureLogging); + + if (this.gmpPath && enabled) { +@@ -270,7 +264,7 @@ + this._log.trace("shutdown()"); + Services.obs.removeObserver(this, AddonManager.OPTIONS_NOTIFICATION_DISPLAYED); + prefs.ignore(OPENH264_PREF_ENABLED, this.onPrefEnabledChanged, this); +- prefs.ignore(OPENH264_PREF_VERSION, this.onPrefVersionChanged, this); ++ prefs.ignore(OPENH264_PREF_PATH, this.onPrefPathChanged, this); + prefs.ignore(OPENH264_PREF_LOGGING, configureLogging); + + return OpenH264Wrapper._updateTask; +@@ -296,25 +290,20 @@ + wrapper); + }, + +- onPrefVersionChanged: function() { ++ onPrefPathChanged: function() { + let wrapper = OpenH264Wrapper; + + AddonManagerPrivate.callAddonListeners("onUninstalling", wrapper, false); + if (this.gmpPath) { +- this._log.info("onPrefVersionChanged() - unregistering gmp directory " + this.gmpPath); ++ this._log.info("onPrefPathChanged() - removing gmp directory " + this.gmpPath); + gmpService.removePluginDirectory(this.gmpPath); + } + AddonManagerPrivate.callAddonListeners("onUninstalled", wrapper); + + AddonManagerPrivate.callInstallListeners("onExternalInstall", null, wrapper, null, false); +- this.gmpPath = null; +- if (OpenH264Wrapper.isInstalled) { +- this.gmpPath = OS.Path.join(OS.Constants.Path.profileDir, +- OPENH264_PLUGIN_ID, +- prefs.get(OPENH264_PREF_VERSION, null)); +- } ++ this.gmpPath = prefs.get(OPENH264_PREF_PATH, null); + if (this.gmpPath && wrapper.isActive) { +- this._log.info("onPrefVersionChanged() - registering gmp directory " + this.gmpPath); ++ this._log.info("onPrefPathChanged() - adding gmp directory " + this.gmpPath); + gmpService.addPluginDirectory(this.gmpPath); + } + AddonManagerPrivate.callAddonListeners("onInstalled", wrapper); |