update to 34.0

This commit is contained in:
Tigro 2014-12-01 15:57:53 +03:00
parent 6718ce3de3
commit 64087f11f3
4 changed files with 183 additions and 195 deletions

View file

@ -1,3 +1,3 @@
sources:
firefox-searchengines-bing.xml: ccdb7c0cc2d288714f70f8a92f0adfc2766f2b36
firefox-33.0.source.tar.bz2: ad10e8fefcd9687d2b67bacafa4ecb5f5ca4af66
firefox-34.0.source.tar.bz2: 994643d5e73e1b243bae52e4efec665012dc3d0a

View file

@ -2,7 +2,7 @@ diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
@@ -0,0 +1,1238 @@
@@ -0,0 +1,1224 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@ -674,7 +674,7 @@ new file mode 100644
+ aria-label="&navbarCmd.label;"
+ fullscreentoolbar="true" mode="icons" customizable="true"
+ iconsize="small"
+ defaultset="urlbar-container,search-container,bookmarks-menu-button,downloads-button,home-button,loop-call-button,social-share-button,social-toolbar-item"
+ defaultset="urlbar-container,search-container,bookmarks-menu-button,downloads-button,home-button,social-share-button,social-toolbar-item"
+ customizationtarget="nav-bar-customization-target"
+ overflowable="true"
+ overflowbutton="nav-bar-overflow-button"
@ -717,7 +717,7 @@ new file mode 100644
+ ontextreverted="return this.handleRevert();"
+ pageproxystate="invalid"
+ onfocus="document.getElementById('identity-box').style.MozUserFocus= 'normal'"
+ onblur="setTimeout(function() document.getElementById('identity-box').style.MozUserFocus = '', 0);">
+ onblur="setTimeout(() => { document.getElementById('identity-box').style.MozUserFocus = ''; }, 0);">
+ <box id="notification-popup-box" hidden="true" align="center">
+ <image id="default-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="identity-notification-icon" class="notification-anchor-icon" role="button"/>
@ -729,7 +729,8 @@ new file mode 100644
+ <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="plugin-install-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="mixed-content-blocked-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="bad-content-blocked-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="bad-content-unblocked-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="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon" role="button"/>
@ -922,22 +923,6 @@ new file mode 100644
+ cui-areatype="toolbar"
+ aboutHomeOverrideTooltip="&abouthome.pageTitle;"/>
+
+ <!-- XXX Bug 1013989 will provide a label for the button -->
+ <!-- This uses badged to be compatible with the social api code it shares.
+ We may also want it to be badged in the future, for notification
+ purposes. -->
+ <toolbarbutton id="loop-call-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional"
+ persist="class"
+ type="badged"
+ removable="true"
+ tooltiptext="&loopCallButton.tooltip;"
+ oncommand="LoopUI.openCallPanel(event);"
+ cui-areatype="toolbar"
+ >
+ </toolbarbutton>
+
+
+ <toolbarbutton id="social-share-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional"
+ label="&sharePageCmd.label;"
@ -1107,6 +1092,7 @@ new file mode 100644
+
+ <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>
+ <vbox id="appcontent" flex="1">
+ <notificationbox id="high-priority-global-notificationbox"/>
+ <tabbrowser id="content"
+ flex="1" contenttooltip="aHTMLTooltip"
+ tabcontainer="tabbrowser-tabs"
@ -1263,7 +1249,7 @@ diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul
<button id="editBookmarkPanelDeleteButton"
class="editBookmarkPanelBottomButton"
label="&editBookmark.cancel.label;"
@@ -1164,17 +1164,17 @@
@@ -1150,17 +1150,17 @@
<hbox id="full-screen-warning-container" hidden="true" fadeout="true">
<hbox style="width: 100%;" pack="center"> <!-- Inner hbox needed due to bug 579776. -->
@ -1299,11 +1285,11 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn
* content/browser/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
* content/browser/chatWindow.xul (content/chatWindow.xul)
content/browser/content.js (content/content.js)
content/browser/newtab/newTab.xul (content/newtab/newTab.xul)
* content/browser/newtab/newTab.js (content/newtab/newTab.js)
content/browser/newtab/newTab.css (content/newtab/newTab.css)
* content/browser/pageinfo/pageInfo.xul (content/pageinfo/pageInfo.xul)
content/browser/pageinfo/pageInfo.js (content/pageinfo/pageInfo.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)
content/browser/defaultthemes/1.preview.jpg (content/defaultthemes/1.preview.jpg)
content/browser/defaultthemes/2.footer.jpg (content/defaultthemes/2.footer.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
@ -1364,17 +1350,17 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
#elif defined(XP_MACOSX)
{ &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
#endif
diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js
--- a/browser/components/preferences/advanced.js
+++ b/browser/components/preferences/advanced.js
@@ -25,16 +25,22 @@ var gAdvancedPane = {
if (extraArgs && extraArgs["advancedTab"]){
advancedPrefs.selectedTab = document.getElementById(extraArgs["advancedTab"]);
} else {
var preference = document.getElementById("browser.preferences.advanced.selectedTabIndex");
if (preference.value !== null)
advancedPrefs.selectedIndex = preference.value;
}
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
--- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js
@@ -12,16 +12,22 @@ var gMainPane = {
/**
* Initialization of this.
*/
init: function ()
{
this._pane = document.getElementById("paneMain");
+ var env = Components.classes["@mozilla.org/process/environment;1"]
+ .getService(Components.interfaces.nsIEnvironment);
@ -1390,52 +1376,38 @@ diff --git a/browser/components/preferences/advanced.js b/browser/components/pre
// 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.
@@ -889,14 +895,25 @@ var gAdvancedPane = {
* Set browser as the operating system default browser.
@@ -497,16 +503,27 @@ var gMainPane = {
*/
setDefaultBrowser: function()
{
let shellSvc = getShellService();
if (!shellSvc)
return;
shellSvc.setDefaultBrowser(true, false);
+ if (kde_session == 1) {
+ var shellObj = Components.classes["@mozilla.org/file/local;1"]
+ .createInstance(Components.interfaces.nsILocalFile);
+ shellObj.initWithPath("/usr/bin/kwriteconfig");
+ var process = Components.classes["@mozilla.org/process/util;1"]
+ .createInstance(Components.interfaces.nsIProcess);
+ process.init(shellObj);
+ var args = ["--file", "kdeglobals", "--group", "General", "--key",
+ "BrowserApplication", "MozillaFirefox"];
+ process.run(false, args, args.length);
+ }
try {
shellSvc.setDefaultBrowser(true, false);
+ if (kde_session == 1) {
+ var shellObj = Components.classes["@mozilla.org/file/local;1"]
+ .createInstance(Components.interfaces.nsILocalFile);
+ shellObj.initWithPath("/usr/bin/kwriteconfig");
+ var process = Components.classes["@mozilla.org/process/util;1"]
+ .createInstance(Components.interfaces.nsIProcess);
+ process.init(shellObj);
+ var args = ["--file", "kdeglobals", "--group", "General", "--key",
+ "BrowserApplication", "MozillaFirefox"];
+ process.run(false, args, args.length);
+ }
} catch (ex) {
Components.utils.reportError(ex);
return;
}
let selectedIndex =
shellSvc.isDefaultBrowser(false, true) ? 1 : 0;
document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
}
#endif
};
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
@@ -2,10 +2,12 @@
# 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
CXXFLAGS += $(TK_CFLAGS)
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
+
clobber::
rm -f $(DIST)/lib/$(LIBRARY_NAME).lib
diff --git a/browser/components/shell/src/moz.build b/browser/components/shell/src/moz.build
--- a/browser/components/shell/src/moz.build
+++ b/browser/components/shell/src/moz.build
@@ -10,16 +10,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
--- a/browser/components/shell/moz.build
+++ b/browser/components/shell/moz.build
@@ -30,16 +30,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
SOURCES += [
@ -1454,10 +1426,10 @@ diff --git a/browser/components/shell/src/moz.build b/browser/components/shell/s
EXTRA_COMPONENTS += [
'nsSetDefaultBrowser.js',
'nsSetDefaultBrowser.manifest',
diff --git a/browser/components/shell/src/nsKDEShellService.cpp b/browser/components/shell/src/nsKDEShellService.cpp
diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
new file mode 100644
--- /dev/null
+++ b/browser/components/shell/src/nsKDEShellService.cpp
+++ b/browser/components/shell/nsKDEShellService.cpp
@@ -0,0 +1,238 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
@ -1697,10 +1669,10 @@ new file mode 100644
+ NS_ADDREF(*_retval = defaultReader);
+ return NS_OK;
+}
diff --git a/browser/components/shell/src/nsKDEShellService.h b/browser/components/shell/src/nsKDEShellService.h
diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h
new file mode 100644
--- /dev/null
+++ b/browser/components/shell/src/nsKDEShellService.h
+++ b/browser/components/shell/nsKDEShellService.h
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
@ -1762,10 +1734,10 @@ new file mode 100644
+};
+
+#endif // nskdeshellservice_h____
diff --git a/browser/components/shell/src/nsUnixShellService.cpp b/browser/components/shell/src/nsUnixShellService.cpp
diff --git a/browser/components/shell/nsUnixShellService.cpp b/browser/components/shell/nsUnixShellService.cpp
new file mode 100644
--- /dev/null
+++ b/browser/components/shell/src/nsUnixShellService.cpp
+++ b/browser/components/shell/nsUnixShellService.cpp
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
@ -1819,10 +1791,10 @@ new file mode 100644
+ return nsKDEShellServiceConstructor( aOuter, aIID, aResult );
+ return nsGNOMEShellServiceConstructor( aOuter, aIID, aResult );
+}
diff --git a/browser/components/shell/src/nsUnixShellService.h b/browser/components/shell/src/nsUnixShellService.h
diff --git a/browser/components/shell/nsUnixShellService.h b/browser/components/shell/nsUnixShellService.h
new file mode 100644
--- /dev/null
+++ b/browser/components/shell/src/nsUnixShellService.h
+++ b/browser/components/shell/nsUnixShellService.h
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
@ -1872,7 +1844,7 @@ new file mode 100644
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
@@ -658,19 +658,21 @@
@@ -685,19 +685,21 @@
@BINPATH@/defaults/autoconfig/prefcalls.js
@BINPATH@/browser/defaults/profile/prefs.js

View file

@ -7,7 +7,7 @@
# This also means only STABLE upstream releases, NO betas.
# This is a discussed topic. Please, do not flame it again.
%define major 33.0
%define major 34.0
%define ff_epoch 0
# (tpg) set version HERE !!!
%define realver %{major}
@ -52,8 +52,8 @@ Patch2: firefox-vendor.patch
Patch8: firefox-25.0-disable-check-default-browser.patch
Patch10: firefox-3.5.3-default-mail-handler.patch
# Patches for kde integration of FF
Patch11: firefox-33-kde.patch
Patch12: mozilla-33-kde.patch
Patch11: firefox-34-kde.patch
Patch12: mozilla-34-kde.patch
Patch13: mozilla-kde-background.patch
Patch34: xulrunner_nojit.patch

View file

@ -4,9 +4,9 @@ Author: Lubos Lunak <lunak@suse.com>
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 @@ diff --git a/modules/libpref/src/Makefile.in b/modules/libpref/src/Makefile.in
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 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
'''
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']:
]
include $(topsrcdir)/config/rules.mk
FAIL_ON_WARNINGS = True
CXXFLAGS += $(TK_CFLAGS)
-
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
'../protobuf',
- '/ipc/chromium/src'
+ '/ipc/chromium/src',
+ '/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 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
#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 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
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/components/downloads/nsDownloadManager.cpp b/toolkit/compon
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 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
NS_DECL_NSISYSTEMPROXYSETTINGS
nsUnixSystemProxySettings()
: mSchemeProxySettings(5)
: mSchemeProxySettings(4)
@@ -38,16 +40,17 @@ private:
nsCOMPtr<nsIGSettingsService> mGSettings;
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
@ -2625,20 +2627,6 @@ new file mode 100644
+ };
+
+#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 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
'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 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
#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/.
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'
include $(topsrcdir)/config/rules.mk
LOCAL_INCLUDES += [
'../shared',
'../xpwidgets',
'/layout/generic',
'/layout/xul',
'/other-licenses/atk-1.0',
+ '/toolkit/xre'
]
CFLAGS += $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
if CONFIG['MOZ_X11']:
LOCAL_INCLUDES += [
'../shared/x11',
]
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
+
CFLAGS += $(TK_CFLAGS)
CXXFLAGS += $(TK_CFLAGS)
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 @@ diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
};
#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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
// 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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
+ 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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
#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 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
#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 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
{
#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 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
- 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 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
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 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
+ 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);
}