summaryrefslogtreecommitdiff
path: root/www/seamonkey/files/patch-system-openh264
diff options
context:
space:
mode:
authorBeat Gaetzi <beat@FreeBSD.org>2014-10-16 10:25:47 +0000
committerBeat Gaetzi <beat@FreeBSD.org>2014-10-16 10:25:47 +0000
commitdd4c17b1cedf6bfa50fd0b03b229ac22fcbb1b41 (patch)
tree26bdc8d7c96a38f05e815e1b26b101543a557cae /www/seamonkey/files/patch-system-openh264
parentUpdate 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-openh264218
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);