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