Hello community,

here is the log from the commit of package seamonkey for openSUSE:Factory 
checked in at 2013-01-14 09:48:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/seamonkey (Old)
 and      /work/SRC/openSUSE:Factory/.seamonkey.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "seamonkey", Maintainer is "gnome-maintain...@suse.de"

Changes:
--------
--- /work/SRC/openSUSE:Factory/seamonkey/seamonkey.changes      2012-11-22 
17:23:40.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.seamonkey.new/seamonkey.changes 2013-01-14 
09:49:02.000000000 +0100
@@ -1,0 +2,60 @@
+Sun Jan 13 16:38:35 UTC 2013 - w...@rosenauer.org
+
+- backed out restartless language packs as it broke multi-locale
+  setup (bmo#677092, bmo#818468)
+
+-------------------------------------------------------------------
+Tue Jan  8 18:32:43 UTC 2013 - w...@rosenauer.org
+
+- update to SeaMonkey 2.15 /(bnc#796895)
+  * MFSA 2013-01/CVE-2013-0749/CVE-2013-0769/CVE-2013-0770
+    Miscellaneous memory safety hazards
+  * MFSA 2013-02/CVE-2013-0760/CVE-2013-0762/CVE-2013-0766/CVE-2013-0767
+    CVE-2013-0761/CVE-2013-0763/CVE-2013-0771/CVE-2012-5829
+    Use-after-free and buffer overflow issues found using Address Sanitizer
+  * MFSA 2013-03/CVE-2013-0768 (bmo#815795)
+    Buffer Overflow in Canvas
+  * MFSA 2013-04/CVE-2012-0759 (bmo#802026)
+    URL spoofing in addressbar during page loads
+  * MFSA 2013-05/CVE-2013-0744 (bmo#814713)
+    Use-after-free when displaying table with many columns and column groups
+  * MFSA 2013-06/CVE-2013-0751 (bmo#790454)
+    Touch events are shared across iframes
+  * MFSA 2013-07/CVE-2013-0764 (bmo#804237)
+    Crash due to handling of SSL on threads
+  * MFSA 2013-08/CVE-2013-0745 (bmo#794158)
+    AutoWrapperChanger fails to keep objects alive during garbage collection
+  * MFSA 2013-09/CVE-2013-0746 (bmo#816842)
+    Compartment mismatch with quickstubs returned values
+  * MFSA 2013-10/CVE-2013-0747 (bmo#733305)
+    Event manipulation in plugin handler to bypass same-origin policy
+  * MFSA 2013-11/CVE-2013-0748 (bmo#806031)
+    Address space layout leaked in XBL objects
+  * MFSA 2013-12/CVE-2013-0750 (bmo#805121)
+    Buffer overflow in Javascript string concatenation
+  * MFSA 2013-13/CVE-2013-0752 (bmo#805024)
+    Memory corruption in XBL with XML bindings containing SVG
+  * MFSA 2013-14/CVE-2013-0757 (bmo#813901)
+    Chrome Object Wrapper (COW) bypass through changing prototype
+  * MFSA 2013-15/CVE-2013-0758 (bmo#813906)
+    Privilege escalation through plugin objects
+  * MFSA 2013-16/CVE-2013-0753 (bmo#814001)
+    Use-after-free in serializeToStream
+  * MFSA 2013-17/CVE-2013-0754 (bmo#814026)
+    Use-after-free in ListenerManager
+  * MFSA 2013-18/CVE-2013-0755 (bmo#814027)
+    Use-after-free in Vibrate
+  * MFSA 2013-19/CVE-2013-0756 (bmo#814029)
+    Use-after-free in Javascript Proxy objects
+- requires NSS 3.14.1 (MFSA 2013-20, CVE-2013-0743)
+- reenable WebRTC
+- added mozilla-libproxy-compat.patch for libproxy API compat
+  on openSUSE 11.2 and earlier
+
+-------------------------------------------------------------------
+Tue Dec 18 13:08:40 UTC 2012 - w...@rosenauer.org
+
+- update to SeaMonkey 2.14.1
+  * fix regressions from 2.14 release
+
+-------------------------------------------------------------------

Old:
----
  l10n-2.14.tar.bz2
  mozilla-gstreamer.patch
  seamonkey-2.14-source.tar.bz2

New:
----
  l10n-2.15.tar.bz2
  mozilla-backout-677092.patch
  mozilla-gstreamer-803287.patch
  mozilla-libproxy-compat.patch
  mozilla-webrtc.patch
  seamonkey-2.15-source.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ seamonkey.spec ++++++
--- /var/tmp/diff_new_pack.8CGSfb/_old  2013-01-14 09:49:12.000000000 +0100
+++ /var/tmp/diff_new_pack.8CGSfb/_new  2013-01-14 09:49:12.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package seamonkey
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #               2006-2012 Wolfgang Rosenauer
 #
 # All modifications and additions to the file contributed by third parties
@@ -48,9 +48,9 @@
 %endif
 Provides:       web_browser
 Provides:       browser(npapi)
-Version:        2.14
+Version:        2.15
 Release:        0
-%define releasedate 2012111600
+%define releasedate 2013010500
 Summary:        The successor of the Mozilla Application Suite
 License:        MPL-2.0
 Group:          Productivity/Networking/Web/Browsers
@@ -71,11 +71,14 @@
 Patch3:         mozilla-shared-nss-db.patch
 Patch4:         mozilla-sle11.patch
 Patch5:         mozilla-language.patch
-Patch6:         mozilla-gstreamer.patch
+Patch6:         mozilla-gstreamer-803287.patch
 Patch7:         mozilla-ntlm-full-path.patch
 Patch8:         mozilla-ua-locale.patch
 Patch9:         mozilla-ppc.patch
 Patch10:        mozilla-gstreamer-760140.patch
+Patch11:        mozilla-webrtc.patch
+Patch12:        mozilla-libproxy-compat.patch
+Patch13:        mozilla-backout-677092.patch
 Patch20:        seamonkey-ua-locale.patch
 Patch21:        seamonkey-shared-nss-db.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -100,7 +103,7 @@
 # so using %opensuse_bs is secure for now
 BuildRequires:  mozilla-nspr-devel
 PreReq:         mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' 
mozilla-nspr)
-BuildRequires:  mozilla-nss-devel >= 3.13.6
+BuildRequires:  mozilla-nss-devel >= 3.14.1
 PreReq:         mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss)
 
 %description
@@ -178,6 +181,9 @@
 %patch8 -p1
 %patch9 -p1
 %patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
 popd
 # comm patches
 %patch20 -p1
@@ -224,7 +230,6 @@
 ac_add_options --disable-updater
 ac_add_options --enable-startup-notification
 ac_add_options --enable-system-hunspell
-ac_add_options --disable-webrtc   # webrtc build is broken for system NSPR
 #ac_add_options --enable-system-mozldap
 EOF
 %if %has_system_cairo

++++++ compare-locales.tar.bz2 ++++++

++++++ create-tar.sh ++++++
--- /var/tmp/diff_new_pack.8CGSfb/_old  2013-01-14 09:49:12.000000000 +0100
+++ /var/tmp/diff_new_pack.8CGSfb/_new  2013-01-14 09:49:12.000000000 +0100
@@ -2,8 +2,8 @@
 
 CHANNEL="release"
 BRANCH="releases/comm-$CHANNEL"
-RELEASE_TAG="SEAMONKEY_2_14_RELEASE"
-VERSION="2.14"
+RELEASE_TAG="SEAMONKEY_2_15_RELEASE"
+VERSION="2.15"
 
 echo "cloning $BRANCH..."
 hg clone http://hg.mozilla.org/$BRANCH seamonkey

++++++ l10n-2.14.tar.bz2 -> l10n-2.15.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/seamonkey/l10n-2.14.tar.bz2 
/work/SRC/openSUSE:Factory/.seamonkey.new/l10n-2.15.tar.bz2 differ: char 11, 
line 1

++++++ mozilla-backout-677092.patch ++++++
# HG changeset patch
# Parent 297b3a7802b2488cca8f2e6febc77e9dbf7f16e0
# User Wolfgang Rosenauer <w...@rosenauer.org>
Bug 818468 - Langpacks bundled in distribution/extensions are registered but 
disabled even if shown enabled
(backing out Bug 677092 - Make language packs restartless by default)

diff --git a/toolkit/mozapps/extensions/XPIProvider.jsm 
b/toolkit/mozapps/extensions/XPIProvider.jsm
--- a/toolkit/mozapps/extensions/XPIProvider.jsm
+++ b/toolkit/mozapps/extensions/XPIProvider.jsm
@@ -757,18 +757,18 @@ function loadManifestFromRDF(aUri, aStre
     if (addon.optionsType &&
         addon.optionsType != AddonManager.OPTIONS_TYPE_DIALOG &&
         addon.optionsType != AddonManager.OPTIONS_TYPE_INLINE &&
         addon.optionsType != AddonManager.OPTIONS_TYPE_TAB) {
       throw new Error("Install manifest specifies unknown type: " + 
addon.optionsType);
     }
   }
   else {
-    // spell check dictionaries and language packs never require a restart
-    if (addon.type == "dictionary" || addon.type == "locale")
+    // spell check dictionaries never require a restart
+    if (addon.type == "dictionary")
       addon.bootstrap = true;
 
     // Only extensions are allowed to provide an optionsURL, optionsType or 
aboutURL. For
     // all other types they are silently ignored
     addon.optionsURL = null;
     addon.optionsType = null;
     addon.aboutURL = null;
 
@@ -3712,21 +3712,16 @@ var XPIProvider = {
     // Never call any bootstrap methods in safe mode
     if (Services.appinfo.inSafeMode)
       return;
 
     if (aMethod == "startup")
       Components.manager.addBootstrappedManifestLocation(aFile);
 
     try {
-      // Don't call bootstrap.js methods for language packs,
-      // they only contain chrome.
-      if (aType == "locale")
-         return;
-
       // Load the scope if it hasn't already been loaded
       if (!(aId in this.bootstrapScopes))
         this.loadBootstrapScope(aId, aFile, aVersion, aType);
 
       if (!(aMethod in this.bootstrapScopes[aId])) {
         WARN("Add-on " + aId + " is missing bootstrap method " + aMethod);
         return;
       }
diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_dictionary.js 
b/toolkit/mozapps/extensions/test/xpcshell/test_dictionary.js
--- a/toolkit/mozapps/extensions/test/xpcshell/test_dictionary.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_dictionary.js
@@ -4,19 +4,16 @@
 
 // This verifies that bootstrappable add-ons can be used without restarts.
 Components.utils.import("resource://gre/modules/Services.jsm");
 
 // Enable loading extensions from the user scopes
 Services.prefs.setIntPref("extensions.enabledScopes",
                           AddonManager.SCOPE_PROFILE + 
AddonManager.SCOPE_USER);
 
-// The test extension uses an insecure update url.
-Services.prefs.setBoolPref(PREF_EM_CHECK_UPDATE_SECURITY, false);
-
 createAppInfo("xpcsh...@tests.mozilla.org", "XPCShell", "1", "1.9.2");
 
 const profileDir = gProfD.clone();
 profileDir.append("extensions");
 const userExtDir = gProfD.clone();
 userExtDir.append("extensions2");
 userExtDir.append(gAppInfo.ID);
 registerDirectory("XREUSysExt", userExtDir.parent);
@@ -98,17 +95,16 @@ var HunspellEngine = {
   }
 };
 
 function run_test() {
   do_test_pending();
 
   // Create and configure the HTTP server.
   testserver = new HttpServer();
-  testserver.registerDirectory("/data/", do_get_file("data"));
   testserver.registerDirectory("/addons/", do_get_file("addons"));
   testserver.start(4444);
 
   startupManager();
 
   run_test_1();
 }
 
@@ -563,17 +559,17 @@ function check_test_23() {
       AddonManager.getAddonsWithOperationsByTypes(null, function(list) {
         do_check_eq(list.length, 0);
 
         restartManager();
         AddonManager.getAddonByID("ab...@dictionaries.addons.mozilla.org", 
function(b1) {
           b1.uninstall();
           restartManager();
 
-          run_test_25();
+          testserver.stop(run_test_25);
         });
       });
     });
   });
 }
 
 // Tests that updating from a bootstrappable add-on to a normal add-on calls
 // the uninstall method
@@ -631,160 +627,15 @@ function run_test_26() {
 
       AddonManager.getAddonByID("ab...@dictionaries.addons.mozilla.org", 
function(b1) {
         do_check_neq(b1, null);
         do_check_eq(b1.version, "1.0");
         do_check_true(b1.isActive);
         do_check_eq(b1.pendingOperations, AddonManager.PENDING_NONE);
 
         HunspellEngine.deactivate();
-        b1.uninstall();
-        restartManager();
-        run_test_27();
+
+        do_test_finished();
       });
     });
   });
 }
 
-// Tests that an update check from a normal add-on to a bootstrappable add-on 
works
-function run_test_27() {
-  writeInstallRDFForExtension({
-    id: "ab...@dictionaries.addons.mozilla.org",
-    version: "1.0",
-    updateURL: "http://localhost:4444/data/test_dictionary.rdf";,
-    targetApplications: [{
-      id: "xpcsh...@tests.mozilla.org",
-      minVersion: "1",
-      maxVersion: "1"
-    }],
-    name: "Test Dictionary",
-  }, profileDir);
-  restartManager();
-
-  prepare_test({
-    "ab...@dictionaries.addons.mozilla.org": [
-      "onInstalling"
-    ]
-  }, [
-    "onNewInstall",
-    "onDownloadStarted",
-    "onDownloadEnded",
-    "onInstallStarted",
-    "onInstallEnded"
-  ], check_test_27);
-
-  AddonManagerPrivate.backgroundUpdateCheck();
-}
-
-function check_test_27(install) {
-  do_check_eq(install.existingAddon.pendingUpgrade.install, install);
-
-  restartManager();
-  AddonManager.getAddonByID("ab...@dictionaries.addons.mozilla.org", 
function(b1) {
-    do_check_neq(b1, null);
-    do_check_eq(b1.version, "2.0");
-    do_check_eq(b1.type, "dictionary");
-    b1.uninstall();
-    restartManager();
-
-    run_test_28();
-  });
-}
-
-// Tests that an update check from a bootstrappable add-on to a normal add-on 
works
-function run_test_28() {
-  writeInstallRDFForExtension({
-    id: "e...@dictionaries.addons.mozilla.org",
-    version: "1.0",
-    type: "64",
-    updateURL: "http://localhost:4444/data/test_dictionary.rdf";,
-    targetApplications: [{
-      id: "xpcsh...@tests.mozilla.org",
-      minVersion: "1",
-      maxVersion: "1"
-    }],
-    name: "Test Dictionary ef",
-  }, profileDir);
-  restartManager();
-
-  prepare_test({
-    "e...@dictionaries.addons.mozilla.org": [
-      "onInstalling"
-    ]
-  }, [
-    "onNewInstall",
-    "onDownloadStarted",
-    "onDownloadEnded",
-    "onInstallStarted",
-    "onInstallEnded"
-  ], check_test_28);
-
-  AddonManagerPrivate.backgroundUpdateCheck();
-}
-
-function check_test_28(install) {
-  do_check_eq(install.existingAddon.pendingUpgrade.install, install);
-
-  restartManager();
-  AddonManager.getAddonByID("e...@dictionaries.addons.mozilla.org", 
function(b2) {
-    do_check_neq(b2, null);
-    do_check_eq(b2.version, "2.0");
-    do_check_eq(b2.type, "extension");
-    b2.uninstall();
-    restartManager();
-
-    run_test_29();
-  });
-}
-
-// Tests that an update check from a bootstrappable add-on to a bootstrappable 
add-on works
-function run_test_29() {
-  writeInstallRDFForExtension({
-    id: "g...@dictionaries.addons.mozilla.org",
-    version: "1.0",
-    type: "64",
-    updateURL: "http://localhost:4444/data/test_dictionary.rdf";,
-    targetApplications: [{
-      id: "xpcsh...@tests.mozilla.org",
-      minVersion: "1",
-      maxVersion: "1"
-    }],
-    name: "Test Dictionary gh",
-  }, profileDir);
-  restartManager();
-
-  prepare_test({
-    "g...@dictionaries.addons.mozilla.org": [
-      ["onInstalling", false /* = no restart */],
-      ["onInstalled", false]
-    ]
-  }, [
-    "onNewInstall",
-    "onDownloadStarted",
-    "onDownloadEnded",
-    "onInstallStarted",
-    "onInstallEnded"
-  ], check_test_29);
-
-  AddonManagerPrivate.backgroundUpdateCheck();
-}
-
-function check_test_29(install) {
-  AddonManager.getAddonByID("g...@dictionaries.addons.mozilla.org", 
function(b2) {
-    do_check_neq(b2, null);
-    do_check_eq(b2.version, "2.0");
-    do_check_eq(b2.type, "dictionary");
-
-    prepare_test({
-      "g...@dictionaries.addons.mozilla.org": [
-        ["onUninstalling", false],
-        ["onUninstalled", false],
-      ]
-    }, [
-    ], finish_test_29);
-
-    b2.uninstall();
-  });
-}
-
-function finish_test_29() {
-  testserver.stop(do_test_finished);
-}
diff --git a/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini 
b/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
--- a/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
+++ b/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
@@ -136,17 +136,16 @@ fail-if = os == "android"
 [test_cacheflush.js]
 [test_checkcompatibility.js]
 [test_ChromeManifestParser.js]
 [test_compatoverrides.js]
 [test_corrupt.js]
 [test_corrupt_strictcompat.js]
 [test_db_sanity.js]
 [test_dictionary.js]
-[test_langpack.js]
 [test_disable.js]
 [test_distribution.js]
 [test_dss.js]
 # Bug 676992: test consistently fails on Android
 fail-if = os == "android"
 [test_duplicateplugins.js]
 # Bug 676992: test consistently hangs on Android
 skip-if = os == "android"
++++++ mozilla-gstreamer-760140.patch ++++++
--- /var/tmp/diff_new_pack.8CGSfb/_old  2013-01-14 09:49:13.000000000 +0100
+++ /var/tmp/diff_new_pack.8CGSfb/_new  2013-01-14 09:49:13.000000000 +0100
@@ -4,7 +4,7 @@
 diff --git a/content/base/src/nsContentUtils.cpp 
b/content/base/src/nsContentUtils.cpp
 --- a/content/base/src/nsContentUtils.cpp
 +++ b/content/base/src/nsContentUtils.cpp
-@@ -137,16 +137,19 @@ static NS_DEFINE_CID(kXTFServiceCID, NS_
+@@ -147,16 +147,19 @@ static NS_DEFINE_CID(kXTFServiceCID, NS_
  #include "xpcprivate.h" // nsXPConnect
  #include "nsScriptSecurityManager.h"
  #include "nsIChannelPolicy.h"
@@ -24,43 +24,10 @@
  #include "mozilla/Base64.h"
  #include "mozilla/Preferences.h"
  #include "nsDOMMutationObserver.h"
-@@ -6580,26 +6583,23 @@ nsContentUtils::FindInternalContentViewe
-         }
-         return docFactory.forget();
-       }
-     }
-   }
- #endif
- 
- #ifdef MOZ_GSTREAMER
--  if (nsHTMLMediaElement::IsH264Enabled()) {
--    for (unsigned int i = 0; i < ArrayLength(nsHTMLMediaElement::gH264Types); 
++i) {
--      const char* type = nsHTMLMediaElement::gH264Types[i];
--      if (!strcmp(aType, type)) {
--        docFactory = 
do_GetService("@mozilla.org/content/document-loader-factory;1");
--        if (docFactory && aLoaderType) {
--          *aLoaderType = TYPE_CONTENT;
--        }
--        return docFactory.forget();
-+  if (nsHTMLMediaElement::IsGStreamerEnabled()) {
-+    if (nsGStreamerDecoder::CanHandleMediaType(aType, nullptr)) {
-+      docFactory = 
do_GetService("@mozilla.org/content/document-loader-factory;1");
-+      if (docFactory && aLoaderType) {
-+        *aLoaderType = TYPE_CONTENT;
-       }
-+      return docFactory.forget();
-     }
-   }
- #endif
- 
- #ifdef MOZ_MEDIA_PLUGINS
-   if (nsHTMLMediaElement::IsMediaPluginsEnabled() &&
-       nsHTMLMediaElement::IsMediaPluginsType(nsDependentCString(aType))) {
-     docFactory = 
do_GetService("@mozilla.org/content/document-loader-factory;1");
 diff --git a/content/html/content/public/nsHTMLMediaElement.h 
b/content/html/content/public/nsHTMLMediaElement.h
 --- a/content/html/content/public/nsHTMLMediaElement.h
 +++ b/content/html/content/public/nsHTMLMediaElement.h
-@@ -256,17 +256,19 @@ public:
+@@ -263,17 +263,19 @@ public:
    void UpdateMediaSize(nsIntSize size);
  
    // Returns the CanPlayStatus indicating if we can handle this
@@ -81,32 +48,31 @@
    // Returns true if we should handle this MIME type when it appears
    // as an <object> or as a toplevel page. If, in practice, our support
    // for the type is more limited than appears in the wild, we should return
-@@ -296,20 +298,17 @@ public:
- #ifdef MOZ_WEBM
-   static bool IsWebMEnabled();
+@@ -305,19 +307,16 @@ public:
    static bool IsWebMType(const nsACString& aType);
    static const char gWebMTypes[2][11];
    static char const *const gWebMCodecs[4];
  #endif
  
  #ifdef MOZ_GSTREAMER
--  static bool IsH264Enabled();
+   static bool IsGStreamerEnabled();
+   static bool IsGStreamerSupportedType(const nsACString& aType);
 -  static bool IsH264Type(const nsACString& aType);
 -  static const char gH264Types[3][16];
 -  static char const *const gH264Codecs[7];
-+  static bool IsGStreamerEnabled();
  #endif
  
- #ifdef MOZ_MEDIA_PLUGINS
-   static bool IsMediaPluginsEnabled();
-   static bool IsMediaPluginsType(const nsACString& aType);
+ #ifdef MOZ_WIDGET_GONK
+   static bool IsOmxEnabled();
+   static bool IsOmxSupportedType(const nsACString& aType);
+   static const char gOmxTypes[5][16];
+   static char const *const gH264Codecs[7];
  #endif
- 
-   /**
 diff --git a/content/html/content/src/nsHTMLMediaElement.cpp 
b/content/html/content/src/nsHTMLMediaElement.cpp
 --- a/content/html/content/src/nsHTMLMediaElement.cpp
 +++ b/content/html/content/src/nsHTMLMediaElement.cpp
-@@ -2112,52 +2112,20 @@ nsHTMLMediaElement::IsWebMType(const nsA
+@@ -2128,51 +2128,34 @@ nsHTMLMediaElement::IsWebMType(const nsA
+       return true;
      }
    }
  
@@ -114,6 +80,19 @@
  }
  #endif
  
+-#if defined(MOZ_GSTREAMER) || defined(MOZ_WIDGET_GONK)
++#ifdef MOZ_WIDGET_GONK
+ char const *const nsHTMLMediaElement::gH264Codecs[7] = {
+   "avc1.42E01E",
+   "avc1.42001E",
+   "avc1.58A01E",
+   "avc1.4D401E",
+   "avc1.64001E",
+   "mp4a.40.2",
+   nullptr
+ };
+ #endif
+ 
  #ifdef MOZ_GSTREAMER
 -const char nsHTMLMediaElement::gH264Types[3][16] = {
 -  "video/mp4",
@@ -121,48 +100,32 @@
 -  "video/quicktime",
 -};
 -
--char const *const nsHTMLMediaElement::gH264Codecs[7] = {
--  "avc1.42E01E",
--  "avc1.42001E",
--  "avc1.58A01E",
--  "avc1.4D401E",
--  "avc1.64001E",
--  "mp4a.40.2",
--  nullptr
--};
--
  bool
--nsHTMLMediaElement::IsH264Enabled()
-+nsHTMLMediaElement::IsGStreamerEnabled()
+ nsHTMLMediaElement::IsGStreamerEnabled()
  {
--  return Preferences::GetBool("media.h264.enabled");
--}
+   return Preferences::GetBool("media.gstreamer.enabled");
+ }
 -
 -bool
 -nsHTMLMediaElement::IsH264Type(const nsACString& aType)
 -{
--  if (!IsH264Enabled()) {
--    return false;
--  }
--
 -  for (uint32_t i = 0; i < ArrayLength(gH264Types); ++i) {
 -    if (aType.EqualsASCII(gH264Types[i])) {
 -      return true;
 -    }
 -  }
--
 -  return false;
-+  return Preferences::GetBool("media.gstreamer.enabled");
- }
+-}
  #endif
  
- #ifdef MOZ_MEDIA_PLUGINS
- bool
- nsHTMLMediaElement::IsMediaPluginsEnabled()
- {
-   return Preferences::GetBool("media.plugins.enabled");
-@@ -2180,18 +2148,22 @@ nsHTMLMediaElement::IsMediaPluginsType(c
-   }
+ #ifdef MOZ_WIDGET_GONK
+ const char nsHTMLMediaElement::gOmxTypes[5][16] = {
+   "audio/mpeg",
+   "audio/mp4",
+   "video/mp4",
+   "video/3gpp",
+@@ -2257,18 +2240,22 @@ nsHTMLMediaElement::IsDASHMPDType(const 
+ 
    return false;
  }
  #endif
@@ -185,9 +148,9 @@
  #endif
  #ifdef MOZ_OGG
    if (IsOggType(nsDependentCString(aMIMEType))) {
-@@ -2208,20 +2180,22 @@ nsHTMLMediaElement::CanHandleMediaType(c
- #ifdef MOZ_WEBM
-   if (IsWebMType(nsDependentCString(aMIMEType))) {
+@@ -2292,20 +2279,22 @@ nsHTMLMediaElement::CanHandleMediaType(c
+   if (IsDASHMPDType(nsDependentCString(aMIMEType))) {
+     // DASH manifest uses WebM codecs only.
      *aCodecList = gWebMCodecs;
      return CANPLAY_YES;
    }
@@ -205,14 +168,14 @@
 +  if (nsGStreamerDecoder::CanHandleMediaType(aMIMEType, aCodecs))
 +    return CANPLAY_YES;
  #endif
- #ifdef MOZ_MEDIA_PLUGINS
-   if (IsMediaPluginsEnabled() && 
GetMediaPluginHost()->FindDecoder(nsDependentCString(aMIMEType), aCodecList))
+ #ifdef MOZ_WIDGET_GONK
+   if (IsOmxSupportedType(nsDependentCString(aMIMEType))) {
+     *aCodecList = gH264Codecs;
      return CANPLAY_MAYBE;
+   }
  #endif
-   return CANPLAY_NO;
- }
- 
-@@ -2236,17 +2210,17 @@ bool nsHTMLMediaElement::ShouldHandleMed
+ #ifdef MOZ_MEDIA_PLUGINS
+@@ -2326,17 +2315,17 @@ bool nsHTMLMediaElement::ShouldHandleMed
    if (IsOggType(nsDependentCString(aMIMEType)))
      return true;
  #endif
@@ -225,13 +188,13 @@
 +  if (nsGStreamerDecoder::CanHandleMediaType(aMIMEType, nullptr))
      return true;
  #endif
- #ifdef MOZ_MEDIA_PLUGINS
-   if (IsMediaPluginsEnabled() && 
GetMediaPluginHost()->FindDecoder(nsDependentCString(aMIMEType), NULL))
+ #ifdef MOZ_WIDGET_GONK
+   if (IsOmxSupportedType(nsDependentCString(aMIMEType))) {
      return true;
+   }
  #endif
-   // We should not return true for Wave types, since there are some
-   // Wave codecs actually in use in the wild that we don't support, and
-@@ -2272,26 +2246,31 @@ nsHTMLMediaElement::GetCanPlay(const nsA
+ #ifdef MOZ_MEDIA_PLUGINS
+@@ -2367,26 +2356,31 @@ nsHTMLMediaElement::GetCanPlay(const nsA
  {
    nsContentTypeParser parser(aType);
    nsAutoString mimeType;
@@ -268,27 +231,99 @@
    // of the 'codecs' parameter
    nsCharSeparatedTokenizer tokenizer(codecs, ',');
    bool expectMoreTokens = false;
-@@ -2369,17 +2348,19 @@ nsHTMLMediaElement::CreateDecoder(const 
+@@ -2425,46 +2419,41 @@ nsHTMLMediaElement::CanPlayType(const ns
+ }
+ 
+ #ifdef MOZ_GSTREAMER
+ bool
+ nsHTMLMediaElement::IsGStreamerSupportedType(const nsACString& aMimeType)
+ {
+   if (!IsGStreamerEnabled())
+     return false;
+-  if (IsH264Type(aMimeType))
++
++  const char *type;
++  NS_CStringGetData(aMimeType, &type, nullptr);
++  if (nsGStreamerDecoder::CanHandleMediaType(type, nullptr))
+     return true;
+-  if (!Preferences::GetBool("media.prefer-gstreamer", false))
+-    return false;
+-#ifdef MOZ_WEBM
+-  if (IsWebMType(aMimeType))
+-    return true;
+-#endif
+-#ifdef MOZ_OGG
+-  if (IsOggType(aMimeType))
+-    return true;
+-#endif
++
+   return false;
+ }
+ #endif
+ 
+ already_AddRefed<nsMediaDecoder>
+ nsHTMLMediaElement::CreateDecoder(const nsACString& aType)
+ {
+ #ifdef MOZ_GSTREAMER
+   // When enabled, use GStreamer for H.264, but not for codecs handled by our
+   // bundled decoders, unless the "media.prefer-gstreamer" pref is set.
+-  if (IsGStreamerSupportedType(aType)) {
+-    nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
+-    if (decoder->Init(this)) {
+-      return decoder.forget();
++  if (!Preferences::GetBool("media.prefer-gstreamer", false)) {
++    if (IsGStreamerSupportedType(aType)) {
++      nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
++      if (decoder->Init(this)) {
++        return decoder.forget();
++      }
+     }
+   }
+ #endif
+-
+ #ifdef MOZ_RAW
+   if (IsRawType(aType)) {
+     nsRefPtr<nsRawDecoder> decoder = new nsRawDecoder();
+     if (decoder->Init(this)) {
+       return decoder.forget();
+     }
+   }
+ #endif
+@@ -2503,25 +2492,33 @@ nsHTMLMediaElement::CreateDecoder(const 
+ #ifdef MOZ_WEBM
+   if (IsWebMType(aType)) {
      nsRefPtr<nsWebMDecoder> decoder = new nsWebMDecoder();
      if (decoder->Init(this)) {
        return decoder.forget();
      }
    }
  #endif
- 
- #ifdef MOZ_GSTREAMER 
--  if (IsH264Type(aType)) {
-+  const char *type;
-+  NS_CStringGetData(aType, &type, NULL);
-+  if (nsGStreamerDecoder::CanHandleMediaType(type, NULL)) {
-     nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
+-
+ #ifdef MOZ_DASH
+   if (IsDASHMPDType(aType)) {
+     nsRefPtr<nsDASHDecoder> decoder = new nsDASHDecoder();
      if (decoder->Init(this)) {
        return decoder.forget();
      }
    }
  #endif
++#ifdef MOZ_GSTREAMER
++  // use GStreamer as fallback if not preferred
++  if (IsGStreamerSupportedType(aType)) {
++    nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
++    if (decoder->Init(this)) {
++      return decoder.forget();
++    }
++  }
++#endif
+ 
    return nullptr;
  }
+ 
+ nsresult nsHTMLMediaElement::InitializeDecoderAsClone(nsMediaDecoder* 
aOriginal)
+ {
+   NS_ASSERTION(mLoadingSrc, "mLoadingSrc must already be set");
+   NS_ASSERTION(mDecoder == nullptr, "Shouldn't have a decoder");
 diff --git a/content/media/gstreamer/Makefile.in 
b/content/media/gstreamer/Makefile.in
 --- a/content/media/gstreamer/Makefile.in
 +++ b/content/media/gstreamer/Makefile.in
@@ -367,11 +402,11 @@
 +#define ENTRY_FORMAT(entry) entry[0]
 +#define ENTRY_CAPS(entry) entry[1]
 +
-+nsGStreamerFormatHelper* nsGStreamerFormatHelper::gInstance = NULL;
++nsGStreamerFormatHelper* nsGStreamerFormatHelper::gInstance = nullptr;
 +
 +nsGStreamerFormatHelper *nsGStreamerFormatHelper::Instance() {
 +  if (!gInstance) {
-+    gst_init(NULL, NULL);
++    gst_init(nullptr, nullptr);
 +    gInstance = new nsGStreamerFormatHelper();
 +  }
 +
@@ -379,7 +414,7 @@
 +}
 +
 +nsGStreamerFormatHelper::nsGStreamerFormatHelper()
-+  : mFactories(NULL),
++  : mFactories(nullptr),
 +    mCookie(0)
 +{
 +  const char *containers[3][2] = {
@@ -424,7 +459,7 @@
 +  unsigned int i;
 +
 +  /* convert aMIMEType to gst container caps */
-+  const char *capsString = NULL;
++  const char *capsString = nullptr;
 +  for (i = 0; i < G_N_ELEMENTS(mContainers); i++) {
 +    if (!strcmp(ENTRY_FORMAT(mContainers[i]), aMIMEType)) {
 +      capsString = ENTRY_CAPS(mContainers[i]);
@@ -434,7 +469,7 @@
 +
 +  if (!capsString) {
 +    /* we couldn't find any matching caps */
-+    return NULL;
++    return nullptr;
 +  }
 +
 +  GstCaps *caps = gst_caps_from_string(capsString);
@@ -447,7 +482,7 @@
 +  nsCCharSeparatedTokenizer tokenizer(codecs, ',');
 +  while (tokenizer.hasMoreTokens()) {
 +    const nsCSubstring& codec = tokenizer.nextToken();
-+    capsString = NULL;
++    capsString = nullptr;
 +
 +    for (i = 0; i < G_N_ELEMENTS(mCodecs); i++) {
 +      if (codec.Equals(ENTRY_FORMAT(mCodecs[i]))) {
@@ -458,7 +493,7 @@
 +
 +    if (!capsString) {
 +      gst_caps_unref(caps);
-+      return NULL;
++      return nullptr;
 +    }
 +
 +    GstCaps *tmp = gst_caps_from_string(capsString);
@@ -479,7 +514,7 @@
 +   * structure */
 +  for (unsigned int i = 0; i < gst_caps_get_size(aCaps); i++) {
 +    GstStructure *s = gst_caps_get_structure(aCaps, i);
-+    GstCaps *caps = gst_caps_new_full(gst_structure_copy(s), NULL);
++    GstCaps *caps = gst_caps_new_full(gst_structure_copy(s), nullptr);
 +    list = gst_element_factory_list_filter (factories, caps, GST_PAD_SINK, 
FALSE);
 +    gst_caps_unref(caps);
 +    if (!list) {
@@ -545,25 +580,3 @@
 +};
 +
 +#endif
-diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js
---- a/modules/libpref/src/init/all.js
-+++ b/modules/libpref/src/init/all.js
-@@ -165,17 +165,17 @@ pref("media.opus.enabled", true);
- #endif
- #ifdef MOZ_WAVE
- pref("media.wave.enabled", true);
- #endif
- #ifdef MOZ_WEBM
- pref("media.webm.enabled", true);
- #endif
- #ifdef MOZ_GSTREAMER
--pref("media.h264.enabled", true);
-+pref("media.gstreamer.enabled", true);
- #endif
- #ifdef MOZ_WEBRTC
- pref("media.navigator.enabled", false);
- #else
- #ifdef ANDROID
- pref("media.navigator.enabled", true);
- #endif
- #endif

++++++ mozilla-gstreamer-803287.patch ++++++
# HG changeset patch
# Parent 09328afa274e7cf6354f446ae37735218b796e7f
# User Wolfgang Rosenauer <w...@rosenauer.org>
Bug 803287 - Don't use GStreamer (when enabled) for Ogg/WebM if builtin 
backends present. (TM: 19)

diff --git a/content/base/src/nsContentUtils.cpp 
b/content/base/src/nsContentUtils.cpp
--- a/content/base/src/nsContentUtils.cpp
+++ b/content/base/src/nsContentUtils.cpp
@@ -6676,71 +6676,55 @@ nsContentUtils::FindInternalContentViewe
       else
       *aLoaderType = TYPE_UNKNOWN;
     }
     return docFactory.forget();
   }
 
 #ifdef MOZ_MEDIA
 #ifdef MOZ_OGG
-  if (nsHTMLMediaElement::IsOggEnabled()) {
-    for (unsigned int i = 0; i < ArrayLength(nsHTMLMediaElement::gOggTypes); 
++i) {
-      const char* type = nsHTMLMediaElement::gOggTypes[i];
-      if (!strcmp(aType, type)) {
-        docFactory = 
do_GetService("@mozilla.org/content/document-loader-factory;1");
-        if (docFactory && aLoaderType) {
-          *aLoaderType = TYPE_CONTENT;
-        }
-        return docFactory.forget();
-      }
+  if (nsHTMLMediaElement::IsOggType(nsDependentCString(aType))) {
+    docFactory = 
do_GetService("@mozilla.org/content/document-loader-factory;1");
+    if (docFactory && aLoaderType) {
+      *aLoaderType = TYPE_CONTENT;
     }
+    return docFactory.forget();
   }
 #endif
 
 #ifdef MOZ_WEBM
-  if (nsHTMLMediaElement::IsWebMEnabled()) {
-    for (unsigned int i = 0; i < ArrayLength(nsHTMLMediaElement::gWebMTypes); 
++i) {
-      const char* type = nsHTMLMediaElement::gWebMTypes[i];
-      if (!strcmp(aType, type)) {
-        docFactory = 
do_GetService("@mozilla.org/content/document-loader-factory;1");
-        if (docFactory && aLoaderType) {
-          *aLoaderType = TYPE_CONTENT;
-        }
-        return docFactory.forget();
-      }
+  if (nsHTMLMediaElement::IsWebMType(nsDependentCString(aType))) {
+    docFactory = 
do_GetService("@mozilla.org/content/document-loader-factory;1");
+    if (docFactory && aLoaderType) {
+      *aLoaderType = TYPE_CONTENT;
     }
+    return docFactory.forget();
   }
 #endif
 
 #ifdef MOZ_GSTREAMER
-  if (nsHTMLMediaElement::IsH264Enabled()) {
-    for (unsigned int i = 0; i < ArrayLength(nsHTMLMediaElement::gH264Types); 
++i) {
-      const char* type = nsHTMLMediaElement::gH264Types[i];
-      if (!strcmp(aType, type)) {
-        docFactory = 
do_GetService("@mozilla.org/content/document-loader-factory;1");
-        if (docFactory && aLoaderType) {
-          *aLoaderType = TYPE_CONTENT;
-        }
-        return docFactory.forget();
-      }
+  if (nsHTMLMediaElement::IsGStreamerSupportedType(nsDependentCString(aType))) 
{
+    docFactory = 
do_GetService("@mozilla.org/content/document-loader-factory;1");
+    if (docFactory && aLoaderType) {
+      *aLoaderType = TYPE_CONTENT;
     }
+    return docFactory.forget();
   }
 #endif
 
 #ifdef MOZ_MEDIA_PLUGINS
   if (nsHTMLMediaElement::IsMediaPluginsEnabled() &&
       nsHTMLMediaElement::IsMediaPluginsType(nsDependentCString(aType))) {
     docFactory = 
do_GetService("@mozilla.org/content/document-loader-factory;1");
     if (docFactory && aLoaderType) {
       *aLoaderType = TYPE_CONTENT;
     }
     return docFactory.forget();
   }
 #endif // MOZ_MEDIA_PLUGINS
-
 #endif // MOZ_MEDIA
 
   return NULL;
 }
 
 // static
 bool
 nsContentUtils::IsPatternMatching(nsAString& aValue, nsAString& aPattern,
diff --git a/content/html/content/public/nsHTMLMediaElement.h 
b/content/html/content/public/nsHTMLMediaElement.h
--- a/content/html/content/public/nsHTMLMediaElement.h
+++ b/content/html/content/public/nsHTMLMediaElement.h
@@ -303,17 +303,18 @@ public:
 #ifdef MOZ_WEBM
   static bool IsWebMEnabled();
   static bool IsWebMType(const nsACString& aType);
   static const char gWebMTypes[2][11];
   static char const *const gWebMCodecs[4];
 #endif
 
 #ifdef MOZ_GSTREAMER
-  static bool IsH264Enabled();
+  static bool IsGStreamerEnabled();
+  static bool IsGStreamerSupportedType(const nsACString& aType);
   static bool IsH264Type(const nsACString& aType);
   static const char gH264Types[3][16];
   static char const *const gH264Codecs[7];
 #endif
 
 #ifdef MOZ_WIDGET_GONK
   static bool IsOmxEnabled();
   static bool IsOmxSupportedType(const nsACString& aType);
diff --git a/content/html/content/src/nsHTMLMediaElement.cpp 
b/content/html/content/src/nsHTMLMediaElement.cpp
--- a/content/html/content/src/nsHTMLMediaElement.cpp
+++ b/content/html/content/src/nsHTMLMediaElement.cpp
@@ -2148,34 +2148,29 @@ char const *const nsHTMLMediaElement::gH
 #ifdef MOZ_GSTREAMER
 const char nsHTMLMediaElement::gH264Types[3][16] = {
   "video/mp4",
   "video/3gpp",
   "video/quicktime",
 };
 
 bool
-nsHTMLMediaElement::IsH264Enabled()
+nsHTMLMediaElement::IsGStreamerEnabled()
 {
-  return Preferences::GetBool("media.h264.enabled");
+  return Preferences::GetBool("media.gstreamer.enabled");
 }
 
 bool
 nsHTMLMediaElement::IsH264Type(const nsACString& aType)
 {
-  if (!IsH264Enabled()) {
-    return false;
-  }
-
   for (uint32_t i = 0; i < ArrayLength(gH264Types); ++i) {
     if (aType.EqualsASCII(gH264Types[i])) {
       return true;
     }
   }
-
   return false;
 }
 #endif
 
 #ifdef MOZ_WIDGET_GONK
 const char nsHTMLMediaElement::gOmxTypes[5][16] = {
   "audio/mpeg",
   "audio/mp4",
@@ -2424,34 +2419,63 @@ nsHTMLMediaElement::CanPlayType(const ns
   default:
   case CANPLAY_MAYBE:
     aResult.AssignLiteral("maybe");
     break;
   }
   return NS_OK;
 }
 
+#ifdef MOZ_GSTREAMER
+bool
+nsHTMLMediaElement::IsGStreamerSupportedType(const nsACString& aMimeType)
+{
+  if (!IsGStreamerEnabled())
+    return false;
+  if (IsH264Type(aMimeType))
+    return true;
+  if (!Preferences::GetBool("media.prefer-gstreamer", false))
+    return false;
+#ifdef MOZ_WEBM
+  if (IsWebMType(aMimeType))
+    return true;
+#endif
+#ifdef MOZ_OGG
+  if (IsOggType(aMimeType))
+    return true;
+#endif
+  return false;
+}
+#endif
+
 already_AddRefed<nsMediaDecoder>
 nsHTMLMediaElement::CreateDecoder(const nsACString& aType)
 {
+#ifdef MOZ_GSTREAMER
+  // When enabled, use GStreamer for H.264, but not for codecs handled by our
+  // bundled decoders, unless the "media.prefer-gstreamer" pref is set.
+  if (IsGStreamerSupportedType(aType)) {
+    nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
+    if (decoder->Init(this)) {
+      return decoder.forget();
+    }
+  }
+#endif
+
 #ifdef MOZ_RAW
   if (IsRawType(aType)) {
     nsRefPtr<nsRawDecoder> decoder = new nsRawDecoder();
     if (decoder->Init(this)) {
       return decoder.forget();
     }
   }
 #endif
 #ifdef MOZ_OGG
   if (IsOggType(aType)) {
-#ifdef MOZ_GSTREAMER 
-    nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
-#else
     nsRefPtr<nsOggDecoder> decoder = new nsOggDecoder();
-#endif
     if (decoder->Init(this)) {
       return decoder.forget();
     }
   }
 #endif
 #ifdef MOZ_WAVE
   if (IsWaveType(aType)) {
     nsRefPtr<nsWaveDecoder> decoder = new nsWaveDecoder();
@@ -2473,44 +2497,32 @@ nsHTMLMediaElement::CreateDecoder(const 
     nsRefPtr<nsMediaPluginDecoder> decoder = new nsMediaPluginDecoder(aType);
     if (decoder->Init(this)) {
       return decoder.forget();
     }
   }
 #endif
 #ifdef MOZ_WEBM
   if (IsWebMType(aType)) {
-#ifdef MOZ_GSTREAMER 
-    nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
-#else
     nsRefPtr<nsWebMDecoder> decoder = new nsWebMDecoder();
-#endif
     if (decoder->Init(this)) {
       return decoder.forget();
     }
   }
 #endif
 
 #ifdef MOZ_DASH
   if (IsDASHMPDType(aType)) {
     nsRefPtr<nsDASHDecoder> decoder = new nsDASHDecoder();
     if (decoder->Init(this)) {
       return decoder.forget();
     }
   }
 #endif
 
-#ifdef MOZ_GSTREAMER 
-  if (IsH264Type(aType)) {
-    nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
-    if (decoder->Init(this)) {
-      return decoder.forget();
-    }
-  }
-#endif
   return nullptr;
 }
 
 nsresult nsHTMLMediaElement::InitializeDecoderAsClone(nsMediaDecoder* 
aOriginal)
 {
   NS_ASSERTION(mLoadingSrc, "mLoadingSrc must already be set");
   NS_ASSERTION(mDecoder == nullptr, "Shouldn't have a decoder");
 
diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js
--- a/modules/libpref/src/init/all.js
+++ b/modules/libpref/src/init/all.js
@@ -164,17 +164,17 @@ pref("media.wave.enabled", true);
 #endif
 #ifdef MOZ_WEBM
 pref("media.webm.enabled", true);
 #endif
 #ifdef MOZ_DASH
 pref("media.dash.enabled", true);
 #endif
 #ifdef MOZ_GSTREAMER
-pref("media.h264.enabled", true);
+pref("media.gstreamer.enabled", true);
 #endif
 #ifdef MOZ_WEBRTC
 pref("media.navigator.enabled", false);
 pref("media.peerconnection.enabled", false);
 pref("media.navigator.permission.disabled", false);
 #else
 #ifdef ANDROID
 pref("media.navigator.enabled", true);
++++++ mozilla-language.patch ++++++
--- /var/tmp/diff_new_pack.8CGSfb/_old  2013-01-14 09:49:13.000000000 +0100
+++ /var/tmp/diff_new_pack.8CGSfb/_new  2013-01-14 09:49:13.000000000 +0100
@@ -1,14 +1,14 @@
 # HG changeset patch
 # User Wolfgang Rosenauer <w...@rosenauer.org>
-# Parent 0d6917b8f28f6e0398dbf329dda4932ba4f997c2
+# Parent 97c6ae4c21e703a18e04f4d9fae9e2f06aeb13df
 Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
 
 diff --git a/intl/locale/src/nsLocaleService.cpp 
b/intl/locale/src/nsLocaleService.cpp
 --- a/intl/locale/src/nsLocaleService.cpp
 +++ b/intl/locale/src/nsLocaleService.cpp
-@@ -160,16 +160,17 @@ nsLocaleService::nsLocaleService(void)
+@@ -127,16 +127,17 @@ nsLocaleService::nsLocaleService(void)
      nsRefPtr<nsLocale> resultLocale(new nsLocale());
-     NS_ENSURE_TRUE(resultLocale, );
+     NS_ENSURE_TRUE_VOID(resultLocale);
  
  #ifdef MOZ_WIDGET_QT
      const char* lang = QLocale::system().name().toAscii();
@@ -24,7 +24,7 @@
  
      for( i = 0; i < LocaleListLength; i++ ) {
          nsresult result;
-@@ -188,16 +189,21 @@ nsLocaleService::nsLocaleService(void)
+@@ -155,16 +156,21 @@ nsLocaleService::nsLocaleService(void)
              } else {
                  CopyASCIItoUTF16(lang, platformLocale);
                  result = nsPosixLocale::GetXPLocale(lang, xpLocale);

++++++ mozilla-libproxy-compat.patch ++++++
# HG changeset patch
# Parent 99164862ccce7947259465dcf9edbf6375d56413
# User Wolfgang Rosenauer <w...@rosenauer.org>
No bug - libproxy API change picked up in bmo#769764 but fails in openSUSE 11.2 
and earlier. Still cast to char* to make "all" happy

diff --git a/toolkit/system/unixproxy/nsLibProxySettings.cpp 
b/toolkit/system/unixproxy/nsLibProxySettings.cpp
--- a/toolkit/system/unixproxy/nsLibProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsLibProxySettings.cpp
@@ -67,17 +67,17 @@ nsUnixSystemProxySettings::GetProxyForUR
 
   if (!mProxyFactory) {
     mProxyFactory = px_proxy_factory_new();
   }
   NS_ENSURE_TRUE(mProxyFactory, NS_ERROR_NOT_AVAILABLE);
 
   char **proxyArray = nullptr;
   proxyArray = px_proxy_factory_get_proxies(mProxyFactory,
-                                            PromiseFlatCString(aSpec).get());
+                                            (char *) 
(PromiseFlatCString(aSpec).get()));
   NS_ENSURE_TRUE(proxyArray, NS_ERROR_NOT_AVAILABLE);
 
   // Translate libproxy's output to PAC string as expected
   // libproxy returns an array of proxies in the format:
   // <procotol>://[username:password@]proxy:port
   // or
   // direct://
   //
++++++ mozilla-nongnome-proxies.patch ++++++
--- /var/tmp/diff_new_pack.8CGSfb/_old  2013-01-14 09:49:13.000000000 +0100
+++ /var/tmp/diff_new_pack.8CGSfb/_new  2013-01-14 09:49:13.000000000 +0100
@@ -9,11 +9,11 @@
 diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 
b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
 --- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
 +++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
-@@ -74,22 +74,28 @@ private:
-   nsresult SetProxyResultFromGSettings(const char* aKeyBase, const char* 
aType, nsACString& aResult);
- };
- 
- NS_IMPL_ISUPPORTS1(nsUnixSystemProxySettings, nsISystemProxySettings)
+@@ -50,22 +50,28 @@ nsUnixSystemProxySettings::GetMainThread
+   // dbus prevents us from being threadsafe, but this routine should not 
block anyhow
+   *aMainThreadOnly = true;
+   return NS_OK;
+ }
  
  nsresult
  nsUnixSystemProxySettings::Init()

++++++ mozilla-prefer_plugin_pref.patch ++++++
--- /var/tmp/diff_new_pack.8CGSfb/_old  2013-01-14 09:49:13.000000000 +0100
+++ /var/tmp/diff_new_pack.8CGSfb/_new  2013-01-14 09:49:13.000000000 +0100
@@ -4,7 +4,7 @@
 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
-@@ -1588,17 +1588,51 @@ nsPluginHost::FindPluginForType(const ch
+@@ -1543,17 +1543,51 @@ nsPluginHost::FindPluginForType(const ch
    if (!aMimeType) {
      return nullptr;
    }
@@ -14,7 +14,7 @@
    InfallibleTArray<nsPluginTag*> matchingPlugins;
  
 +  char *preferredPluginPath = NULL;
-+  nsCAutoString mimetypePrefString ("modules.plugins.mimetype.");
++  nsAutoCString mimetypePrefString ("modules.plugins.mimetype.");
 +  mimetypePrefString.Append(aMimeType);
 +  const char *mimetypePrefChar = mimetypePrefString.get();
 +  nsAdoptingCString pluginPath = Preferences::GetCString(mimetypePrefChar);

++++++ mozilla-shared-nss-db.patch ++++++
--- /var/tmp/diff_new_pack.8CGSfb/_old  2013-01-14 09:49:13.000000000 +0100
+++ /var/tmp/diff_new_pack.8CGSfb/_new  2013-01-14 09:49:13.000000000 +0100
@@ -7,7 +7,7 @@
 diff --git a/configure.in b/configure.in
 --- a/configure.in
 +++ b/configure.in
-@@ -7987,16 +7987,31 @@ AC_SUBST(QCMS_LIBS)
+@@ -8108,16 +8108,31 @@ AC_SUBST(QCMS_LIBS)
  
  dnl ========================================================
  dnl HarfBuzz
@@ -42,32 +42,32 @@
 diff --git a/security/manager/ssl/src/Makefile.in 
b/security/manager/ssl/src/Makefile.in
 --- a/security/manager/ssl/src/Makefile.in
 +++ b/security/manager/ssl/src/Makefile.in
-@@ -90,12 +90,14 @@ DEFINES += \
+@@ -93,10 +93,13 @@ DEFINES += \
    $(NULL)
  
  EXPORTS += \
+   CryptoTask.h \
    nsNSSShutDown.h \
+   ScopedNSSTypes.h \
    $(NULL)
  
- # Use local includes because they are inserted before INCLUDES
- # so that Mozilla's nss.h is used, not glibc's
--LOCAL_INCLUDES += $(NSS_CFLAGS)
-+LOCAL_INCLUDES += $(NSS_CFLAGS) $(NSSHELPER_CFLAGS)
-+
++LOCAL_INCLUDES += $(NSSHELPER_CFLAGS)
 +EXTRA_DSO_LDOPTS += $(NSSHELPER_LIBS)
- 
++
  include $(topsrcdir)/config/rules.mk
  
 diff --git a/security/manager/ssl/src/nsNSSComponent.cpp 
b/security/manager/ssl/src/nsNSSComponent.cpp
 --- a/security/manager/ssl/src/nsNSSComponent.cpp
 +++ b/security/manager/ssl/src/nsNSSComponent.cpp
-@@ -1,14 +1,21 @@
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-  *
+@@ -3,16 +3,23 @@
   * This Source Code Form is subject to the terms of the Mozilla Public
   * License, v. 2.0. If a copy of the MPL was not distributed with this
   * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  
+ #ifdef MOZ_LOGGING
+ #define FORCE_PR_LOG 1
+ #endif
+ 
 +#ifdef MOZ_ENABLE_NSSHELPER
 +#pragma GCC visibility push(default)
 +#include <nss-shared-helper.h>
@@ -83,7 +83,7 @@
  #include "nsNetUtil.h"
  #include "nsAppDirectoryServiceDefs.h"
  #include "nsDirectoryService.h"
-@@ -1731,18 +1738,34 @@ nsNSSComponent::InitializeNSS(bool showW
+@@ -1735,18 +1742,34 @@ nsNSSComponent::InitializeNSS(bool showW
      ConfigureInternalPKCS11Token();
  
      // The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs
@@ -123,7 +123,7 @@
 diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
 --- a/toolkit/library/Makefile.in
 +++ b/toolkit/library/Makefile.in
-@@ -443,17 +443,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
+@@ -484,17 +484,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
  endif
  endif
  endif

++++++ mozilla-sle11.patch ++++++
--- /var/tmp/diff_new_pack.8CGSfb/_old  2013-01-14 09:49:13.000000000 +0100
+++ /var/tmp/diff_new_pack.8CGSfb/_new  2013-01-14 09:49:13.000000000 +0100
@@ -5,7 +5,7 @@
 diff --git a/xpcom/glue/SSE.cpp b/xpcom/glue/SSE.cpp
 --- a/xpcom/glue/SSE.cpp
 +++ b/xpcom/glue/SSE.cpp
-@@ -44,26 +44,77 @@ namespace {
+@@ -12,26 +12,77 @@ namespace {
  // SSE.h has parallel #ifs which declare MOZILLA_SSE_HAVE_CPUID_DETECTION.
  // We can't declare these functions in the header file, however, because
  // <intrin.h> conflicts with <windows.h> on MSVC 2005, and some files want to
@@ -80,7 +80,7 @@
 +  return !!(unsigned(regs[reg]) & bit);
  }
  
- #elif defined(_MSC_VER) && _MSC_VER >= 1400 && (defined(_M_IX86) || 
defined(_M_AMD64))
+ #elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_AMD64))
  
  // MSVC 2005 or newer on x86-32 or x86-64
  #include <intrin.h>

++++++ mozilla-ua-locale.patch ++++++
--- /var/tmp/diff_new_pack.8CGSfb/_old  2013-01-14 09:49:13.000000000 +0100
+++ /var/tmp/diff_new_pack.8CGSfb/_new  2013-01-14 09:49:13.000000000 +0100
@@ -7,7 +7,7 @@
 diff --git a/chrome/src/nsChromeRegistryChrome.cpp 
b/chrome/src/nsChromeRegistryChrome.cpp
 --- a/chrome/src/nsChromeRegistryChrome.cpp
 +++ b/chrome/src/nsChromeRegistryChrome.cpp
-@@ -318,20 +318,21 @@ nsChromeRegistryChrome::GetSelectedLocal
+@@ -281,20 +281,21 @@ nsChromeRegistryChrome::GetSelectedLocal
  
    return NS_OK;
  }
@@ -24,7 +24,7 @@
 -  if (NS_SUCCEEDED(rv) && matchOSLocale) {
 +  if (NS_SUCCEEDED(rv) && matchOSLocale && !userLocaleOverride) {
      // compute lang and region code only when needed!
-     nsCAutoString uiLocale;
+     nsAutoCString uiLocale;
      rv = getUILangCountry(uiLocale);
      if (NS_SUCCEEDED(rv))
        mSelectedLocale = uiLocale;

++++++ mozilla-webrtc.patch ++++++
# HG changeset patch
# Parent 0b3f9d97af70d01863519daf4f57f8918b4bc17c
# User Wolfgang Rosenauer <w...@rosenauer.org>
Bug 805549 - signaling_sipcc fails to compile because of unused variable

diff --git a/media/webrtc/signaling/signaling.gyp 
b/media/webrtc/signaling/signaling.gyp
--- a/media/webrtc/signaling/signaling.gyp
+++ b/media/webrtc/signaling/signaling.gyp
@@ -189,17 +189,16 @@
             'SIP_OS_LINUX',
             '_GNU_SOURCE',
             'LINUX', 
             'GIPS_VER=3510', 
             'SECLIB_OPENSSL',
           ],
           
           'cflags_mozilla': [
-            '-Werror',
           ],
         }],
         ['OS=="win"', {
           'include_dirs': [
           ],           
           'defines': [
             'SIP_OS_WINDOWS',
             'WIN32', 
@@ -217,18 +216,16 @@
           ],
           'defines': [
             'SIP_OS_OSX',
             'OSX', 
             '_FORTIFY_SOURCE=2',
           ],
           
           'cflags_mozilla': [
-            '-Werror',
-            '-Wno-error=conversion'
           ],
         }],
       ],
     },
   
     #
     # SIPCC
     #
@@ -641,17 +638,16 @@
             'USE_TIMER_SELECT_BASED',
             'FULL_BUILD',
             'STUBBED_OUT',
             'USE_PRINTF'
             'LINUX',
           ],
 
           'cflags_mozilla': [
-            '-Werror',
           ],
         }],
         ['OS=="win"', {
           'include_dirs': [
           ],
           
           'sources': [
             # SIPSTACK
@@ -760,18 +756,16 @@
             'FULL_BUILD',
             'STUBBED_OUT',
             'USE_PRINTF',
             '_DARWIN_C_SOURCE',
             'NO_NSPR_10_SUPPORT',
           ],
           
           'cflags_mozilla': [
-            '-Werror',
-            '-Wno-error=conversion'
           ],
         }],
       ],
             
     },
   ],
 }
 
diff --git a/media/webrtc/signaling/src/sipcc/core/common/config_parser.c 
b/media/webrtc/signaling/src/sipcc/core/common/config_parser.c
--- a/media/webrtc/signaling/src/sipcc/core/common/config_parser.c
+++ b/media/webrtc/signaling/src/sipcc/core/common/config_parser.c
@@ -402,17 +402,16 @@ void config_set_ccm_ip_mac ()
 /*
  * config_setup_element
  * Setup elements that once were downloaded from CUCM in an XML file.
  * Settings are stored in config.h
  */
 void config_setup_elements (const char *sipUser, const char *sipPassword, 
const char *sipDomain)
 {
     unsigned int i;
-    char buf[MAX_SIP_URL_LENGTH] = {'\0'};
     char ip[MAX_SIP_URL_LENGTH] = {'\0'};
     char option[MAX_SIP_URL_LENGTH] = {'\0'};
     int line = 0;
     cc_boolean isSecure = FALSE, isValid = TRUE;
     char macaddr[MAC_ADDR_SIZE];
 
     compare_or_set_int_value(CFGID_MEDIA_PORT_RANGE_START, gStartMediaPort, 
(const unsigned char *) "startMediaPort");
     compare_or_set_int_value(CFGID_MEDIA_PORT_RANGE_END, gStopMediaPort, 
(const unsigned char *) "stopMediaPort");
++++++ seamonkey-2.14-source.tar.bz2 -> seamonkey-2.15-source.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/seamonkey/seamonkey-2.14-source.tar.bz2 
/work/SRC/openSUSE:Factory/.seamonkey.new/seamonkey-2.15-source.tar.bz2 differ: 
char 11, line 1

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to