14.0b9 firefox14
authorWolfgang Rosenauer <wr@rosenauer.org>
Mon, 25 Jun 2012 22:09:15 +0200
branchfirefox14
changeset 490 be017dcbd7af
parent 488 75e794f06342
child 492 c0088c242dab
14.0b9
MozillaFirefox/MozillaFirefox.changes
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/create-tar.sh
mozilla-prefer_plugin_pref.patch
xulrunner/create-tar.sh
xulrunner/xulrunner.spec
--- a/MozillaFirefox/MozillaFirefox.changes	Wed Jun 20 21:17:20 2012 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes	Mon Jun 25 22:09:15 2012 +0200
@@ -1,12 +1,13 @@
 -------------------------------------------------------------------
-Wed Jun 20 19:12:47 UTC 2012 - wr@rosenauer.org
-
-- update to 14.0b8
+Mon Jun 25 19:16:07 UTC 2012 - wr@rosenauer.org
+
+- update to 14.0b9
 - license change from tri license to MPL-2.0
 - fix crashreporter restart option (bmo#762780)
 - reenabled mozilla-yarr-pcre.patch to fix build for PPC
 - require NSS 3.13.5
 - remove mozjs pacrunner obsoletes again for now
+- adopted mozilla-prefer_plugin_pref.patch
 
 -------------------------------------------------------------------
 Fri Jun 15 12:37:09 UTC 2012 - wr@rosenauer.org
--- a/MozillaFirefox/MozillaFirefox.spec	Wed Jun 20 21:17:20 2012 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec	Mon Jun 25 22:09:15 2012 +0200
@@ -54,7 +54,7 @@
 %endif
 Version:        %{mainver}
 Release:        0
-%define         releasedate 2012062000
+%define         releasedate 2012062500
 Provides:       firefox = %{mainver}
 Provides:       firefox = %{version}-%{release}
 Provides:       web_browser
--- a/MozillaFirefox/create-tar.sh	Wed Jun 20 21:17:20 2012 +0200
+++ b/MozillaFirefox/create-tar.sh	Mon Jun 25 22:09:15 2012 +0200
@@ -2,7 +2,7 @@
 
 CHANNEL="beta"
 BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_14_0b8_RELEASE"
+RELEASE_TAG="FIREFOX_14_0b9_RELEASE"
 VERSION="13.99"
 
 # mozilla
--- a/mozilla-prefer_plugin_pref.patch	Wed Jun 20 21:17:20 2012 +0200
+++ b/mozilla-prefer_plugin_pref.patch	Mon Jun 25 22:09:15 2012 +0200
@@ -1,15 +1,10 @@
 From: Ubuntu
-Introduce a pref to prefer certain plugins for mime-types
-
-For example:
- pref ("modules.plugins.mimetype.application/x-shockwave-flash", "/usr/lib/firefox-3.0.1/plugins/libflashplayer.so")
-
- would make the flashplyer installed in that location the preferred one to use.
+Subject: introduce a pref to prefer certain plugins for mime-types
 
 diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.cpp
 --- a/dom/plugins/base/nsPluginHost.cpp
 +++ b/dom/plugins/base/nsPluginHost.cpp
-@@ -1556,17 +1556,45 @@ nsPluginHost::FindPluginForType(const ch
+@@ -1581,19 +1581,51 @@ nsPluginHost::FindPluginForType(const ch
                                  bool aCheckEnabled)
  {
    if (!aMimeType) {
@@ -18,40 +13,46 @@
  
    LoadPlugins();
  
-+  nsCAutoString mimetypePref("modules.plugins.mimetype.");
-+  mimetypePref.Append(aMimeType);
-+
-+  nsAdoptingCString preferred = Preferences::GetCString(mimetypePref.get());
++  nsresult res;
++  nsCOMPtr<nsIPrefBranch> prefB (do_QueryInterface(mPrefService));
 +
++  char *preferredPluginPath = NULL;
++  nsCAutoString mimetypePrefString ("modules.plugins.mimetype.");
++  mimetypePrefString.Append(aMimeType);
++  const char *mimetypePrefChar = mimetypePrefString.get();
++  res = prefB->GetCharPref(mimetypePrefChar, &preferredPluginPath);
++
++  if(!NS_SUCCEEDED(res)) preferredPluginPath = NULL;
++
+   InfallibleTArray<nsPluginTag*> matchingPlugins;
+ 
    nsPluginTag *plugin = mPlugins;
-+  if(!preferred.IsEmpty()) {
-+    nsCOMPtr<nsILocalFile> file;
-+    nsresult rv = NS_NewNativeLocalFile(preferred, false, getter_AddRefs(file));
-+    bool isAbsolute = NS_SUCCEEDED(rv);
 +
-+    while (plugin) {
-+      if (((!isAbsolute && 0 == PL_strcasecmp(plugin->mFileName.get(), preferred.get())) ||
-+            (isAbsolute && 0 == PL_strcasecmp(plugin->mFullPath.get(), preferred.get()))) &&
-+          (!aCheckEnabled || plugin->IsEnabled())) {
-+        PRInt32 mimeCount = plugin->mMimeTypes.Length();
-+        for (PRInt32 i = 0; i < mimeCount; i++) {
-+          if (0 == PL_strcasecmp(plugin->mMimeTypes[i].get(), aMimeType)) {
-+            return plugin;
-+          }
-+        }
++  if(preferredPluginPath) {
++    while (nsnull != plugin) {
++      if (0 == PL_strcasecmp(plugin->mFileName.get(), preferredPluginPath) ||
++          0 == PL_strcasecmp(plugin->mFullPath.get(), preferredPluginPath)) {
++        matchingPlugins.AppendElement(plugin);
++      }
++      plugin = plugin->mNext;
++    }
++
++    // now lets search for substrings
++    plugin = mPlugins;
++    while (nsnull != plugin) {
++      if (nsnull != PL_strstr(plugin->mFileName.get(), preferredPluginPath) ||
++          nsnull != PL_strstr(plugin->mFullPath.get(), preferredPluginPath)) {
++        matchingPlugins.AppendElement(plugin);
 +      }
 +      plugin = plugin->mNext;
 +    }
 +  }
 +
-+  // if there is no pref for this mime-type, or if the plugin named in pref
-+  // isn't found, we pick the first that matches for this mime-type
-+  plugin = mPlugins;
    while (plugin) {
      if (!aCheckEnabled || plugin->IsEnabled()) {
        PRInt32 mimeCount = plugin->mMimeTypes.Length();
        for (PRInt32 i = 0; i < mimeCount; i++) {
          if (0 == PL_strcasecmp(plugin->mMimeTypes[i].get(), aMimeType)) {
-           return plugin;
+           matchingPlugins.AppendElement(plugin);
+           break;
          }
-       }
--- a/xulrunner/create-tar.sh	Wed Jun 20 21:17:20 2012 +0200
+++ b/xulrunner/create-tar.sh	Mon Jun 25 22:09:15 2012 +0200
@@ -2,7 +2,7 @@
 
 CHANNEL="beta"
 BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_14_0b8_RELEASE"
+RELEASE_TAG="FIREFOX_14_0b9_RELEASE"
 VERSION="13.99"
 
 # mozilla
--- a/xulrunner/xulrunner.spec	Wed Jun 20 21:17:20 2012 +0200
+++ b/xulrunner/xulrunner.spec	Mon Jun 25 22:09:15 2012 +0200
@@ -46,7 +46,7 @@
 BuildRequires:  mozilla-nss-devel >= 3.13.5
 Version:        13.99
 Release:        0
-%define         releasedate 2012062000
+%define         releasedate 2012062500
 %define         version_internal 14.0
 %define         apiversion 14
 %define         uaweight 1400000