22.0b4 update
authorWolfgang Rosenauer <wr@rosenauer.org>
Wed, 12 Jun 2013 21:15:08 +0200
changeset 650 e8c83b144fd1
parent 649 de1740022f78
child 651 19262ba479c4
child 653 38c67b6b2f37
22.0b4 update
MozillaFirefox/MozillaFirefox.changes
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/create-tar.sh
MozillaFirefox/mozilla-gstreamer-760140.patch
firefox-branded-icons.patch
firefox-browser-css.patch
firefox-kde.patch
firefox-multilocale-chrome.patch
mozilla-gstreamer-760140.patch
mozilla-kde.patch
mozilla-language.patch
mozilla-nongnome-proxies.patch
mozilla-ppc.patch
mozilla-prefer_plugin_pref.patch
mozilla-shared-nss-db.patch
series
--- a/MozillaFirefox/MozillaFirefox.changes	Thu May 30 09:22:10 2013 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes	Wed Jun 12 21:15:08 2013 +0200
@@ -1,4 +1,17 @@
 -------------------------------------------------------------------
+Wed Jun 12 19:12:39 UTC 2013 - wr@rosenauer.org
+
+- update to Firefox 22.0b4
+  * removed obsolete patches
+    + mozilla-qcms-ppc.patch
+    + mozilla-gstreamer-760140.patch
+
+-------------------------------------------------------------------
+Tue Jun 11 21:06:58 UTC 2013 - dvaleev@suse.com
+
+- Fix qcms altivec include (mozilla-qcms-ppc.patch)
+
+-------------------------------------------------------------------
 Fri May 10 05:25:39 UTC 2013 - wr@rosenauer.org
 
 - update to Firefox 21.0 (bnc#819204)
--- a/MozillaFirefox/MozillaFirefox.spec	Thu May 30 09:22:10 2013 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec	Wed Jun 12 21:15:08 2013 +0200
@@ -18,8 +18,8 @@
 
 
 %define major 21
-%define mainver %major.0
-%define update_channel release
+%define mainver %major.99
+%define update_channel beta
 
 %if %suse_version > 1220
 %define gstreamer_ver 0.10
@@ -60,7 +60,7 @@
 %endif
 Version:        %{mainver}
 Release:        0
-%define         releasedate 2013051000
+%define         releasedate 2013061100
 Provides:       firefox = %{mainver}
 Provides:       firefox = %{version}-%{release}
 Provides:       web_browser
@@ -101,8 +101,7 @@
 Patch10:        mozilla-sle11.patch
 Patch12:        mozilla-arm-disable-edsp.patch
 Patch13:        mozilla-ppc.patch
-Patch14:        mozilla-gstreamer-760140.patch
-Patch15:        mozilla-libproxy-compat.patch
+Patch14:        mozilla-libproxy-compat.patch
 # Firefox/browser
 Patch30:        firefox-browser-css.patch
 Patch31:        firefox-kde.patch
@@ -234,7 +233,6 @@
 %patch12 -p1
 %patch13 -p1
 %patch14 -p1
-%patch15 -p1
 #
 %patch30 -p1
 %if %suse_version >= 1110
@@ -555,6 +553,7 @@
 %{progdir}/browser/defaults
 %{progdir}/browser/icons/
 %{progdir}/browser/chrome/icons
+%{progdir}/browser/distribution/
 %{progdir}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
 %{progdir}/browser/searchplugins/
 %{progdir}/browser/blocklist.xml
--- a/MozillaFirefox/create-tar.sh	Thu May 30 09:22:10 2013 +0200
+++ b/MozillaFirefox/create-tar.sh	Wed Jun 12 21:15:08 2013 +0200
@@ -1,9 +1,9 @@
 #!/bin/bash
 
-CHANNEL="release"
+CHANNEL="beta"
 BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_21_0_RELEASE"
-VERSION="21.0"
+RELEASE_TAG="FIREFOX_22_0b4_RELEASE"
+VERSION="21.99"
 
 # mozilla
 if [ -d mozilla ]; then
--- a/MozillaFirefox/mozilla-gstreamer-760140.patch	Thu May 30 09:22:10 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-gstreamer-760140.patch
\ No newline at end of file
--- a/firefox-branded-icons.patch	Thu May 30 09:22:10 2013 +0200
+++ b/firefox-branded-icons.patch	Wed Jun 12 21:15:08 2013 +0200
@@ -1,10 +1,10 @@
 # HG changeset patch
-# Parent ad0e2fcaa00769bc56cc2b58d1264209f8c32623
+# Parent c2eac57908647987ed11893ad45262a32122dff4
 
 diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
 --- a/browser/app/Makefile.in
 +++ b/browser/app/Makefile.in
-@@ -132,16 +132,21 @@ GARBAGE += $(addprefix $(FINAL_TARGET)/d
+@@ -134,16 +134,21 @@ GARBAGE += $(addprefix $(FINAL_TARGET)/d
  endif
  
  ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
@@ -29,7 +29,7 @@
 diff --git a/browser/branding/official/Makefile.in b/browser/branding/official/Makefile.in
 --- a/browser/branding/official/Makefile.in
 +++ b/browser/branding/official/Makefile.in
-@@ -47,18 +47,21 @@ BRANDING_FILES := \
+@@ -42,18 +42,21 @@ BRANDING_FILES := \
  	document.icns \
  	dsstore \
  	$(NULL)
@@ -54,13 +54,13 @@
 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
 --- a/browser/installer/package-manifest.in
 +++ b/browser/installer/package-manifest.in
-@@ -558,18 +558,21 @@
- @BINPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
- #ifdef SHIP_FEEDBACK
+@@ -572,18 +572,21 @@
  @BINPATH@/browser/distribution/extensions/testpilot@labs.mozilla.com.xpi
  #endif
  @BINPATH@/chrome/toolkit@JAREXT@
  @BINPATH@/chrome/toolkit.manifest
+ @BINPATH@/chrome/recording.manifest
+ @BINPATH@/chrome/recording/*
  #ifdef MOZ_GTK2
  @BINPATH@/browser/chrome/icons/default/default16.png
 +@BINPATH@/browser/chrome/icons/default/default22.png
--- a/firefox-browser-css.patch	Thu May 30 09:22:10 2013 +0200
+++ b/firefox-browser-css.patch	Wed Jun 12 21:15:08 2013 +0200
@@ -6,9 +6,9 @@
 wr: changed because of
 https://bugzilla.novell.com/show_bug.cgi?id=561027
 
-diff --git a/browser/themes/gnomestripe/browser.css b/browser/themes/gnomestripe/browser.css
---- a/browser/themes/gnomestripe/browser.css
-+++ b/browser/themes/gnomestripe/browser.css
+diff --git a/browser/themes/linux/browser.css b/browser/themes/linux/browser.css
+--- a/browser/themes/linux/browser.css
++++ b/browser/themes/linux/browser.css
 @@ -1026,16 +1026,30 @@ toolbar[iconsize="small"] #feed-button {
  
  #urlbar-display {
--- a/firefox-kde.patch	Thu May 30 09:22:10 2013 +0200
+++ b/firefox-kde.patch	Wed Jun 12 21:15:08 2013 +0200
@@ -2,7 +2,7 @@
 new file mode 100644
 --- /dev/null
 +++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1216 @@
+@@ -0,0 +1,1225 @@
 +#filter substitution
 +<?xml version="1.0"?>
 +# -*- Mode: HTML -*-
@@ -119,7 +119,7 @@
 +               onpopupshowing="return FillHistoryMenu(event.target);"
 +               oncommand="gotoHistoryIndex(event); event.stopPropagation();"
 +               onclick="checkForMiddleClick(this, event);"/>
-+    <tooltip id="aHTMLTooltip" onpopupshowing="return FillInHTMLTooltip(document.tooltipNode);"/>
++    <tooltip id="aHTMLTooltip" page="true"/>
 +
 +    <!-- for search and content formfill/pw manager -->
 +    <panel type="autocomplete" id="PopupAutoComplete" noautofocus="true" hidden="true"/>
@@ -455,6 +455,13 @@
 +      </popupnotificationcontent>
 +    </popupnotification>
 +
++    <popupnotification id="pointerLock-notification" hidden="true">
++      <popupnotificationcontent orient="vertical" align="start">
++        <separator class="thin"/>
++        <label id="pointerLock-cancel" value="&pointerLock.notification.message;"/>
++      </popupnotificationcontent>
++    </popupnotification>
++
 +    <popupnotification id="mixed-content-blocked-notification" hidden="true">
 +      <popupnotificationcontent orient="vertical" align="start">
 +        <separator/>
@@ -580,10 +587,12 @@
 +            <image id="password-notification-icon" class="notification-anchor-icon" role="button"/>
 +            <image id="webapps-notification-icon" class="notification-anchor-icon" role="button"/>
 +            <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"/>
++            <image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"/>
 +            <image id="blocked-plugins-notification-icon" class="notification-anchor-icon" role="button"/>
 +            <image id="mixed-content-blocked-notification-icon" class="notification-anchor-icon" role="button"/>
 +            <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"/>
 +            <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"/>
++            <image id="pointerLock-notification-icon" class="notification-anchor-icon" role="button"/>
 +          </box>
 +          <!-- Use onclick instead of normal popup= syntax since the popup
 +               code fires onmousedown, and hence eats our favicon drag events.
@@ -717,10 +726,11 @@
 +                      command="Social:ToggleNotifications"
 +                      label="&social.toggleNotifications.label;"
 +                      accesskey="&social.toggleNotifications.accesskey;"/>
++            <menuitem class="social-toggle-menuitem" command="Social:Toggle"/>
 +            <menuseparator class="social-statusarea-separator"/>
 +            <menuseparator class="social-provider-menu" hidden="true"/>
-+            <menuitem class="social-toggle-menuitem" command="Social:Toggle"/>
-+            <menuitem class="social-remove-menuitem" command="Social:Remove"/>
++            <menuitem class="social-addons-menuitem" command="Social:Addons"
++                      label="&social.addons.label;"/>
 +          </menupopup>
 +        </toolbarbutton>
 +      </toolbaritem>
@@ -961,7 +971,7 @@
 +
 +    <toolbarpalette id="BrowserToolbarPalette">
 +
-+# Update primaryToolbarButtons in browser/themes/browserShared.inc when adding
++# Update primaryToolbarButtons in browser/themes/shared/browser.inc when adding
 +# or removing default items with the toolbarbutton-1 class.
 +
 +      <toolbarbutton id="print-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
@@ -1088,8 +1098,7 @@
 +                  flex="1" contenttooltip="aHTMLTooltip"
 +                  tabcontainer="tabbrowser-tabs"
 +                  contentcontextmenu="contentAreaContextMenu"
-+                  autocompletepopup="PopupAutoComplete"
-+                  onclick="contentAreaClick(event, false);"/>
++                  autocompletepopup="PopupAutoComplete"/>
 +      <chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/>
 +      <statuspanel id="statusbar-display" inactive="true"/>
 +    </vbox>
@@ -1104,7 +1113,7 @@
 +               type="content"
 +               context="contentAreaContextMenu"
 +               disableglobalhistory="true"
-+	       tooltip="aHTMLTooltip"
++               tooltip="aHTMLTooltip"
 +               flex="1"
 +               style="min-width: 14em; width: 18em; max-width: 36em;"/>
 +    </vbox>
@@ -1181,32 +1190,32 @@
 +
 +#ifndef XP_UNIX
 +  <svg:svg height="0">
-+    <svg:clipPath id="winstripe-keyhole-forward-clip-path" clipPathUnits="objectBoundingBox">
++    <svg:clipPath id="windows-keyhole-forward-clip-path" clipPathUnits="objectBoundingBox">
 +      <svg:path d="M 0,0 C 0.16,0.11 0.28,0.29 0.28,0.5 0.28,0.71 0.16,0.89 0,1 L 1,1 1,0 0,0 z"/>
 +    </svg:clipPath>
-+    <svg:clipPath id="winstripe-urlbar-back-button-clip-path" clipPathUnits="userSpaceOnUse">
++    <svg:clipPath id="windows-urlbar-back-button-clip-path" clipPathUnits="userSpaceOnUse">
 +      <svg:path d="M 0,0 0,7.8 C 2.5,11 4,14 4,18 4,22 2.5,25 0,28 l 0,22 10000,0 0,-50 L 0,0 z"/>
 +    </svg:clipPath>
 +  </svg:svg>
 +#endif
 +#ifdef XP_MACOSX
 +  <svg:svg height="0">
-+    <svg:clipPath id="pinstripe-keyhole-forward-clip-path" clipPathUnits="objectBoundingBox">
++    <svg:clipPath id="osx-keyhole-forward-clip-path" clipPathUnits="objectBoundingBox">
 +      <svg:path d="M 0,0 C 0.15,0.12 0.25,0.3 0.25,0.5 0.25,0.7 0.15,0.88 0,1 L 1,1 1,0 0,0 z"/>
 +    </svg:clipPath>
-+    <svg:clipPath id="pinstripe-urlbar-back-button-clip-path" clipPathUnits="userSpaceOnUse">
++    <svg:clipPath id="osx-urlbar-back-button-clip-path" clipPathUnits="userSpaceOnUse">
 +      <svg:path d="m 0,-5 0,4.03 C 3.6,1.8 6,6.1 6,11 6,16 3.6,20 0,23 l 0,27 10000,0 0,-55 L 0,-5 z"/>
 +    </svg:clipPath>
-+    <svg:clipPath id="pinstripe-tab-ontop-left-curve-clip-path" clipPathUnits="userSpaceOnUse">
++    <svg:clipPath id="osx-tab-ontop-left-curve-clip-path" clipPathUnits="userSpaceOnUse">
 +      <svg:path d="M 9,0 C 7.3,0 6,1.3 6,3 l 0,14 c 0,3 -2.2,5 -5,5 l -1,0 0,1 12,0 0,-1 0,-19 0,-3 -3,0 z"/>
 +    </svg:clipPath>
-+    <svg:clipPath id="pinstripe-tab-ontop-right-curve-clip-path" clipPathUnits="userSpaceOnUse">
++    <svg:clipPath id="osx-tab-ontop-right-curve-clip-path" clipPathUnits="userSpaceOnUse">
 +      <svg:path d="m 0,0 0,3 0,19 0,1 12,0 0,-1 -1,0 C 8.2,22 6,20 6,17 L 6,3 C 6,1.3 4.7,0 3,0 L 0,0 z"/>
 +    </svg:clipPath>
-+    <svg:clipPath id="pinstripe-tab-onbottom-left-curve-clip-path" clipPathUnits="userSpaceOnUse">
++    <svg:clipPath id="osx-tab-onbottom-left-curve-clip-path" clipPathUnits="userSpaceOnUse">
 +      <svg:path d="m 0,0 0,1 1,0 c 2.8,0 5,2.2 5,5 l 0,14 c 0,2 1.3,3 3,3 l 3,0 0,-3 L 12,1 12,0 0,0 z"/>
 +    </svg:clipPath>
-+    <svg:clipPath id="pinstripe-tab-onbottom-right-curve-clip-path" clipPathUnits="userSpaceOnUse">
++    <svg:clipPath id="osx-tab-onbottom-right-curve-clip-path" clipPathUnits="userSpaceOnUse">
 +      <svg:path d="m 0,0 0,1 0,19 0,3 3,0 c 1.7,0 3,-1 3,-3 L 6,6 C 6,3.2 8.2,1 11,1 L 12,1 12,0 0,0 z"/>
 +    </svg:clipPath>
 +  </svg:svg>
@@ -1356,7 +1365,7 @@
 diff --git a/browser/components/shell/src/Makefile.in b/browser/components/shell/src/Makefile.in
 --- a/browser/components/shell/src/Makefile.in
 +++ b/browser/components/shell/src/Makefile.in
-@@ -17,17 +17,18 @@ USE_STATIC_LIBS = 1
+@@ -15,17 +15,18 @@ USE_STATIC_LIBS = 1
  
  ifeq ($(OS_ARCH),WINNT)
  CPPSRCS = nsWindowsShellService.cpp
@@ -1789,7 +1798,7 @@
 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
 --- a/browser/installer/package-manifest.in
 +++ b/browser/installer/package-manifest.in
-@@ -588,19 +588,21 @@
+@@ -602,19 +602,21 @@
  @BINPATH@/defaults/autoconfig/prefcalls.js
  @BINPATH@/browser/defaults/profile/prefs.js
  
--- a/firefox-multilocale-chrome.patch	Thu May 30 09:22:10 2013 +0200
+++ b/firefox-multilocale-chrome.patch	Wed Jun 12 21:15:08 2013 +0200
@@ -1,12 +1,12 @@
 # HG changeset patch
-# Parent 4730f10113d354094e4c93aad9af5efa4abe15e0
+# Parent cd1ec2efff2b6c41550ce2b5b9b8ba8182eb9836
 # User Wolfgang Rosenauer <wr@rosenauer.org>
 Add searchplugins to chrome packaging for proper localization
 
 diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
 --- a/browser/app/profile/firefox.js
 +++ b/browser/app/profile/firefox.js
-@@ -341,16 +341,20 @@ pref("browser.download.panel.shown", fal
+@@ -342,16 +342,20 @@ pref("browser.download.panel.shown", fal
  pref("browser.download.panel.firstSessionCompleted", false);
  
  // search engines URL
@@ -104,7 +104,7 @@
 --- a/browser/locales/en-US/searchplugins/google.xml
 +++ b/browser/locales/en-US/searchplugins/google.xml
 @@ -9,24 +9,16 @@
- <Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUUlEQVR42pWTzUsCYRCH9y9zu3SooCCkjhIRRLeIykXokiWCJ7PvDpZRlz6si1lIQZ3SQxQdOhREpgSm0JeQvfu0+i6I7LKLh4F5h5nnnRl+o6jTdHn8omAYbVqhXqvYFXcEBKFDwcoZZB8B4LkEB9cwGGmFKHb01A1EU9JXzfdvDYZi1lwLwBcVAIwsNWPesIwls7gDtB2Z7N9ujVe+IX2LO2AgItB1OL9vJqsmILDrOoK02IkBAdYy4FsQJC5h+VQCHQDWTqYSgo8fuHuRxS4Ae3stQ7UGE5ttAHqCUgfxC7m4ryrowOyeO6CxqHwZxtYFqtYc5+kNan/gDTsAeueEIRj7n/rmRQMwueUAGF0VAAT3rQBTC0Y3DoDOGbm00icML4oWHYSTgo0MFqjlmPpDgqMcFCuQf4erBzjOwXjcriu9qHg0uutO2+es6fl67T9ptebvFRjBVgAAAABJRU5ErkJggg==</Image>
+ <Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACuUlEQVRYw8VX60sUURSffybWv6MloxeV0Jug+hJB0YMoCCII1E3LnlYKlVkkUZKaRFEGFlgfMntYhlopVpaP1HXuPPbOzOmcOw/XZbed3ZndvXBYlr17zu+8fudcaWmlLKEsQWlFmUOBAsucY4tsSmQ8gjJTBMOpQjYjkoMGSiStUpHCnknmpXz+uLdJgY5eDsN/TJA1C9KdkUkTjraoWXXlBGDNaQZd/VwoP3xHhbVnGOxvVuHLL1MY5QZArEODbfUMllX70+kbACl8N2qAxgE2XmCLfltZI8O3CRtEXLVg00Xm2ynfAOoeacLA2+9G2t8P3lK98Lf3JsIH8OmH7eEzTEGmO6NT9p3JuBU+ADUB/40ASdsb+5KiFxAAw6pfHkt/p/G5Lu6MTZvhAyDP3VPdrqW90/zSRnmjWw8fwLG7C0VGOV5/dnGll2OXfEVeoFpZcUoOHwBJ0wvdA0FtdwS5YF0dg93XFHg1ZMDrYQNW17KcSC1nJtx3U4XH77nwdui3CaZDhAM/TSiP5c6qUhAu33qJeRFp6UnkpSMQgC1JAKZlC3Y1KsUFQEJ5dw/1/8kHWuEARKtk2HNdgctPdTENewYN0fPJxypUG1Zh74/PWsDQS2K8E/c12NmgQMU5BhXYksT/yaehSw8PgEuxn7HSUydhKkjuZIQ+N5xnwQEcv2cTkIGR3uxjzNY81LwoVLZpwQF0D3ChjCad33RRqujQchIYgDuG/2KbRX0CcDckP22ZFUBnH/dCWtuZ3SMqygTmv3/MCKcIt19RvFHMTbu6M1Eu7Yh9IwbMMEt0SGhdcOi2ClPzC9vvLBp48oELMLSq1SMv0HfakD+i5zuuKuHzwCqccmSMph6NY1pOqdWoNgbHTcEDB3AvjOZBxSV/mJT8aVZWwsdpmeQ8zyNOJOJFMBx3bJFN6R++on7RvMlpZAAAAABJRU5ErkJggg==</Image>
  <Url type="application/x-suggestions+json" method="GET" template="https://www.google.com/complete/search?client=firefox&amp;q={searchTerms}"/>
  <Url type="text/html" method="GET" template="https://www.google.com/search">
    <Param name="q" value="{searchTerms}"/>
@@ -131,7 +131,7 @@
 diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
 --- a/browser/locales/jar.mn
 +++ b/browser/locales/jar.mn
-@@ -115,16 +115,17 @@
+@@ -116,16 +116,17 @@
      locale/browser/syncQuota.properties         (%chrome/browser/syncQuota.properties)
  #endif
  % locale browser-region @AB_CD@ %locale/browser-region/
--- a/mozilla-gstreamer-760140.patch	Thu May 30 09:22:10 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,541 +0,0 @@
-# HG changeset patch
-# Parent 74ba8ebd0dc72be84280bd4806f84d9ec1f4e130
-Bug 760140 - Query the GstRegistry for the required demuxers/decoders from canPlayType (TM: 22)
-
-diff --git a/content/media/DecoderTraits.cpp b/content/media/DecoderTraits.cpp
---- a/content/media/DecoderTraits.cpp
-+++ b/content/media/DecoderTraits.cpp
-@@ -7,16 +7,18 @@
- #include "DecoderTraits.h"
- #include "MediaDecoder.h"
- #include "nsCharSeparatedTokenizer.h"
- #ifdef MOZ_MEDIA_PLUGINS
- #include "MediaPluginHost.h"
- #endif
- #ifdef MOZ_GSTREAMER
- #include "mozilla/Preferences.h"
-+#include "GStreamerDecoder.h"
-+#include "nsXPCOMStrings.h"
- #endif
- #ifdef MOZ_WMF
- #include "WMFDecoder.h"
- #endif
- 
- namespace mozilla
- {
- 
-@@ -137,48 +139,35 @@ DecoderTraits::IsWebMType(const nsACStri
-     return false;
-   }
- 
-   return CodecListContains(gWebMTypes, aType);
- }
- #endif
- 
- #ifdef MOZ_GSTREAMER
--static const char* const gH264Types[4] = {
--  "video/mp4",
--  "video/3gpp",
--  "video/quicktime",
--  nullptr
--};
--
- bool
- DecoderTraits::IsGStreamerSupportedType(const nsACString& aMimeType)
- {
-   if (!MediaDecoder::IsGStreamerEnabled())
-     return false;
--  if (IsH264Type(aMimeType))
-+  if (GStreamerDecoder::CanHandleMediaType(aMimeType, 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;
- }
--
--bool
--DecoderTraits::IsH264Type(const nsACString& aType)
--{
--  return CodecListContains(gH264Types, aType);
--}
- #endif
- 
- #ifdef MOZ_WIDGET_GONK
- static const char* const gOmxTypes[6] = {
-   "audio/mpeg",
-   "audio/mp4",
-   "video/mp4",
-   "video/3gpp",
-@@ -190,19 +179,17 @@ bool
- DecoderTraits::IsOmxSupportedType(const nsACString& aType)
- {
-   if (!MediaDecoder::IsOmxEnabled()) {
-     return false;
-   }
- 
-   return CodecListContains(gOmxTypes, aType);
- }
--#endif
- 
--#if defined(MOZ_GSTREAMER) || defined(MOZ_WIDGET_GONK)
- static char const *const gH264Codecs[9] = {
-   "avc1.42E01E",  // H.264 Constrained Baseline Profile Level 3.0
-   "avc1.42001E",  // H.264 Baseline Profile Level 3.0
-   "avc1.58A01E",  // H.264 Extended Profile Level 3.0
-   "avc1.4D401E",  // H.264 Main Profile Level 3.0
-   "avc1.64001E",  // H.264 High Profile Level 3.0
-   "avc1.64001F",  // H.264 High Profile Level 3.1
-   "mp4v.20.3",    // 3GPP
-@@ -303,19 +290,19 @@ DecoderTraits::CanHandleMediaType(const 
- #ifdef MOZ_DASH
-   if (IsDASHMPDType(nsDependentCString(aMIMEType))) {
-     // DASH manifest uses WebM codecs only.
-     codecList = gWebMCodecs;
-     result = CANPLAY_YES;
-   }
- #endif
- #ifdef MOZ_GSTREAMER
--  if (IsH264Type(nsDependentCString(aMIMEType))) {
--    codecList = gH264Codecs;
--    result = CANPLAY_MAYBE;
-+  if (GStreamerDecoder::CanHandleMediaType(nsDependentCString(aMIMEType),
-+                                           aHaveRequestedCodecs ? &aRequestedCodecs : nullptr)) {
-+    return CANPLAY_YES;
-   }
- #endif
- #ifdef MOZ_WIDGET_GONK
-   if (IsOmxSupportedType(nsDependentCString(aMIMEType))) {
-     codecList = gH264Codecs;
-     result = CANPLAY_MAYBE;
-   }
- #endif
-@@ -324,17 +311,17 @@ DecoderTraits::CanHandleMediaType(const 
-     result = CANPLAY_MAYBE;
-   }
- #endif
- #ifdef MOZ_MEDIA_PLUGINS
-   if (MediaDecoder::IsMediaPluginsEnabled() &&
-       GetMediaPluginHost()->FindDecoder(nsDependentCString(aMIMEType), &codecList))
-     result = CANPLAY_MAYBE;
- #endif
--  if (result == CANPLAY_NO || !aHaveRequestedCodecs) {
-+  if (result == CANPLAY_NO || !aHaveRequestedCodecs || !codecList) {
-     return result;
-   }
- 
-   // See http://www.rfc-editor.org/rfc/rfc4281.txt for the description
-   // of the 'codecs' parameter
-   nsCharSeparatedTokenizer tokenizer(aRequestedCodecs, ',');
-   bool expectMoreTokens = false;
-   while (tokenizer.hasMoreTokens()) {
-diff --git a/content/media/DecoderTraits.h b/content/media/DecoderTraits.h
---- a/content/media/DecoderTraits.h
-+++ b/content/media/DecoderTraits.h
-@@ -51,17 +51,16 @@ public:
- #ifdef MOZ_WEBM
-   static bool IsWebMType(const nsACString& aType);
- #endif
- 
- #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.
-   static bool IsGStreamerSupportedType(const nsACString& aType);
--  static bool IsH264Type(const nsACString& aType);
- #endif
- 
- #ifdef MOZ_WIDGET_GONK
-   static bool IsOmxSupportedType(const nsACString& aType);
- #endif
- 
- #ifdef MOZ_MEDIA_PLUGINS
-   static bool IsMediaPluginsType(const nsACString& aType);
-diff --git a/content/media/gstreamer/GStreamerDecoder.cpp b/content/media/gstreamer/GStreamerDecoder.cpp
---- a/content/media/gstreamer/GStreamerDecoder.cpp
-+++ b/content/media/gstreamer/GStreamerDecoder.cpp
-@@ -2,18 +2,26 @@
- /* vim:set ts=2 sw=2 sts=2 et cindent: */
- /* 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/. */
- 
- #include "MediaDecoderStateMachine.h"
- #include "GStreamerReader.h"
- #include "GStreamerDecoder.h"
-+#include "GStreamerFormatHelper.h"
- 
- namespace mozilla {
- 
- MediaDecoderStateMachine* GStreamerDecoder::CreateStateMachine()
- {
-   return new MediaDecoderStateMachine(this, new GStreamerReader(this));
- }
- 
-+bool
-+GStreamerDecoder::CanHandleMediaType(const nsACString& aMIMEType,
-+                                     const nsAString* aCodecs)
-+{
-+  return GStreamerFormatHelper::Instance()->CanHandleMediaType(aMIMEType, aCodecs);
-+}
-+
- } // namespace mozilla
- 
-diff --git a/content/media/gstreamer/GStreamerDecoder.h b/content/media/gstreamer/GStreamerDecoder.h
---- a/content/media/gstreamer/GStreamerDecoder.h
-+++ b/content/media/gstreamer/GStreamerDecoder.h
-@@ -3,21 +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/. */
- 
- #if !defined(GStreamerDecoder_h_)
- #define GStreamerDecoder_h_
- 
- #include "MediaDecoder.h"
-+#include "nsXPCOMStrings.h"
- 
- namespace mozilla {
- 
- class GStreamerDecoder : public MediaDecoder
- {
- public:
-   virtual MediaDecoder* Clone() { return new GStreamerDecoder(); }
-   virtual MediaDecoderStateMachine* CreateStateMachine();
-+  static bool CanHandleMediaType(const nsACString& aMIMEType, const nsAString* aCodecs);
- };
- 
- } // namespace mozilla
- 
- #endif
-diff --git a/content/media/gstreamer/GStreamerFormatHelper.cpp b/content/media/gstreamer/GStreamerFormatHelper.cpp
-new file mode 100644
---- /dev/null
-+++ b/content/media/gstreamer/GStreamerFormatHelper.cpp
-@@ -0,0 +1,159 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-+/* vim:set ts=2 sw=2 sts=2 et cindent: */
-+/* 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/. */
-+
-+#include "GStreamerFormatHelper.h"
-+#include "nsCharSeparatedTokenizer.h"
-+#include "nsXPCOMStrings.h"
-+
-+#define ENTRY_FORMAT(entry) entry[0]
-+#define ENTRY_CAPS(entry) entry[1]
-+
-+GStreamerFormatHelper* GStreamerFormatHelper::gInstance = nullptr;
-+
-+GStreamerFormatHelper* GStreamerFormatHelper::Instance() {
-+  if (!gInstance) {
-+    gst_init(nullptr, nullptr);
-+    gInstance = new GStreamerFormatHelper();
-+  }
-+
-+  return gInstance;
-+}
-+
-+void GStreamerFormatHelper::Shutdown() {
-+  if (gInstance) {
-+    delete gInstance;
-+    gInstance = nullptr;
-+  }
-+}
-+
-+char const *const GStreamerFormatHelper::mContainers[4][2] = {
-+  {"video/mp4", "video/quicktime"},
-+  {"video/quicktime", "video/quicktime"},
-+  {"audio/mp4", "audio/mpeg, mpegversion=(int)4"},
-+  {"audio/mpeg", "audio/mpeg, mpegversion=(int)1"},
-+};
-+
-+char const *const GStreamerFormatHelper::mCodecs[8][2] = {
-+  {"avc1.42E01E", "video/x-h264"},
-+  {"avc1.42001E", "video/x-h264"},
-+  {"avc1.58A01E", "video/x-h264"},
-+  {"avc1.4D401E", "video/x-h264"},
-+  {"avc1.64001E", "video/x-h264"},
-+  {"avc1.64001F", "video/x-h264"},
-+  {"mp4v.20.3", "video/3gpp"},
-+  {"mp4a.40.2", "audio/mpeg, mpegversion=(int)4"},
-+};
-+
-+GStreamerFormatHelper::GStreamerFormatHelper()
-+  : mFactories(nullptr),
-+    mCookie(static_cast<uint32_t>(-1))
-+{
-+}
-+
-+GStreamerFormatHelper::~GStreamerFormatHelper() {
-+  if (mFactories)
-+    g_list_free(mFactories);
-+}
-+
-+bool GStreamerFormatHelper::CanHandleMediaType(const nsACString& aMIMEType,
-+                                               const nsAString* aCodecs) {
-+  const char *type;
-+  NS_CStringGetData(aMIMEType, &type, NULL);
-+
-+  GstCaps* caps = ConvertFormatsToCaps(type, aCodecs);
-+  if (!caps) {
-+    return false;
-+  }
-+
-+  bool ret = HaveElementsToProcessCaps(caps);
-+  gst_caps_unref(caps);
-+
-+  return ret;
-+}
-+
-+GstCaps* GStreamerFormatHelper::ConvertFormatsToCaps(const char* aMIMEType,
-+                                                     const nsAString* aCodecs) {
-+  unsigned int i;
-+
-+  /* convert aMIMEType to gst container caps */
-+  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]);
-+      break;
-+    }
-+  }
-+
-+  if (!capsString) {
-+    /* we couldn't find any matching caps */
-+    return nullptr;
-+  }
-+
-+  GstCaps* caps = gst_caps_from_string(capsString);
-+  /* container only */
-+  if (!aCodecs) {
-+    return caps;
-+  }
-+
-+  nsCharSeparatedTokenizer tokenizer(*aCodecs, ',');
-+  while (tokenizer.hasMoreTokens()) {
-+    const nsSubstring& codec = tokenizer.nextToken();
-+    capsString = nullptr;
-+
-+    for (i = 0; i < G_N_ELEMENTS(mCodecs); i++) {
-+      if (codec.EqualsASCII(ENTRY_FORMAT(mCodecs[i]))) {
-+        capsString = ENTRY_CAPS(mCodecs[i]);
-+        break;
-+      }
-+    }
-+
-+    if (!capsString) {
-+      gst_caps_unref(caps);
-+      return nullptr;
-+    }
-+
-+    GstCaps* tmp = gst_caps_from_string(capsString);
-+    /* appends and frees tmp */
-+    gst_caps_append(caps, tmp);
-+  }
-+
-+  return caps;
-+}
-+
-+bool GStreamerFormatHelper::HaveElementsToProcessCaps(GstCaps* aCaps) {
-+
-+  GList* factories = GetFactories();
-+
-+  GList* list;
-+  /* here aCaps contains [containerCaps, [codecCaps1, [codecCaps2, ...]]] so process
-+   * caps structures individually as we want one element for _each_
-+   * 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), nullptr);
-+    list = gst_element_factory_list_filter (factories, caps, GST_PAD_SINK, FALSE);
-+    gst_caps_unref(caps);
-+    if (!list) {
-+      return false;
-+    }
-+    g_list_free(list);
-+  }
-+
-+  return true;
-+}
-+
-+GList* GStreamerFormatHelper::GetFactories() {
-+  uint32_t cookie = gst_default_registry_get_feature_list_cookie ();
-+  if (cookie != mCookie) {
-+    g_list_free(mFactories);
-+    mFactories = gst_element_factory_list_get_elements
-+        (GST_ELEMENT_FACTORY_TYPE_DEMUXER | GST_ELEMENT_FACTORY_TYPE_DECODER,
-+         GST_RANK_MARGINAL);
-+    mCookie = cookie;
-+  }
-+
-+  return mFactories;
-+}
-diff --git a/content/media/gstreamer/GStreamerFormatHelper.h b/content/media/gstreamer/GStreamerFormatHelper.h
-new file mode 100644
---- /dev/null
-+++ b/content/media/gstreamer/GStreamerFormatHelper.h
-@@ -0,0 +1,60 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-+/* vim:set ts=2 sw=2 sts=2 et cindent: */
-+/* 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/. */
-+
-+#if !defined(GStreamerFormatHelper_h_)
-+#define GStreamerFormatHelper_h_
-+
-+#include <gst/gst.h>
-+#include <mozilla/Types.h>
-+#include "nsXPCOMStrings.h"
-+
-+class GStreamerFormatHelper {
-+  /* This class can be used to query the GStreamer registry for the required
-+   * demuxers/decoders from nsHTMLMediaElement::CanPlayType.
-+   * It implements looking at the GstRegistry to check if elements to
-+   * demux/decode the formats passed to CanPlayType() are actually installed.
-+   */
-+  public:
-+    static GStreamerFormatHelper* Instance();
-+    ~GStreamerFormatHelper();
-+
-+    bool CanHandleMediaType(const nsACString& aMIMEType,
-+                            const nsAString* aCodecs);
-+
-+   static void Shutdown();
-+
-+  private:
-+    GStreamerFormatHelper();
-+    GstCaps* ConvertFormatsToCaps(const char* aMIMEType,
-+                                  const nsAString* aCodecs);
-+    char* const *CodecListFromCaps(GstCaps* aCaps);
-+    bool HaveElementsToProcessCaps(GstCaps* aCaps);
-+    GList* GetFactories();
-+
-+    static GStreamerFormatHelper* gInstance;
-+
-+    /* table to convert from container MIME types to GStreamer elements */
-+    static char const *const mContainers[4][2];
-+
-+    /* table to convert from codec MIME types to GStreamer elements */
-+    static char const *const mCodecs[8][2];
-+
-+    /* list of GStreamer element factories
-+     * Element factories are the basic types retrieved from the GStreamer
-+     * registry, they describe all plugins and elements that GStreamer can
-+     * create.
-+     * This means that element factories are useful for automated element
-+     * instancing, such as what autopluggers do,
-+     * and for creating lists of available elements. */
-+    GList* mFactories;
-+
-+    /* Storage for the default registrys feature list cookie.
-+     * It changes every time a feature is added to or removed from the
-+     * GStreamer registry. */
-+    uint32_t mCookie;
-+};
-+
-+#endif
-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
-@@ -13,21 +13,23 @@ include $(DEPTH)/config/autoconf.mk
- MODULE		= content
- LIBRARY_NAME	= gkcongstreamer_s
- LIBXUL_LIBRARY 	= 1
- 
- 
- EXPORTS		+= \
- 		GStreamerDecoder.h \
- 		GStreamerReader.h \
-+		GStreamerFormatHelper.h \
- 		$(NULL)
- 
- CPPSRCS		= \
- 		GStreamerReader.cpp \
- 		GStreamerDecoder.cpp \
-+		GStreamerFormatHelper.cpp \
- 		$(NULL)
- 
- FORCE_STATIC_LIB = 1
- 
- include $(topsrcdir)/config/rules.mk
- 
- CFLAGS		+= $(GSTREAMER_CFLAGS)
- CXXFLAGS	+= $(GSTREAMER_CFLAGS)
-diff --git a/layout/build/Makefile.in b/layout/build/Makefile.in
---- a/layout/build/Makefile.in
-+++ b/layout/build/Makefile.in
-@@ -318,16 +318,20 @@ LOCAL_INCLUDES	+= -I$(srcdir)/../base \
- 		   -I$(topsrcdir)/js/xpconnect/loader \
- 		   -I$(topsrcdir)/caps/include \
- 		   -I$(topsrcdir)/netwerk/base/src \
- 		   -I$(topsrcdir)/content/svg/content/src \
- 		   -I$(topsrcdir)/extensions/cookie \
- 		   -I$(topsrcdir)/netwerk/cookie \
- 		   $(NULL)
- 
-+ifdef MOZ_GSTREAMER
-+LOCAL_INCLUDES	+= $(GSTREAMER_CFLAGS)
-+endif
-+
- ifdef MOZ_B2G_RIL #{
- LOCAL_INCLUDES	+= -I$(topsrcdir)/dom/system/gonk
- endif #}
- 
- ifdef MOZ_B2G_FM #{
- LOCAL_INCLUDES	+= -I$(topsrcdir)/dom/fm
- endif #}
- 
-diff --git a/layout/build/nsLayoutStatics.cpp b/layout/build/nsLayoutStatics.cpp
---- a/layout/build/nsLayoutStatics.cpp
-+++ b/layout/build/nsLayoutStatics.cpp
-@@ -79,16 +79,20 @@
- #ifdef MOZ_MEDIA_PLUGINS
- #include "MediaPluginHost.h"
- #endif
- 
- #ifdef MOZ_WMF
- #include "WMFDecoder.h"
- #endif
- 
-+#ifdef MOZ_GSTREAMER
-+#include "GStreamerFormatHelper.h"
-+#endif
-+
- #ifdef MOZ_SYDNEYAUDIO
- #include "AudioStream.h"
- #endif
- 
- #ifdef MOZ_WIDGET_GONK
- #include "nsVolumeService.h"
- using namespace mozilla::system;
- #endif
-@@ -344,16 +348,20 @@ nsLayoutStatics::Shutdown()
-   nsXBLService::Shutdown();
-   nsAutoCopyListener::Shutdown();
-   FrameLayerBuilder::Shutdown();
- 
- #ifdef MOZ_MEDIA_PLUGINS
-   MediaPluginHost::Shutdown();
- #endif
- 
-+#ifdef MOZ_GSTREAMER
-+  GStreamerFormatHelper::Shutdown();
-+#endif
-+
- #ifdef MOZ_SYDNEYAUDIO
-   AudioStream::ShutdownLibrary();
- #endif
- 
- #ifdef MOZ_WMF
-   WMFDecoder::UnloadDLLs();
- #endif
- 
--- a/mozilla-kde.patch	Thu May 30 09:22:10 2013 +0200
+++ b/mozilla-kde.patch	Wed Jun 12 21:15:08 2013 +0200
@@ -7,7 +7,7 @@
 diff --git a/modules/libpref/src/Makefile.in b/modules/libpref/src/Makefile.in
 --- a/modules/libpref/src/Makefile.in
 +++ b/modules/libpref/src/Makefile.in
-@@ -54,14 +54,15 @@ endif
+@@ -52,14 +52,15 @@ endif
  # Optimizer bug with GCC 3.2.2 on OS/2
  ifeq ($(OS_ARCH), OS2)
  nsPrefService.$(OBJ_SUFFIX): nsPrefService.cpp
@@ -184,18 +184,17 @@
 diff --git a/toolkit/components/downloads/Makefile.in b/toolkit/components/downloads/Makefile.in
 --- a/toolkit/components/downloads/Makefile.in
 +++ b/toolkit/components/downloads/Makefile.in
-@@ -42,9 +42,12 @@ EXTRA_COMPONENTS = \
+@@ -32,9 +32,11 @@ ifndef MOZ_SUITE
+ EXTRA_COMPONENTS = \
+   nsDownloadManagerUI.js \
    nsDownloadManagerUI.manifest \
    $(NULL)
  endif
  
- TEST_DIRS += test
- 
  include $(topsrcdir)/config/rules.mk
  
 +LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
 +
-+
  CXXFLAGS += $(TK_CFLAGS)
 diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
 --- a/toolkit/components/downloads/nsDownloadManager.cpp
@@ -255,7 +254,7 @@
                    NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
                    message, !removeWhenDone,
                    mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
-                   mDownloadManager, EmptyString());
+                   mDownloadManager, EmptyString(), NS_LITERAL_STRING("auto"), EmptyString());
 -            }
 +          }
          }
@@ -2146,7 +2145,7 @@
  nsUnixSystemProxySettings::GetMainThreadOnly(bool *aMainThreadOnly)
  {
    // dbus prevents us from being threadsafe, but this routine should not block anyhow
-@@ -499,16 +502,19 @@ nsUnixSystemProxySettings::GetProxyFromG
+@@ -496,16 +499,19 @@ nsUnixSystemProxySettings::GetProxyFromG
  
  nsresult
  nsUnixSystemProxySettings::GetProxyForURI(const nsACString & aSpec,
@@ -2166,7 +2165,7 @@
    if (mGConf)
      return GetProxyFromGConf(aScheme, aHost, aPort, aResult);
  
-@@ -534,8 +540,34 @@ static const mozilla::Module::ContractID
+@@ -531,8 +537,34 @@ static const mozilla::Module::ContractID
  
  static const mozilla::Module kUnixProxyModule = {
    mozilla::Module::kVersion,
@@ -2204,7 +2203,7 @@
 diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in
 --- a/toolkit/xre/Makefile.in
 +++ b/toolkit/xre/Makefile.in
-@@ -72,17 +72,18 @@ else
+@@ -63,17 +63,18 @@ else
  ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
  CMMSRCS = nsNativeAppSupportCocoa.mm
  EXPORTS += MacQuirks.h
@@ -2624,7 +2623,7 @@
 diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in
 --- a/uriloader/exthandler/Makefile.in
 +++ b/uriloader/exthandler/Makefile.in
-@@ -59,18 +59,19 @@ LOCAL_INCLUDES = -I$(srcdir)
+@@ -53,18 +53,19 @@ LOCAL_INCLUDES = -I$(srcdir)
  LOCAL_INCLUDES += -I$(topsrcdir)/dom/base \
              -I$(topsrcdir)/dom/ipc \
              -I$(topsrcdir)/content/base/src \
@@ -2900,14 +2899,14 @@
        nsAutoCString spec;
        aURI->GetAsciiSpec(spec);
        if (hildon_uri_open(spec.get(), action, nullptr))
-@@ -61,22 +64,22 @@ nsMIMEInfoUnix::LoadUriInternal(nsIURI *
+@@ -67,22 +70,22 @@ nsMIMEInfoUnix::GetHasDefaultHandler(boo
+ {
+   // if mDefaultApplication is set, it means the application has been set from
+   // either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to
+   // give the GNOME answer.
+   if (mDefaultApplication)
+     return nsMIMEInfoImpl::GetHasDefaultHandler(_retval);
  
-   return rv;
- }
- 
- NS_IMETHODIMP
- nsMIMEInfoUnix::GetHasDefaultHandler(bool *_retval)
- {
    *_retval = false;
 -  nsRefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromType(mSchemeOrType);
 +  nsRefPtr<nsMIMEInfoBase> mimeInfo = nsCommonRegistry::GetFromType(mSchemeOrType);
@@ -2925,7 +2924,7 @@
    if (*_retval)
      return NS_OK;
  
-@@ -119,16 +122,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
+@@ -130,16 +133,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
      ContentAction::Action::defaultActionForFile(uri, QString(mSchemeOrType.get()));
    if (action.isValid()) {
      action.trigger();
@@ -2959,7 +2958,7 @@
      nsCOMPtr<nsIIOService> ioservice = do_GetService(NS_IOSERVICE_CONTRACTID, &rv);
      NS_ENSURE_SUCCESS(rv, rv);
      nsCOMPtr<nsIURI> uri;
-@@ -146,17 +166,17 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
+@@ -157,17 +177,17 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
      /* Fallback to GnomeVFS */
      nsCOMPtr<nsIGnomeVFSMimeApp> app;
      if (NS_SUCCEEDED(gnomevfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) && app)
@@ -3073,7 +3072,7 @@
 diff --git a/widget/gtk2/Makefile.in b/widget/gtk2/Makefile.in
 --- a/widget/gtk2/Makefile.in
 +++ b/widget/gtk2/Makefile.in
-@@ -104,11 +104,14 @@ DEFINES		+= -DCAIRO_GFX -DMOZ_APP_NAME='
+@@ -102,11 +102,14 @@ DEFINES		+= -DCAIRO_GFX -DMOZ_APP_NAME='
  
  INCLUDES	+= \
  		-I$(srcdir)/../xpwidgets \
@@ -3439,7 +3438,7 @@
 diff --git a/xpcom/components/Makefile.in b/xpcom/components/Makefile.in
 --- a/xpcom/components/Makefile.in
 +++ b/xpcom/components/Makefile.in
-@@ -59,10 +59,11 @@ LOCAL_INCLUDES	= \
+@@ -46,10 +46,11 @@ LOCAL_INCLUDES	= \
  # we don't want the shared lib, but we want to force the creation of a static lib.
  FORCE_STATIC_LIB = 1
  
@@ -3585,7 +3584,7 @@
 diff --git a/xpcom/io/Makefile.in b/xpcom/io/Makefile.in
 --- a/xpcom/io/Makefile.in
 +++ b/xpcom/io/Makefile.in
-@@ -161,17 +161,17 @@ include $(topsrcdir)/ipc/chromium/chromi
+@@ -113,17 +113,17 @@ include $(topsrcdir)/ipc/chromium/chromi
  DEFINES		+= -D_IMPL_NS_COM
  
  ifeq ($(OS_ARCH),Linux)
--- a/mozilla-language.patch	Thu May 30 09:22:10 2013 +0200
+++ b/mozilla-language.patch	Wed Jun 12 21:15:08 2013 +0200
@@ -1,6 +1,6 @@
 # HG changeset patch
 # User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent 97c6ae4c21e703a18e04f4d9fae9e2f06aeb13df
+# Parent df748bfc0eaca6dedf086cfd7167392416bfae27
 Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
 
 diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleService.cpp
@@ -11,7 +11,7 @@
      NS_ENSURE_TRUE_VOID(resultLocale);
  
  #ifdef MOZ_WIDGET_QT
-     const char* lang = QLocale::system().name().toAscii();
+     const char* lang = QLocale::system().name().toUtf8();
  #else
      // Get system configuration
      const char* lang = getenv("LANG");
--- a/mozilla-nongnome-proxies.patch	Thu May 30 09:22:10 2013 +0200
+++ b/mozilla-nongnome-proxies.patch	Wed Jun 12 21:15:08 2013 +0200
@@ -9,7 +9,7 @@
 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
-@@ -50,22 +50,28 @@ nsUnixSystemProxySettings::GetMainThread
+@@ -50,24 +50,28 @@ nsUnixSystemProxySettings::GetMainThread
    // dbus prevents us from being threadsafe, but this routine should not block anyhow
    *aMainThreadOnly = true;
    return NS_OK;
@@ -19,25 +19,27 @@
  nsUnixSystemProxySettings::Init()
  {
 -  mSchemeProxySettings.Init(5);
--  mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
 -  mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
 -  if (mGSettings) {
 -    mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
 -                                       getter_AddRefs(mProxySettings));
-+  // If this is a GNOME session, load gconf and try to use its preferences.
-+  // If gconf is not available (which would be stupid) we'll proceed as if
-+  // this was not a GNOME session, using *_PROXY environment variables.
+-  }
+-  if (!mProxySettings) {
+-    mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
++  // only use GSettings if that is a GNOME session
 +  const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
 +  if (sessionType && !strcmp(sessionType, "gnome")) {
 +    mSchemeProxySettings.Init(5);
-+    mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
 +    mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
 +    if (mGSettings) {
 +      mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
 +                                         getter_AddRefs(mProxySettings));
 +    }
++    if (!mProxySettings) {
++      mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
++    }
    }
- 
+   
    return NS_OK;
  }
  
--- a/mozilla-ppc.patch	Thu May 30 09:22:10 2013 +0200
+++ b/mozilla-ppc.patch	Wed Jun 12 21:15:08 2013 +0200
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent 58ae98c85e39def96a90cb21c90e871f41a03a71
+# Parent 2c9bf1336fd0811e0112953334df4c81c717e6ff
 # User Wolfgang Rosenauer <wr@rosenauer.org>
 Bug 746112 - RegExp hang on ppc64 in execute.
 Bug 750620 - Make double-conversion portable to exotic architectures. TM: mozilla15
@@ -7,7 +7,7 @@
 diff --git a/js/src/yarr/YarrInterpreter.h b/js/src/yarr/YarrInterpreter.h
 --- a/js/src/yarr/YarrInterpreter.h
 +++ b/js/src/yarr/YarrInterpreter.h
-@@ -162,17 +162,17 @@ struct ByteTerm {
+@@ -159,17 +159,17 @@ struct ByteTerm {
          , m_invert(invert)
      {
          atom.characterClass = characterClass;
@@ -26,7 +26,7 @@
          atom.parenthesesDisjunction = parenthesesInfo;
          atom.quantityType = QuantifierFixedCount;
          atom.quantityCount = 1;
-@@ -183,17 +183,17 @@ struct ByteTerm {
+@@ -180,17 +180,17 @@ struct ByteTerm {
          : type(type)
          , m_capture(false)
          , m_invert(invert)
@@ -48,7 +48,7 @@
 diff --git a/js/src/yarr/YarrPattern.h b/js/src/yarr/YarrPattern.h
 --- a/js/src/yarr/YarrPattern.h
 +++ b/js/src/yarr/YarrPattern.h
-@@ -166,17 +166,17 @@ struct PatternTerm {
+@@ -179,17 +179,17 @@ struct PatternTerm {
          , m_capture(false)
          , m_invert(invert)
      {
@@ -70,7 +70,7 @@
 diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c
 --- a/memory/mozjemalloc/jemalloc.c
 +++ b/memory/mozjemalloc/jemalloc.c
-@@ -1086,17 +1086,19 @@ struct arena_s {
+@@ -1099,17 +1099,19 @@ struct arena_s {
  static unsigned		ncpus;
  #endif
  
@@ -88,8 +88,8 @@
  /*
   * VM page size. It must divide the runtime CPU page size or the code
   * will abort.
+  * Platform specific page size conditions copied from js/public/HeapAPI.h
   */
- #define pagesize_2pow			((size_t) 12)
 diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
 --- a/mfbt/double-conversion/utils.h
 +++ b/mfbt/double-conversion/utils.h
--- a/mozilla-prefer_plugin_pref.patch	Thu May 30 09:22:10 2013 +0200
+++ b/mozilla-prefer_plugin_pref.patch	Wed Jun 12 21:15:08 2013 +0200
@@ -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
-@@ -1543,17 +1543,51 @@ nsPluginHost::FindPluginForType(const ch
+@@ -1334,17 +1334,51 @@ nsPluginHost::FindPluginForType(const ch
    if (!aMimeType) {
      return nullptr;
    }
@@ -13,7 +13,7 @@
  
    InfallibleTArray<nsPluginTag*> matchingPlugins;
  
-+  char *preferredPluginPath = NULL;
++  char *preferredPluginPath = nullptr;
 +  nsAutoCString mimetypePrefString ("modules.plugins.mimetype.");
 +  mimetypePrefString.Append(aMimeType);
 +  const char *mimetypePrefChar = mimetypePrefString.get();
@@ -49,7 +49,7 @@
 +  }
 +
    while (plugin) {
-     if (!aCheckEnabled || plugin->IsEnabled()) {
+     if (!aCheckEnabled || plugin->IsActive()) {
        int32_t mimeCount = plugin->mMimeTypes.Length();
        for (int32_t i = 0; i < mimeCount; i++) {
          if (0 == PL_strcasecmp(plugin->mMimeTypes[i].get(), aMimeType)) {
--- a/mozilla-shared-nss-db.patch	Thu May 30 09:22:10 2013 +0200
+++ b/mozilla-shared-nss-db.patch	Wed Jun 12 21:15:08 2013 +0200
@@ -7,7 +7,7 @@
 diff --git a/configure.in b/configure.in
 --- a/configure.in
 +++ b/configure.in
-@@ -8191,16 +8191,31 @@ AC_SUBST(QCMS_LIBS)
+@@ -8303,16 +8303,31 @@ AC_SUBST(QCMS_LIBS)
  
  dnl ========================================================
  dnl HarfBuzz
@@ -33,16 +33,16 @@
 +dnl ========================================================
  dnl SIL Graphite
  dnl ========================================================
- if test "$MOZ_GRAPHITE"; then
-   MOZ_GRAPHITE_LIBS='$(DEPTH)/gfx/graphite2/src/$(LIB_PREFIX)mozgraphite2.$(LIB_SUFFIX)'
-   AC_DEFINE(MOZ_GRAPHITE)
- else
-   MOZ_GRAPHITE_LIBS=
- fi
+ MOZ_GRAPHITE_LIBS='$(DEPTH)/gfx/graphite2/src/$(LIB_PREFIX)mozgraphite2.$(LIB_SUFFIX)'
+ AC_SUBST(MOZ_GRAPHITE_LIBS)
+ 
+ dnl ========================================================
+ dnl OTS
+ dnl ========================================================
 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
-@@ -97,16 +97,19 @@ DEFINES += \
+@@ -93,16 +93,19 @@ DEFINES += \
  
  EXPORTS += \
    CryptoTask.h \
@@ -89,7 +89,7 @@
  #include "nsNetUtil.h"
  #include "nsAppDirectoryServiceDefs.h"
  #include "nsDirectoryService.h"
-@@ -1679,18 +1686,34 @@ nsNSSComponent::InitializeNSS(bool showW
+@@ -1682,18 +1689,34 @@ nsNSSComponent::InitializeNSS(bool showW
      ConfigureInternalPKCS11Token();
  
      // The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs
@@ -129,7 +129,7 @@
 diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
 --- a/toolkit/library/Makefile.in
 +++ b/toolkit/library/Makefile.in
-@@ -504,17 +504,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
+@@ -501,17 +501,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
  endif
  endif
  endif
--- a/series	Thu May 30 09:22:10 2013 +0200
+++ b/series	Wed Jun 12 21:15:08 2013 +0200
@@ -14,7 +14,6 @@
 mozilla-repo.patch
 mozilla-sle11.patch
 mozilla-arm-disable-edsp.patch
-mozilla-gstreamer-760140.patch
 mozilla-ppc.patch
 mozilla-idldir.patch
 mozilla-libproxy-compat.patch