mozilla-kde.patch
changeset 779 354c672efefa
parent 766 e0b23b7851e9
child 807 f54c68340963
--- a/mozilla-kde.patch	Thu Oct 16 21:20:22 2014 +0200
+++ b/mozilla-kde.patch	Thu Oct 16 23:09:58 2014 +0200
@@ -4,9 +4,9 @@
 Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
      https://bugzilla.novell.com/show_bug.cgi?id=170055
 
-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
+diff --git a/modules/libpref/Makefile.in b/modules/libpref/Makefile.in
+--- a/modules/libpref/Makefile.in
++++ b/modules/libpref/Makefile.in
 @@ -21,13 +21,15 @@ endif
  ifdef MOZ_SERVICES_HEALTHREPORT
  ifneq (android,$(MOZ_WIDGET_TOOLKIT))
@@ -23,9 +23,9 @@
  
  libs:: greprefs.js
  	$(INSTALL) $^ $(DIST)/bin/
-diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferences.cpp
---- a/modules/libpref/src/Preferences.cpp
-+++ b/modules/libpref/src/Preferences.cpp
+diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
+--- a/modules/libpref/Preferences.cpp
++++ b/modules/libpref/Preferences.cpp
 @@ -27,16 +27,17 @@
  #include "nsIZipReader.h"
  #include "nsPrefBranch.h"
@@ -179,20 +179,26 @@
          '''
          self.base = base
          self.flags = Flags(*flags)
-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
-@@ -1,9 +1,9 @@
- #
- # 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/.
+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
+@@ -52,14 +52,15 @@ if not CONFIG['MOZ_SUITE']:
+     ]
+ 
+ FAIL_ON_WARNINGS = True
+ 
+ FINAL_LIBRARY = 'xul'
  
- include $(topsrcdir)/config/rules.mk
+ LOCAL_INCLUDES += [
+     '../protobuf',
+-    '/ipc/chromium/src'
++    '/ipc/chromium/src',
++    '/toolkit/xre'
+ ]
  
- CXXFLAGS += $(TK_CFLAGS)
--
-+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
+ DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True
+ 
+ CXXFLAGS += CONFIG['TK_CFLAGS']
 diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
 --- a/toolkit/components/downloads/nsDownloadManager.cpp
 +++ b/toolkit/components/downloads/nsDownloadManager.cpp
@@ -217,7 +223,7 @@
  #include "AndroidBridge.h"
  using namespace mozilla::widget::android;
  #endif
-@@ -2729,16 +2733,25 @@ nsDownload::SetState(DownloadState aStat
+@@ -2711,16 +2715,25 @@ nsDownload::SetState(DownloadState aStat
        nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
  
        // Master pref to control this function.
@@ -243,17 +249,13 @@
          int64_t goat = PR_Now() - mStartTime;
          showTaskbarAlert = goat > alertIntervalUSec;
  
-@@ -2766,19 +2779,20 @@ nsDownload::SetState(DownloadState aStat
-               // because if it is, they'll click open the download manager and
-               // the items they downloaded will have been removed.
-               alerts->ShowAlertNotification(
+@@ -2751,16 +2764,17 @@ nsDownload::SetState(DownloadState aStat
                    NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
                    message, !removeWhenDone,
                    mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
                    mDownloadManager, EmptyString(), NS_LITERAL_STRING("auto"),
-                   EmptyString(), nullptr);
--            }
-+          }
+                   EmptyString(), EmptyString(), nullptr);
+             }
          }
        }
 +      }
@@ -268,7 +270,7 @@
 diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
 --- a/toolkit/content/jar.mn
 +++ b/toolkit/content/jar.mn
-@@ -54,29 +54,33 @@ toolkit.jar:
+@@ -55,29 +55,33 @@ toolkit.jar:
     content/global/viewZoomOverlay.js          (viewZoomOverlay.js)
  *+ content/global/bindings/autocomplete.xml    (widgets/autocomplete.xml)
     content/global/bindings/browser.xml         (widgets/browser.xml)
@@ -2131,7 +2133,7 @@
    NS_DECL_NSISYSTEMPROXYSETTINGS
  
    nsUnixSystemProxySettings()
-     : mSchemeProxySettings(5)
+     : mSchemeProxySettings(4)
 @@ -38,16 +40,17 @@ private:
    nsCOMPtr<nsIGSettingsService> mGSettings;
    nsCOMPtr<nsIGSettingsCollection> mProxySettings;
@@ -2625,20 +2627,6 @@
 +    };
 +
 +#endif // nsKDEUtils
-diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in
---- a/uriloader/exthandler/Makefile.in
-+++ b/uriloader/exthandler/Makefile.in
-@@ -6,9 +6,10 @@
- ifdef MOZ_ENABLE_DBUS
- OS_INCLUDES   += $(TK_CFLAGS) $(MOZ_DBUS_CFLAGS)
- endif
- 
- include $(topsrcdir)/config/rules.mk
- 
- ifneq (,$(filter qt gtk2 gtk3, $(MOZ_WIDGET_TOOLKIT)))
- CXXFLAGS += $(TK_CFLAGS) $(MOZ_DBUS_GLIB_CFLAGS)
-+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
- endif
 diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
 --- a/uriloader/exthandler/moz.build
 +++ b/uriloader/exthandler/moz.build
@@ -2662,6 +2650,24 @@
          'android/nsExternalSharingAppService.cpp',
          'android/nsExternalURLHandlerService.cpp',
          'android/nsMIMEInfoAndroid.cpp',
+@@ -129,16 +131,17 @@ include('/ipc/chromium/chromium-config.m
+ FINAL_LIBRARY = 'xul'
+ 
+ LOCAL_INCLUDES += [
+     '/content/base/src',
+     '/dom/base',
+     '/dom/ipc',
+     '/netwerk/base/src',
+     '/netwerk/protocol/http',
++    '/toolkit/xre'
+ ]
+ 
+ if CONFIG['MOZ_ENABLE_DBUS']:
+     CXXFLAGS += CONFIG['TK_CFLAGS']
+     CXXFLAGS += CONFIG['MOZ_DBUS_CFLAGS']
+ 
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('qt', 'gtk2', 'gtk3'):
+     CXXFLAGS += CONFIG['TK_CFLAGS']
 diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandler/unix/nsCommonRegistry.cpp
 new file mode 100644
 --- /dev/null
@@ -3095,26 +3101,27 @@
  #endif
  
    // Now look up our extensions
-diff --git a/widget/gtk/Makefile.in b/widget/gtk/Makefile.in
---- a/widget/gtk/Makefile.in
-+++ b/widget/gtk/Makefile.in
-@@ -3,14 +3,16 @@
- # 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 $(topsrcdir)/config/rules.mk
+diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
+--- a/widget/gtk/moz.build
++++ b/widget/gtk/moz.build
+@@ -88,16 +88,17 @@ include('/ipc/chromium/chromium-config.m
+ FINAL_LIBRARY = 'xul'
  
- CFLAGS          += $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
- CXXFLAGS        += $(MOZ_CAIRO_CFLAGS) $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
+ LOCAL_INCLUDES += [
+     '../shared',
+     '../xpwidgets',
+     '/layout/generic',
+     '/layout/xul',
+     '/other-licenses/atk-1.0',
++    '/toolkit/xre'
+ ]
  
-+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
-+
- CFLAGS          += $(TK_CFLAGS)
- CXXFLAGS        += $(TK_CFLAGS)
+ if CONFIG['MOZ_X11']:
+     LOCAL_INCLUDES += [
+         '../shared/x11',
+     ]
  
- ifdef MOZ_ENABLE_DBUS
- CXXFLAGS        += $(MOZ_DBUS_GLIB_CFLAGS)
- endif
+ DEFINES['CAIRO_GFX'] = True
 diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
 --- a/widget/gtk/nsFilePicker.cpp
 +++ b/widget/gtk/nsFilePicker.cpp
@@ -3464,42 +3471,28 @@
  };
  
  #endif
-diff --git a/xpcom/components/Makefile.in b/xpcom/components/Makefile.in
---- a/xpcom/components/Makefile.in
-+++ b/xpcom/components/Makefile.in
-@@ -2,9 +2,10 @@
- # 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 $(topsrcdir)/config/rules.mk
- 
- ifdef MOZ_WIDGET_GTK
- CXXFLAGS        += $(TK_CFLAGS)
-+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
- endif
 diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
 --- a/xpcom/components/ManifestParser.cpp
 +++ b/xpcom/components/ManifestParser.cpp
-@@ -31,16 +31,17 @@
- #include "nsTextFormatter.h"
- #include "nsVersionComparator.h"
- #include "nsXPCOMCIDInternal.h"
+@@ -34,16 +34,17 @@
  
  #include "nsIConsoleService.h"
  #include "nsIScriptError.h"
  #include "nsIXULAppInfo.h"
  #include "nsIXULRuntime.h"
+ #ifdef MOZ_B2G_LOADER
+ #include "mozilla/XPTInterfaceInfoManager.h"
+ #endif
 +#include "nsKDEUtils.h"
  
- using namespace mozilla;
- 
- struct ManifestDirective
- {
-   const char* directive;
-   int argc;
- 
-@@ -398,16 +399,17 @@ ParseManifest(NSLocationType type, FileL
+ #ifdef MOZ_B2G_LOADER
+ #define XPTONLY_MANIFEST &nsComponentManagerImpl::XPTOnlyManifestManifest
+ #define XPTONLY_XPT &nsComponentManagerImpl::XPTOnlyManifestXPT
+ #else
+ #define XPTONLY_MANIFEST nullptr
+ #define XPTONLY_XPT nullptr
+ #endif
+@@ -488,16 +489,17 @@ ParseManifest(NSLocationType aType, File
    NS_NAMED_LITERAL_STRING(kPlatform, "platform");
    NS_NAMED_LITERAL_STRING(kContentAccessible, "contentaccessible");
    NS_NAMED_LITERAL_STRING(kApplication, "application");
@@ -3517,7 +3510,7 @@
    NS_NAMED_LITERAL_STRING(kXPCNativeWrappers, "xpcnativewrappers");
  
    nsAutoString appID;
-@@ -445,42 +447,47 @@ ParseManifest(NSLocationType type, FileL
+@@ -543,44 +545,49 @@ ParseManifest(NSLocationType aType, File
          CopyUTF8toUTF16(s, abi);
          abi.Insert(char16_t('_'), 0);
          abi.Insert(osTarget, 0);
@@ -3533,8 +3526,8 @@
    OSVERSIONINFO info = { sizeof(OSVERSIONINFO) };
    if (GetVersionEx(&info)) {
      nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"),
-                                          info.dwMajorVersion,
-                                          info.dwMinorVersion);
+                               info.dwMajorVersion,
+                               info.dwMinorVersion);
    }
 +  desktop = NS_LITERAL_STRING("win");
  #pragma warning(pop)
@@ -3542,18 +3535,20 @@
    SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor();
    SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor();
    nsTextFormatter::ssprintf(osVersion, NS_LITERAL_STRING("%ld.%ld").get(),
-                                        majorVersion,
-                                        minorVersion);
+                             majorVersion,
+                             minorVersion);
 +  desktop = NS_LITERAL_STRING("macosx");
  #elif defined(MOZ_WIDGET_GTK)
    nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"),
-                                        gtk_major_version,
-                                        gtk_minor_version);
+                             gtk_major_version,
+                             gtk_minor_version);
 +  desktop = nsKDEUtils::kdeSession() ? NS_LITERAL_STRING("kde") : NS_LITERAL_STRING("gnome");
  #elif defined(MOZ_WIDGET_ANDROID)
    bool isTablet = false;
    if (mozilla::AndroidBridge::Bridge()) {
-     mozilla::AndroidBridge::Bridge()->GetStaticStringField("android/os/Build$VERSION", "RELEASE", osVersion);
+     mozilla::AndroidBridge::Bridge()->GetStaticStringField("android/os/Build$VERSION",
+                                                            "RELEASE",
+                                                            osVersion);
      isTablet = mozilla::widget::android::GeckoAppShell::IsTablet();
    }
 +  desktop = NS_LITERAL_STRING("android");
@@ -3563,9 +3558,9 @@
    // at the end.
    nsTArray<CachedDirective> contracts;
  
-   char *token;
-   char *newline = buf;
-@@ -562,24 +569,26 @@ ParseManifest(NSLocationType type, FileL
+   char* token;
+   char* newline = aBuf;
+@@ -669,25 +676,27 @@ ParseManifest(NSLocationType aType, File
      TriState stOsVersion = eUnspecified;
      TriState stOs = eUnspecified;
      TriState stABI = eUnspecified;
@@ -3576,7 +3571,8 @@
      bool contentAccessible = false;
 +    TriState stDesktop = eUnspecified;
  
-     while (nullptr != (token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) && ok) {
+     while ((token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) &&
+            ok) {
        ToLowerCase(token);
        NS_ConvertASCIItoUTF16 wtoken(token);
  
@@ -3586,13 +3582,13 @@
 +          CheckStringFlag(kDesktop, wtoken, desktop, stDesktop) ||
            CheckVersionFlag(kOsVersion, wtoken, osVersion, stOsVersion) ||
            CheckVersionFlag(kAppVersion, wtoken, appVersion, stAppVersion) ||
-           CheckVersionFlag(kGeckoVersion, wtoken, geckoVersion, stGeckoVersion))
+           CheckVersionFlag(kGeckoVersion, wtoken, geckoVersion, stGeckoVersion)) {
          continue;
+       }
  
  #if defined(MOZ_WIDGET_ANDROID)
        bool tablet = false;
-       if (CheckFlag(kTablet, wtoken, tablet)) {
-@@ -608,16 +617,17 @@ ParseManifest(NSLocationType type, FileL
+@@ -718,16 +727,17 @@ ParseManifest(NSLocationType aType, File
      }
  
      if (!ok ||
@@ -3605,11 +3601,28 @@
  #ifdef MOZ_WIDGET_ANDROID
          stTablet == eBad ||
  #endif
-         stABI == eBad)
+         stABI == eBad) {
        continue;
+     }
  
-     if (directive->regfunc) {
-       if (GeckoProcessType_Default != XRE_GetProcessType())
+ #ifdef MOZ_B2G_LOADER
+diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
+--- a/xpcom/components/moz.build
++++ b/xpcom/components/moz.build
+@@ -47,12 +47,13 @@ FINAL_LIBRARY = 'xul'
+ GENERATED_INCLUDES += ['..']
+ LOCAL_INCLUDES += [
+     '../base',
+     '../build',
+     '../ds',
+     '../reflect/xptinfo',
+     '/chrome',
+     '/modules/libjar',
++    '/toolkit/xre'
+ ]
+ 
+ if CONFIG['MOZ_WIDGET_GTK']:
+     CXXFLAGS += CONFIG['TK_CFLAGS']
 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
 --- a/xpcom/io/nsLocalFileUnix.cpp
 +++ b/xpcom/io/nsLocalFileUnix.cpp
@@ -3631,7 +3644,7 @@
  #include "prmem.h"
  #include "plbase64.h"
  
-@@ -1962,53 +1963,55 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -1965,55 +1966,57 @@ nsLocalFile::SetPersistentDescriptor(con
    return InitWithNativePath(aPersistentDescriptor);
  #endif
  }
@@ -3641,11 +3654,13 @@
  {
  #ifdef MOZ_WIDGET_GTK
 -  nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
--  nsCOMPtr<nsIGnomeVFSService> gnomevfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
+-  nsCOMPtr<nsIGnomeVFSService> gnomevfs =
+-    do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
 -  if (!giovfs && !gnomevfs) {
 -    return NS_ERROR_FAILURE;
 -  }
 -
++
 +  nsAutoCString url;
    bool isDirectory;
    if (NS_FAILED(IsDirectory(&isDirectory))) {
@@ -3662,7 +3677,8 @@
 -      return gnomevfs->ShowURIForInput(mPath);
 -    }
 +    url = mPath;
-   } else if (giovfs && NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
+   } else if (giovfs &&
+              NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
      return NS_OK;
    } else {
      nsCOMPtr<nsIFile> parentDir;
@@ -3705,7 +3721,7 @@
      return rv;
    }
    return NS_ERROR_FAILURE;
-@@ -2016,16 +2019,22 @@ nsLocalFile::Reveal()
+@@ -2021,16 +2024,22 @@ nsLocalFile::Reveal()
    return NS_ERROR_FAILURE;
  #endif
  }
@@ -3721,10 +3737,10 @@
 +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
 +  }
    nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
-   nsCOMPtr<nsIGnomeVFSService> gnomevfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
+   nsCOMPtr<nsIGnomeVFSService> gnomevfs =
+     do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
    if (giovfs) {
      return giovfs->ShowURIForInput(mPath);
    } else if (gnomevfs) {
      /* GnomeVFS fallback */
      return gnomevfs->ShowURIForInput(mPath);
-   }