mirror of
https://git.freebsd.org/ports.git
synced 2025-07-13 07:19:16 -04:00
- Update gmp-api to 35.0 - Update openh264 to 1.2 - Update NSS to 3.17.3 - Update Firefox to 34.0.5 - Update Firefox ESR 31.3.0 - Update libxul to 31.3.0 - Improve CONFIGURE_TARGET handling - Always build using client.mk - Switch to clang by default on systems without libc++ (/stable/8 and /stable/9) - Drop lang/python2 dependency, only lang/python27 is required to build - Use DuckDuckGo searchplugin from upstream (has suggestions and purposes) - Backport a few about:memory fixes - Backport Web Notifications libnotify integration - Add GTK3 option for www/firefox. Adwaita is a bit broken since Gtk 3.14, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1073117 PR: 195559 Submitted by: Jan Beich MFH: 2014Q4 Security: http://vuxml.org/freebsd/7ae61870-9dd2-4884-a2f2-f19bb5784d09.html
218 lines
8.6 KiB
Text
218 lines
8.6 KiB
Text
# Revert bug 1045209 to allow using absolute path
|
|
|
|
diff --git content/media/gmp/GMPChild.cpp content/media/gmp/GMPChild.cpp
|
|
index 4165a75..81914d5 100644
|
|
--- content/media/gmp/GMPChild.cpp
|
|
+++ 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 aa60acf..90878ca 100644
|
|
--- content/media/gmp/GMPParent.cpp
|
|
+++ content/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
|
|
@@ -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
|
|
--- toolkit/mozapps/extensions/internal/OpenH264Provider.jsm
|
|
+++ 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);
|