rebased patches
authorWolfgang Rosenauer <wr@rosenauer.org>
Sun, 23 Aug 2015 15:29:44 +0200
changeset 881 1268ddc9dc16
parent 880 349bcaa18df4
child 882 82af81b0a6c7
rebased patches
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/mozilla-arm64-libjpeg-turbo.patch
firefox-kde.patch
mozilla-arm64-libjpeg-turbo.patch
mozilla-kde.patch
mozilla-no-stdcxx-check.patch
mozilla-openaes-decl.patch
mozilla-preferences.patch
mozilla-shared-nss-db.patch
series
--- a/MozillaFirefox/MozillaFirefox.spec	Sat Aug 22 09:17:03 2015 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec	Sun Aug 23 15:29:44 2015 +0200
@@ -146,8 +146,7 @@
 Patch12:        mozilla-openaes-decl.patch
 Patch14:        mozilla-skia-be-le.patch
 Patch15:        mozilla-bmo1005535.patch
-Patch16:        mozilla-arm64-libjpeg-turbo.patch
-Patch17:        mozilla-no-stdcxx-check.patch
+Patch16:        mozilla-no-stdcxx-check.patch
 # Firefox/browser
 Patch101:       firefox-kde.patch
 Patch102:       firefox-no-default-ualocale.patch
@@ -261,7 +260,6 @@
 %patch14 -p1
 %patch15 -p1
 %patch16 -p1
-%patch17 -p1
 # Firefox
 %patch101 -p1
 %patch102 -p1
--- a/MozillaFirefox/mozilla-arm64-libjpeg-turbo.patch	Sat Aug 22 09:17:03 2015 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-arm64-libjpeg-turbo.patch
\ No newline at end of file
--- a/firefox-kde.patch	Sat Aug 22 09:17:03 2015 +0200
+++ b/firefox-kde.patch	Sun Aug 23 15:29:44 2015 +0200
@@ -1,11 +1,11 @@
 # HG changeset patch
-# Parent  c6048238765dab77cd0c9a45e7afb1157316938b
+# Parent  8d1e0e3997402b94742eded6477abed4b559f373
 
 diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
 new file mode 100644
 --- /dev/null
 +++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1314 @@
+@@ -0,0 +1,1264 @@
 +#filter substitution
 +<?xml version="1.0"?>
 +# -*- Mode: HTML -*-
@@ -17,6 +17,7 @@
 +<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/skin/devtools/common.css" type="text/css"?>
++<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUIOverlay.css" type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/skin/browser-lightweightTheme.css" type="text/css"?>
@@ -159,7 +160,11 @@
 +         work correctly on the menupopup. ContentSelectDropdown expects the
 +         popuponly menulist to be its immediate parent. -->
 +    <menulist popuponly="true" id="ContentSelectDropdown" hidden="true">
-+      <menupopup rolluponmousewheel="true"/>
++      <menupopup rolluponmousewheel="true"
++#ifdef XP_WIN
++                 consumeoutsideclicks="false"
++#endif
++        />
 +    </menulist>
 +
 +    <!-- for invalid form error message -->
@@ -414,67 +419,6 @@
 +
 +    <menupopup id="placesContext"/>
 +
-+    <!-- Popup for site identity information -->
-+    <panel id="identity-popup"
-+           type="arrow"
-+           hidden="true"
-+           noautofocus="true"
-+           onpopupshown="if (event.target == this)
-+                           gIdentityHandler.onPopupShown(event);"
-+           orient="vertical"
-+           level="top">
-+      <hbox id="identity-popup-container" align="top">
-+        <image id="identity-popup-icon"/>
-+        <vbox id="identity-popup-content-box">
-+          <label id="identity-popup-brandName"
-+                 class="identity-popup-label"
-+                 value="&brandFullName;"/>
-+          <label id="identity-popup-chromeLabel"
-+                 class="identity-popup-label"/>
-+          <label id="identity-popup-connectedToLabel"
-+                 class="identity-popup-label"
-+                 value="&identity.connectedTo;"/>
-+          <label id="identity-popup-connectedToLabel2"
-+                 class="identity-popup-label"
-+                 value="&identity.unverifiedsite2;"/>
-+          <description id="identity-popup-content-host"
-+                       class="identity-popup-description"/>
-+          <label id="identity-popup-runByLabel"
-+                 class="identity-popup-label"
-+                 value="&identity.runBy;"/>
-+          <description id="identity-popup-content-owner"
-+                       class="identity-popup-description"/>
-+          <description id="identity-popup-content-supplemental"
-+                       class="identity-popup-description"/>
-+          <description id="identity-popup-content-verifier"
-+                       class="identity-popup-description"/>
-+          <hbox id="identity-popup-encryption" flex="1">
-+            <vbox>
-+              <image id="identity-popup-encryption-icon"/>
-+            </vbox>
-+            <description id="identity-popup-encryption-label" flex="1"
-+                         class="identity-popup-description"/>
-+          </hbox>
-+          <vbox id="identity-popup-permissions">
-+            <separator class="thin"/>
-+            <label class="identity-popup-label header"
-+                   value="&identity.permissions;"/>
-+            <vbox id="identity-popup-permission-list" class="indent"/>
-+          </vbox>
-+        </vbox>
-+      </hbox>
-+      <!-- Footer button to open security page info -->
-+      <hbox id="identity-popup-button-container" align="center">
-+        <button id="identity-popup-help-icon"
-+               oncommand="gIdentityHandler.handleHelpCommand(event);"
-+               tooltiptext="&identity.help.tooltip;"/>
-+        <spacer flex="1"/>
-+        <button id="identity-popup-more-info-button"
-+                label="&identity.moreInfoLinkText;"
-+                oncommand="gIdentityHandler.handleMoreInfoClick(event);"/>
-+      </hbox>
-+    </panel>
-+
 +    <panel id="ctrlTab-panel" class="KUI-panel" hidden="true" norestorefocus="true" level="top">
 +      <hbox>
 +        <button class="ctrlTab-preview" flex="1"/>
@@ -557,6 +501,7 @@
 +#include popup-notifications.inc
 +
 +#include ../../components/customizableui/content/panelUI.inc.xul
++#include ../../components/controlcenter/content/panel.inc.xul
 +
 +    <hbox id="downloads-animation-container" mousethrough="always">
 +      <vbox id="downloads-notification-anchor">
@@ -791,6 +736,7 @@
 +                <image id="push-notification-icon" class="notification-anchor-icon" role="button"/>
 +                <image id="addons-notification-icon" class="notification-anchor-icon" role="button"/>
 +                <image id="indexedDB-notification-icon" class="notification-anchor-icon" role="button"/>
++                <image id="login-fill-notification-icon" class="notification-anchor-icon" role="button"/>
 +                <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"/>
@@ -883,6 +829,8 @@
 +                       ondrop="PlacesMenuDNDHandler.onDrop(event);"
 +                       cui-areatype="toolbar"
 +                       oncommand="BookmarkingUI.onCommand(event);">
++          <observes element="bookmarkThisPageBroadcaster" attribute="starred"/>
++          <observes element="bookmarkThisPageBroadcaster" attribute="buttontooltiptext"/>
 +          <menupopup id="BMB_bookmarksPopup"
 +                     class="cui-widget-panel cui-widget-panelview cui-widget-panelWithFooter PanelUI-subView"
 +                     placespopup="true"
@@ -1230,6 +1178,8 @@
 +        <browser id="social-sidebar-browser"
 +                 type="content"
 +                 context="contentAreaContextMenu"
++                 message="true"
++                 messagemanagergroup="social"
 +                 disableglobalhistory="true"
 +                 tooltip="aHTMLTooltip"
 +                 popupnotificationanchor="social-sidebar-favico"
@@ -1323,7 +1273,7 @@
 diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul
 --- a/browser/base/content/browser.xul
 +++ b/browser/base/content/browser.xul
-@@ -179,17 +179,17 @@
+@@ -184,17 +184,17 @@
                      class="editBookmarkPanelHeaderButton"
                      oncommand="StarUI.removeBookmarkButtonCommand();"
                      accesskey="&editBookmark.removeBookmark.accessKey;"/>
@@ -1342,7 +1292,7 @@
          <button id="editBookmarkPanelDeleteButton"
                  class="editBookmarkPanelBottomButton"
                  label="&editBookmark.cancel.label;"
-@@ -1235,17 +1235,17 @@
+@@ -1185,17 +1185,17 @@
  
    <hbox id="full-screen-warning-container" hidden="true" fadeout="true">
      <hbox style="width: 100%;" pack="center"> <!-- Inner hbox needed due to bug 579776. -->
@@ -1375,14 +1325,14 @@
  *       content/browser/browser.xul                   (content/browser.xul)
 +*       content/browser/browser-kde.xul               (content/browser-kde.xul)
 +%       override chrome://browser/content/browser.xul chrome://browser/content/browser-kde.xul desktop=kde
-         content/browser/browser-pocket-en-US.properties (content/browser-pocket-en-US.properties)
-         content/browser/browser-pocket.dtd            (content/browser-pocket.dtd)
-         content/browser/browser-pocket-de.properties  (content/browser-pocket-de.properties)
-         content/browser/browser-pocket-es-ES.properties (content/browser-pocket-es-ES.properties)
-         content/browser/browser-pocket-ja.properties  (content/browser-pocket-ja.properties)
-         content/browser/browser-pocket-ru.properties  (content/browser-pocket-ru.properties)
  *       content/browser/browser-tabPreviews.xml       (content/browser-tabPreviews.xml)
  *       content/browser/chatWindow.xul                (content/chatWindow.xul)
+         content/browser/tab-content.js                (content/tab-content.js)
+         content/browser/content.js                    (content/content.js)
+         content/browser/social-content.js             (content/social-content.js)
+         content/browser/defaultthemes/1.footer.jpg    (content/defaultthemes/1.footer.jpg)
+         content/browser/defaultthemes/1.header.jpg    (content/defaultthemes/1.header.jpg)
+         content/browser/defaultthemes/1.icon.jpg      (content/defaultthemes/1.icon.jpg)
 diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
 --- a/browser/components/build/nsModule.cpp
 +++ b/browser/components/build/nsModule.cpp
@@ -1469,7 +1419,7 @@
      // when the user will select the default.  We refresh here periodically
      // in case the default changes.  On other Windows OS's defaults can also
      // be set while the prefs are open.
-@@ -524,16 +530,27 @@ var gMainPane = {
+@@ -527,16 +533,27 @@ var gMainPane = {
     */
    setDefaultBrowser: function()
    {
--- a/mozilla-arm64-libjpeg-turbo.patch	Sat Aug 22 09:17:03 2015 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-# HG changeset patch
-# Parent  af95b352f0be4eb2e337867450f25f4c2456a47f
-
-diff --git a/configure.in b/configure.in
---- a/configure.in
-+++ b/configure.in
-@@ -6202,27 +6202,29 @@ if test -n "$LIBJPEG_TURBO_X86_ASM" -o -
-         if test "$_YASM_MAJOR_VERSION" -lt "1" -o \( "$_YASM_MAJOR_VERSION" -eq "1" -a "$_YASM_MINOR_VERSION" -lt "1" \) ; then
-             AC_MSG_ERROR([Yasm 1.1 or greater is required to build with libjpeg-turbo's optimized JPEG decoding routines, but you appear to have version $_YASM_MAJOR_VERSION.$_YASM_MINOR_VERSION.  Upgrade to the newest version or configure with --disable-libjpeg-turbo to use the pure C JPEG decoder.  See https://developer.mozilla.org/en/YASM for more details.])
-         fi
-     fi
- fi
- 
- dnl If we're on an ARM system which supports libjpeg-turbo's asm routines and
- dnl --disable-libjpeg-turbo wasn't passed, use the C compiler as the assembler.
--if test -n "$LIBJPEG_TURBO_ARM_ASM" ; then
-+if test -n "$LIBJPEG_TURBO_ARM_ASM" -o -n "$LIBJPEG_TURBO_ARM64_ASM" ; then
-     echo "Using $AS as the assembler for ARM code."
-     LIBJPEG_TURBO_AS=$AS
- fi
- 
- if test -n "$LIBJPEG_TURBO_X86_ASM"; then
-     AC_DEFINE(LIBJPEG_TURBO_X86_ASM)
- elif test -n "$LIBJPEG_TURBO_X64_ASM"; then
-     AC_DEFINE(LIBJPEG_TURBO_X64_ASM)
- elif test -n "$LIBJPEG_TURBO_ARM_ASM"; then
-     AC_DEFINE(LIBJPEG_TURBO_ARM_ASM)
-+elif test -n "$LIBJPEG_TURBO_ARM64_ASM"; then
-+    AC_DEFINE(LIBJPEG_TURBO_ARM64_ASM)
- elif test -n "$MOZ_LIBJPEG_TURBO"; then
-     dnl Warn if we're not building the optimized routines, even though the user
-     dnl didn't specify --disable-libjpeg-turbo.
-     AC_MSG_WARN([No assembler or assembly support for libjpeg-turbo.  Using unoptimized C routines.])
- fi
- 
- dnl ========================================================
- dnl = Enable compilation of specific extension modules
--- a/mozilla-kde.patch	Sat Aug 22 09:17:03 2015 +0200
+++ b/mozilla-kde.patch	Sun Aug 23 15:29:44 2015 +0200
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent  5f8cbb078ab0d5696255c2f514c6333666b47da9
+# Parent  3f3d1e5db92a45cf3758ee5ba77c577fcfb364c9
 Description: Add KDE integration to Firefox (toolkit parts)
 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
 Author: Lubos Lunak <lunak@suse.com>
@@ -46,7 +46,7 @@
  #include "prefread.h"
  #include "prefapi_private_data.h"
  
-@@ -1154,16 +1155,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char 
+@@ -1153,16 +1154,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char 
  
  static nsresult pref_LoadPrefsInDirList(const char *listId)
  {
@@ -81,7 +81,7 @@
      return NS_OK;
  
    bool hasMore;
-@@ -1179,17 +1198,17 @@ static nsresult pref_LoadPrefsInDirList(
+@@ -1178,17 +1197,17 @@ static nsresult pref_LoadPrefsInDirList(
  
      nsAutoCString leaf;
      path->GetNativeLeafName(leaf);
@@ -100,7 +100,7 @@
  {
    nsZipItemPtr<char> manifest(jarReader, name, true);
    NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
-@@ -1283,26 +1302,38 @@ static nsresult pref_InitInitialObjects(
+@@ -1282,26 +1301,38 @@ static nsresult pref_InitInitialObjects(
    /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
    static const char* specialFiles[] = {
  #if defined(XP_MACOSX)
@@ -142,7 +142,7 @@
 diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py
 --- a/python/mozbuild/mozpack/chrome/flags.py
 +++ b/python/mozbuild/mozpack/chrome/flags.py
-@@ -209,16 +209,17 @@ class Flags(OrderedDict):
+@@ -211,16 +211,17 @@ class Flags(OrderedDict):
          'contentaccessible': Flag,
          'os': StringFlag,
          'osversion': VersionFlag,
@@ -163,7 +163,7 @@
 diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py
 --- a/python/mozbuild/mozpack/chrome/manifest.py
 +++ b/python/mozbuild/mozpack/chrome/manifest.py
-@@ -31,16 +31,17 @@ class ManifestEntry(object):
+@@ -33,16 +33,17 @@ class ManifestEntry(object):
          'application',
          'platformversion',
          'os',
@@ -184,7 +184,7 @@
 diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
 --- a/toolkit/components/downloads/moz.build
 +++ b/toolkit/components/downloads/moz.build
-@@ -67,14 +67,15 @@ if not CONFIG['MOZ_SUITE']:
+@@ -67,15 +67,16 @@ if not CONFIG['MOZ_SUITE']:
      ]
  
  FAIL_ON_WARNINGS = True
@@ -199,6 +199,7 @@
  ]
  
  DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True
+ DEFINES['GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER'] = True
  
  CXXFLAGS += CONFIG['TK_CFLAGS']
 diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
@@ -775,7 +776,7 @@
 new file mode 100644
 --- /dev/null
 +++ b/toolkit/content/widgets/preferences-kde.xml
-@@ -0,0 +1,1357 @@
+@@ -0,0 +1,1403 @@
 +<?xml version="1.0"?>
 +
 +<!DOCTYPE bindings [
@@ -1961,6 +1962,10 @@
 +        <body>
 +        <![CDATA[
 +          // Write all values to preferences.
++          if (this._deferredValueUpdateElements.size) {
++            this._finalizeDeferredElements();
++          }
++
 +          var preferences = this.preferences;
 +          for (var i = 0; i < preferences.length; ++i) {
 +            var preference = preferences[i];
@@ -2037,15 +2042,57 @@
 +        </body>
 +      </method>
 +      
++      <field name="DeferredTask" readonly="true">
++        let targetObj = {};
++        Components.utils.import("resource://gre/modules/DeferredTask.jsm", targetObj);
++        targetObj.DeferredTask;
++      </field>
++      <method name="_deferredValueUpdate">
++        <parameter name="aElement"/>
++        <body>
++        <![CDATA[
++          delete aElement._deferredValueUpdateTask;
++          let preference = document.getElementById(aElement.getAttribute("preference"));
++          let prefVal = preference.getElementValue(aElement);
++          preference.value = prefVal;
++          this._deferredValueUpdateElements.delete(aElement);
++        ]]>
++        </body>
++      </method>
++      <field name="_deferredValueUpdateElements">
++        new Set();
++      </field>
++      <method name="_finalizeDeferredElements">
++        <body>
++        <![CDATA[
++          for (let el of this._deferredValueUpdateElements) {
++            if (el._deferredValueUpdateTask) {
++              el._deferredValueUpdateTask.finalize();
++            }
++          }
++        ]]>
++        </body>
++      </method>
 +      <method name="userChangedValue">
 +        <parameter name="aElement"/>
 +        <body>
 +        <![CDATA[
-+          var element = this.getPreferenceElement(aElement);
++          let element = this.getPreferenceElement(aElement);
 +          if (element.hasAttribute("preference")) {
-+            var preference = document.getElementById(element.getAttribute("preference"));
-+            var prefVal = preference.getElementValue(element);
-+            preference.value = prefVal;
++            if (element.getAttribute("delayprefsave") != "true") {
++              var preference = document.getElementById(element.getAttribute("preference"));
++              var prefVal = preference.getElementValue(element);
++              preference.value = prefVal;
++            } else {
++              if (!element._deferredValueUpdateTask) {
++                element._deferredValueUpdateTask = new this.DeferredTask(this._deferredValueUpdate.bind(this, element), 1000);
++                this._deferredValueUpdateElements.add(element);
++              } else {
++                // Each time the preference is changed, restart the delay.
++                element._deferredValueUpdateTask.disarm();
++              }
++              element._deferredValueUpdateTask.arm();
++            }
 +          }
 +        ]]>
 +        </body>
@@ -2230,11 +2277,11 @@
 diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
 --- a/toolkit/xre/moz.build
 +++ b/toolkit/xre/moz.build
-@@ -45,17 +45,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
-     GENERATED_SOURCES += [
-         'moc_nsNativeAppSupportQt.cpp',
-     ]
+@@ -43,17 +43,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
+ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
+     EXPORTS += ['nsQAppInstance.h']
      SOURCES += [
+         '!moc_nsNativeAppSupportQt.cpp',
          'nsNativeAppSupportQt.cpp',
          'nsQAppInstance.cpp',
      ]
@@ -3106,7 +3153,7 @@
 diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
 --- a/widget/gtk/moz.build
 +++ b/widget/gtk/moz.build
-@@ -79,16 +79,17 @@ else:
+@@ -80,16 +80,17 @@ else:
  include('/ipc/chromium/chromium-config.mozbuild')
  
  FINAL_LIBRARY = 'xul'
@@ -3158,11 +3205,11 @@
  using namespace mozilla;
  
  #define MAX_PREVIEW_SIZE 180
+ // bug 1184009
+ #define MAX_PREVIEW_SOURCE_SIZE 4096
  
  nsIFile *nsFilePicker::mPrevDisplayDirectory = nullptr;
- 
- void
-@@ -238,17 +240,19 @@ nsFilePicker::AppendFilters(int32_t aFil
+@@ -246,17 +248,19 @@ nsFilePicker::AppendFilters(int32_t aFil
    return nsBaseFilePicker::AppendFilters(aFilterMask);
  }
  
@@ -3183,7 +3230,7 @@
  
    mFilters.AppendElement(filter);
    mFilterNames.AppendElement(name);
-@@ -363,16 +367,32 @@ nsFilePicker::Show(int16_t *aReturn)
+@@ -371,16 +375,32 @@ nsFilePicker::Show(int16_t *aReturn)
  
  NS_IMETHODIMP
  nsFilePicker::Open(nsIFilePickerShownCallback *aCallback)
@@ -3216,7 +3263,7 @@
  
    GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
    const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE)
-@@ -551,8 +571,235 @@ nsFilePicker::Done(GtkWidget* file_choos
+@@ -595,8 +615,235 @@ nsFilePicker::Done(GtkWidget* file_choos
    if (mCallback) {
      mCallback->Done(result);
      mCallback = nullptr;
@@ -3455,8 +3502,7 @@
 diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
 --- a/widget/gtk/nsFilePicker.h
 +++ b/widget/gtk/nsFilePicker.h
-@@ -68,11 +68,17 @@ protected:
-   nsString  mDefault;
+@@ -69,14 +69,20 @@ protected:
    nsString  mDefaultExtension;
  
    nsTArray<nsCString> mFilters;
@@ -3464,12 +3510,16 @@
  
  private:
    static nsIFile *mPrevDisplayDirectory;
-+
+ 
 +  bool kdeRunning();
 +  bool getKdeRunning();
 +  NS_IMETHODIMP kdeFileDialog(PRInt16 *aReturn);
 +  NS_IMETHODIMP kdeAppsDialog(PRInt16 *aReturn);
 +  nsCString kdeMakeFilter( int index );
++
+ #if (MOZ_WIDGET_GTK == 3)
+   GtkFileChooserWidget *mFileChooserDelegate;
+ #endif
  };
  
  #endif
@@ -3628,7 +3678,7 @@
 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
 --- a/xpcom/io/nsLocalFileUnix.cpp
 +++ b/xpcom/io/nsLocalFileUnix.cpp
-@@ -44,16 +44,17 @@
+@@ -47,16 +47,17 @@
  #include "prproces.h"
  #include "nsIDirectoryEnumerator.h"
  #include "nsISimpleEnumerator.h"
@@ -3646,7 +3696,7 @@
  #include "prmem.h"
  #include "plbase64.h"
  
-@@ -1960,42 +1961,52 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -1963,42 +1964,52 @@ nsLocalFile::SetPersistentDescriptor(con
    return InitWithNativePath(aPersistentDescriptor);
  #endif
  }
@@ -3705,7 +3755,7 @@
      return rv;
    }
    return NS_ERROR_FAILURE;
-@@ -2003,16 +2014,22 @@ nsLocalFile::Reveal()
+@@ -2006,16 +2017,22 @@ nsLocalFile::Reveal()
    return NS_ERROR_FAILURE;
  #endif
  }
--- a/mozilla-no-stdcxx-check.patch	Sat Aug 22 09:17:03 2015 +0200
+++ b/mozilla-no-stdcxx-check.patch	Sun Aug 23 15:29:44 2015 +0200
@@ -1,11 +1,11 @@
 # HG changeset patch
 # User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent  7b3798afc391847b7eec89b3714b54f1bbbaa0a1
+# Parent  af8fd72bd18717e6fc46340f467c7fa4f6d8c2ab
 
 diff --git a/config/config.mk b/config/config.mk
 --- a/config/config.mk
 +++ b/config/config.mk
-@@ -623,34 +623,33 @@ EXPAND_LD = $(EXPAND_LIBS_EXEC) --uselis
+@@ -626,34 +626,33 @@ EXPAND_LD = $(EXPAND_LIBS_EXEC) --uselis
  EXPAND_MKSHLIB_ARGS = --uselist
  ifdef SYMBOL_ORDER
  EXPAND_MKSHLIB_ARGS += --symbol-order $(SYMBOL_ORDER)
@@ -14,8 +14,8 @@
  
  ifneq (,$(MOZ_LIBSTDCXX_TARGET_VERSION)$(MOZ_LIBSTDCXX_HOST_VERSION))
  ifneq ($(OS_ARCH),Darwin)
--CHECK_STDCXX = @$(TOOLCHAIN_PREFIX)objdump -p $(1) | grep -e 'GLIBCXX_3\.4\.\(9\|[1-9][0-9]\)' > /dev/null && echo 'TEST-UNEXPECTED-FAIL | check_stdcxx | We do not want these libstdc++ symbols to be used:' && $(TOOLCHAIN_PREFIX)objdump -T $(1) | grep -e 'GLIBCXX_3\.4\.\(9\|[1-9][0-9]\)' && exit 1 || true
-+#CHECK_STDCXX = @$(TOOLCHAIN_PREFIX)objdump -p $(1) | grep -e 'GLIBCXX_3\.4\.\(9\|[1-9][0-9]\)' > /dev/null && echo 'TEST-UNEXPECTED-FAIL | check_stdcxx | We do not want these libstdc++ symbols to be used:' && $(TOOLCHAIN_PREFIX)objdump -T $(1) | grep -e 'GLIBCXX_3\.4\.\(9\|[1-9][0-9]\)' && exit 1 || true
+-CHECK_STDCXX = @$(TOOLCHAIN_PREFIX)objdump -p $(1) | grep -e 'GLIBCXX_3\.4\.\(1[1-9]\|[2-9][0-9]\)' > /dev/null && echo 'TEST-UNEXPECTED-FAIL | check_stdcxx | We do not want these libstdc++ symbols to be used:' && $(TOOLCHAIN_PREFIX)objdump -T $(1) | grep -e 'GLIBCXX_3\.4\.\(1[1-9]\|[2-9][0-9]\)' && exit 1 || true
++#CHECK_STDCXX = @$(TOOLCHAIN_PREFIX)objdump -p $(1) | grep -e 'GLIBCXX_3\.4\.\(1[1-9]\|[2-9][0-9]\)' > /dev/null && echo 'TEST-UNEXPECTED-FAIL | check_stdcxx | We do not want these libstdc++ symbols to be used:' && $(TOOLCHAIN_PREFIX)objdump -T $(1) | grep -e 'GLIBCXX_3\.4\.\(1[1-9]\|[2-9][0-9]\)' && exit 1 || true
  endif
  endif
  
--- a/mozilla-openaes-decl.patch	Sat Aug 22 09:17:03 2015 +0200
+++ b/mozilla-openaes-decl.patch	Sun Aug 23 15:29:44 2015 +0200
@@ -1,7 +1,7 @@
 # HG changeset patch
 # Parent 33024abb3c58dab7239e32388df58e14f99defd5
 # User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent  776cb894347a5ce8f03cd7344dca83b345e93d5f
+# Parent  17196b2f3cd2bcba6a5b54f4496b5762a593c5b3
 
 diff --git a/media/gmp-clearkey/0.1/openaes/oaes_lib.c b/media/gmp-clearkey/0.1/openaes/oaes_lib.c
 --- a/media/gmp-clearkey/0.1/openaes/oaes_lib.c
@@ -20,7 +20,7 @@
  #include <time.h> 
  #include <string.h>
  
+ #include "mozilla/Snprintf.h"
+ 
  #ifdef WIN32
  #include <process.h>
- #endif
- 
--- a/mozilla-preferences.patch	Sat Aug 22 09:17:03 2015 +0200
+++ b/mozilla-preferences.patch	Sun Aug 23 15:29:44 2015 +0200
@@ -6,12 +6,12 @@
 
 # HG changeset patch
 # Parent 8c1bfc96b05ef1836aad6e9f2af323f63ed1b69c
-# Parent  3de9f5c9ca0d23956f2580ad534ac139a63527a5
+# Parent  35b625807600ea4a5a3c49bd1cab22fac5188406
 
 diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
 --- a/modules/libpref/init/all.js
 +++ b/modules/libpref/init/all.js
-@@ -1770,17 +1770,17 @@ pref("converter.html2txt.always_include_
+@@ -1790,17 +1790,17 @@ pref("converter.html2txt.always_include_
  
  pref("intl.accept_languages",               "chrome://global/locale/intl.properties");
  pref("intl.menuitems.alwaysappendaccesskeys","chrome://global/locale/intl.properties");
@@ -28,5 +28,5 @@
  pref("intl.fallbackCharsetList.ISO-8859-1", "windows-1252");
  pref("font.language.group",                 "chrome://global/locale/intl.properties");
  
- // these locales have right-to-left UI
- pref("intl.uidirection.ar", "rtl");
+ // Android-specific pref to use key-events-only mode for IME-unaware webapps.
+ #ifdef MOZ_WIDGET_ANDROID
--- a/mozilla-shared-nss-db.patch	Sat Aug 22 09:17:03 2015 +0200
+++ b/mozilla-shared-nss-db.patch	Sun Aug 23 15:29:44 2015 +0200
@@ -7,7 +7,7 @@
 diff --git a/configure.in b/configure.in
 --- a/configure.in
 +++ b/configure.in
-@@ -8217,16 +8217,31 @@ if test "$MOZ_ENABLE_SKIA"; then
+@@ -8296,16 +8296,31 @@ if test "$MOZ_ENABLE_SKIA"; then
      MOZ_ENABLE_SKIA_GPU=1
      AC_DEFINE(USE_SKIA_GPU)
      AC_SUBST(MOZ_ENABLE_SKIA_GPU)
@@ -39,32 +39,32 @@
  if test "$MOZ_XUL"; then
    AC_DEFINE(MOZ_XUL)
  else
-diff --git a/security/manager/ssl/src/moz.build b/security/manager/ssl/src/moz.build
---- a/security/manager/ssl/src/moz.build
-+++ b/security/manager/ssl/src/moz.build
-@@ -81,16 +81,19 @@ SOURCES += [
- IPDL_SOURCES += [
-     'PPSMContentDownloader.ipdl',
- ]
+diff --git a/security/manager/ssl/moz.build b/security/manager/ssl/moz.build
+--- a/security/manager/ssl/moz.build
++++ b/security/manager/ssl/moz.build
+@@ -156,16 +156,19 @@ FAIL_ON_WARNINGS = True
+ FINAL_LIBRARY = 'xul'
  
  LOCAL_INCLUDES += [
-     '/security/manager/boot/src',
+     '/dom/base',
+     '/security/certverifier',
+     '/security/pkix/include',
  ]
  
 +CXXFLAGS += sorted(CONFIG['NSSHELPER_CFLAGS'])
 +OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS'])
 +
- if not CONFIG['MOZ_NO_SMART_CARDS']:
-     UNIFIED_SOURCES += [
-         'nsSmartCardMonitor.cpp',
-     ]
+ GENERATED_INCLUDES += [
+     '/dist/public/nss',
+ ]
  
- if CONFIG['MOZ_XUL']:
-     UNIFIED_SOURCES += [
-         'nsCertTree.cpp',
-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
+ if CONFIG['NSS_DISABLE_DBM']:
+     DEFINES['NSS_DISABLE_DBM'] = '1'
+ 
+ DEFINES['SSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES'] = 'True'
+diff --git a/security/manager/ssl/nsNSSComponent.cpp b/security/manager/ssl/nsNSSComponent.cpp
+--- a/security/manager/ssl/nsNSSComponent.cpp
++++ b/security/manager/ssl/nsNSSComponent.cpp
 @@ -1,14 +1,21 @@
  /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
   *
@@ -87,16 +87,15 @@
  #include "nsAppDirectoryServiceDefs.h"
  #include "nsCertVerificationThread.h"
  #include "nsAppDirectoryServiceDefs.h"
-@@ -998,17 +1005,31 @@ nsNSSComponent::InitializeNSS()
-   if (NS_FAILED(rv)) {
-     nsPSMInitPanic::SetPanic();
+@@ -1015,17 +1022,31 @@ nsNSSComponent::InitializeNSS()
      return NS_ERROR_NOT_AVAILABLE;
    }
  
    SECStatus init_rv = SECFailure;
-   if (!profileStr.IsEmpty()) {
+   bool nocertdb = Preferences::GetBool("security.nocertdb", false);
+ 
+   if (!nocertdb && !profileStr.IsEmpty()) {
      // First try to initialize the NSS DB in read/write mode.
--    SECStatus init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false);
 +#ifdef MOZ_ENABLE_NSSHELPER
 +    if (PR_GetEnv("MOZ_XRE_NO_NSSHELPER")) {
 +      init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false);
@@ -110,20 +109,20 @@
 +      }
 +    }
 +#else
-+    init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false);
+     init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false);
 +#endif
      // If that fails, attempt read-only mode.
      if (init_rv != SECSuccess) {
-       PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("could not init NSS r/w in %s\n", profileStr.get()));
+       MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("could not init NSS r/w in %s\n", profileStr.get()));
        init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), true);
      }
      if (init_rv != SECSuccess) {
-       PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("could not init in r/o either\n"));
+       MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("could not init in r/o either\n"));
      }
 diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
 --- a/toolkit/library/moz.build
 +++ b/toolkit/library/moz.build
-@@ -197,16 +197,18 @@ if CONFIG['MOZ_B2G_CAMERA'] and CONFIG['
+@@ -203,16 +203,18 @@ if CONFIG['MOZ_B2G_CAMERA'] and CONFIG['
          'stagefright_omx',
      ]
  
--- a/series	Sat Aug 22 09:17:03 2015 +0200
+++ b/series	Sun Aug 23 15:29:44 2015 +0200
@@ -14,7 +14,6 @@
 mozilla-openaes-decl.patch
 mozilla-skia-be-le.patch
 mozilla-bmo1005535.patch
-mozilla-arm64-libjpeg-turbo.patch
 mozilla-no-stdcxx-check.patch
 
 # Firefox patches