[SVN-Commit] r1683 - in trunk/www: firefox-nightly/files firefox/files

svn-freebsd-gecko at chruetertee.ch svn-freebsd-gecko at chruetertee.ch
Fri Sep 5 00:37:29 UTC 2014


Author: jbeich
Date: Fri Sep  5 00:37:21 2014
New Revision: 1683

Log:
revert bug 1045209 to allow using with multimedia/openh264

Added:
   trunk/www/firefox-nightly/files/patch-system-openh264
   trunk/www/firefox/files/patch-system-openh264

Added: trunk/www/firefox-nightly/files/patch-system-openh264
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/www/firefox-nightly/files/patch-system-openh264	Fri Sep  5 00:37:21 2014	(r1683)
@@ -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 1dde3ac..12c88cf 100644
+--- content/media/gmp/GMPChild.cpp
++++ content/media/gmp/GMPChild.cpp
+@@ -69,19 +69,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);

Added: trunk/www/firefox/files/patch-system-openh264
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/www/firefox/files/patch-system-openh264	Fri Sep  5 00:37:21 2014	(r1683)
@@ -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
+--- 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 e63453e..bf83b30 100644
+--- content/media/gmp/GMPParent.cpp
++++ 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
+--- 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);


More information about the freebsd-gecko mailing list