update firefox 22.0

This commit is contained in:
Weng 2013-06-26 20:20:00 +00:00
parent 7defd08afa
commit eb67ff0589
7 changed files with 245 additions and 116 deletions

View File

@ -1,15 +1,17 @@
# Contributor: Weng Xuetian <wengxt@gmail.com>
pkgname=firefox-kde
pkgver=21.0
pkgrel=2
pkgver=22.0
pkgrel=1
pkgdesc="Standalone web browser from mozilla.org with OpenSUSE patch, integrate better with KDE"
_obsver=b88c72dfdc858f6209feb123227bd7df
url='http://www.mozilla.org/projects/firefox'
arch=('x86_64')
license=('MPL' 'GPL' 'LGPL')
depends=('gtk2' 'startup-notification' 'libnotify' 'alsa-lib' 'gstreamer0.10' 'gstreamer0.10-base' 'libxt' 'dbus-glib' 'libevent' 'filesystem-extra' 'kdelibs')
makedepends=('zip' 'pkg-config' 'diffutils' 'python2' 'wireless_tools' 'unzip' 'autoconf2.13' 'mesa' 'yasm' 'cmake' 'automoc4')
makedepends=('zip' 'pkg-config' 'diffutils' 'python2' 'wireless_tools' 'unzip' 'autoconf2.13' 'mesa' 'yasm' 'cmake' 'automoc4' 'libpulse')
optdepends=('networkmanager: Location detection via available WiFi networks'
'libpulse: PulseAudio audio driver')
screenshot="http://img864.imageshack.us/img864/5116/firefoxm.png"
provides=("firefox=${pkgver}" "kmozillahelper=0.6.4")
conflicts=('firefox' 'kmozillahelper')
@ -43,63 +45,20 @@ source=(ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${pkgver}/source/
firefox-kde.patch
mozilla-nongnome-proxies.patch
mozilla-kde.patch
mozilla-gstreamer-760140.patch
firefox-22.0-do-not-fallback-to-manual-proxy-settings.patch
firefox-20.0.1-fixed-loading-icon.png
duckduckgo.xml
"kmozillahelper-0.6.4.tar.bz2::https://api.opensuse.org/public/source/mozilla:Factory/mozilla-kde4-integration/${pkgname}-${pkgver}.tar.bz2?rev=${_obsver}"
move-to-extra.patch
)
md5sums=('b822ff4b2348410587dec563235d9320'
'b2a0c175d063e6c4fe0c7ed6c27ac443'
'22c8f014ca98e49c4c107e2671dd0e51'
'150ac0fb3ac7b2114c8e8851a9e0516c'
'b1b1ad060b411a4abee7dcc63927aa02'
'75df0f88cc7a7fa7d522459e4ff82cc5'
'194da028eba1fbc316cf37dd586c4112'
'79f113b56057e17ca2466cd0ac578bb3'
'69a90693ab4fc4d81afd83c1524e73d4'
'9f4e6467284a5c82fbba0c0afe862f31'
'7303a96e92e600a46dd6a2cf9af5ada5'
'f6e2a6759b8711b445dbc9d35cbd275f'
'7db8c8904371204fb4c13e9cd306deb0'
'4baee75ae2e23b2aa2f129385d4dcb82')
build() {
_prepare() {
pushd .
build_kmozillahelper
popd
pushd .
build_firefox
popd
}
build_kmozillahelper() {
pushd .
cd kmozillahelper
patch -Np1 -i ../move-to-extra.patch || return 1
popd
mkdir -p kmozillahelper-build
cd kmozillahelper-build
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` -DCMAKE_BUILD_TYPE=Release ../kmozillahelper
make || return 1
}
build_firefox() {
cd "mozilla-release"
patch -Np1 -i "../firefox-install-dir.patch"
# modify the patch to make it under extra
cp ../mozilla-kde.patch ../mozilla-kde-mod.patch
sed -i 's|\(\+\#define KMOZILLAHELPER "\)\(/usr/lib/mozilla/kmozillahelper"\)|\1/extra\2|' ../mozilla-kde-mod.patch
cp "../mozconfig" .mozconfig
# remove the new file, to make life easier with call makepkg multiple times
rm -f content/media/gstreamer/nsGStreamerFormatHelper.cpp \
content/media/gstreamer/GStreamerFormatHelper.cpp \
content/media/gstreamer/nsGStreamerFormatHelper.h \
content/media/gstreamer/GStreamerFormatHelper.h
# make makepkg -R easier
rm -f browser/components/shell/src/nsKDEShellService.cpp \
browser/components/shell/src/nsKDEShellService.h \
browser/components/shell/src/nsUnixShellService.cpp \
@ -114,8 +73,17 @@ build_firefox() {
toolkit/content/widgets/dialog-kde.xml \
toolkit/content/widgets/preferences-kde.xml
msg "apply mozilla-gstreamer-760140.patch"
patch -Np1 -i "../mozilla-gstreamer-760140.patch" || return 1
cp toolkit/components/downloads/nsDownloadManager.cpp{,.bak}
patch -Np1 -i "../firefox-install-dir.patch"
# modify the patch to make it under extra
cp ../mozilla-kde.patch ../mozilla-kde-mod.patch
sed -i 's|\(\+\#define KMOZILLAHELPER "\)\(/usr/lib/mozilla/kmozillahelper"\)|\1/extra\2|' ../mozilla-kde-mod.patch
cp toolkit/components/downloads/nsDownloadManager.cpp{.bak,}
msg "apply mozilla-nongnome-proxies.patch"
patch -Np1 -i "../mozilla-nongnome-proxies.patch" || return 1
msg "apply mozilla-kde-mod.patch"
@ -123,12 +91,52 @@ build_firefox() {
msg "apply firefox-kde.patch"
patch -Np1 -i "../firefox-kde.patch" || return 1
cp "../mozconfig" .mozconfig
# Should be fixed in Firefox 23
# https://bugzilla.mozilla.org/show_bug.cgi?id=817533
patch -Np1 -i ../firefox-22.0-do-not-fallback-to-manual-proxy-settings.patch
mkdir -p "$srcdir/path"
# WebRTC build tries to execute "python" and expects Python 2
ln -sf /usr/bin/python2 "$srcdir/path/python"
# Fix PRE_RELEASE_SUFFIX
sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \
browser/base/Makefile.in
# Fix tab loading icon (flickers with libpng 1.6)
# https://bugzilla.mozilla.org/show_bug.cgi?id=841734
cp "$srcdir/firefox-20.0.1-fixed-loading-icon.png" \
browser/themes/linux/tabbrowser/loading.png
popd
pushd .
cd kmozillahelper
patch -Np1 -i ../move-to-extra.patch || return 1
popd
}
build() {
_prepare
pushd .
build_kmozillahelper
popd
pushd .
build_firefox
popd
}
build_kmozillahelper() {
mkdir -p kmozillahelper-build
cd kmozillahelper-build
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` -DCMAKE_BUILD_TYPE=Release ../kmozillahelper
make || return 1
}
build_firefox() {
cd "mozilla-release"
export PATH="$srcdir/path:$PATH"
export LDFLAGS="$LDFLAGS -Wl,-rpath,/extra/usr/lib/firefox"
export PYTHON="/usr/bin/python2"
@ -171,16 +179,18 @@ package() {
ln -s /usr/share/hyphen "$pkgdir/extra/usr/lib/firefox/hyphenation"
}
md5sums=('6e2510e9466b280c367de0e4c05a8840'
'bbcfd1b4fc60495a7e49a66be1a637f7'
'22c8f014ca98e49c4c107e2671dd0e51'
'150ac0fb3ac7b2114c8e8851a9e0516c'
'b1b1ad060b411a4abee7dcc63927aa02'
'75df0f88cc7a7fa7d522459e4ff82cc5'
'755528dfc7143f695bf5800f923bf384'
'79f113b56057e17ca2466cd0ac578bb3'
'f6ee269b0ecfbf6a4ddcf8d45cfd6e4f'
'70fb43a673328e3665e999659b3a0d4b'
'f6e2a6759b8711b445dbc9d35cbd275f'
'7db8c8904371204fb4c13e9cd306deb0'
'4baee75ae2e23b2aa2f129385d4dcb82')
sha1sums=('db2d5b028b6ea95b5f006b46e153f50f7a52bf80'
'1ab24e03f04c8641c7bba1ace285b9db98feed23'
'5c54c004a5f6bcf22d1ff0fdc33765c45517288a'
'28e6c025e1bfa0784648fcf3876c1ffc7a79aeec'
'e0f399de01da908f474c237bc6c5a15678cd8fcd'
'ce48f8e5065319e191a7389539ec663dc8a919d7'
'417da8cc3599b575c9c26ecd546e612b978cf260'
'ec793946d5ae5a3e4e8f2a2f78aacb8f1b50ee04'
'3b2481ec13f8eefc2d38c658d2cdedbe538f0816'
'783d7ca683b911ef388fd265caef552e1e346d71'
'0c3900ffe21bfc3d96b80ade334613bc7e76fe27'
'aa3442d291bd77fefa3758291baa9c609a74e5dc'
'5543ea72a07fb6f3af19cfbb6d1683a5fddaa807'
'a905b224834c8f2d40a2f4e39a3f47ba6b1d2952')

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,36 @@
# HG changeset patch
# User Patrick McManus <mcmanus@ducksong.com>
# Date 1365623297 14400
# Node ID 85f1d207f52546e0e5fe78990cdefe6efae485fb
# Parent 2bb26d742f5ffd2d946291fd3c688dc3d6d34f67
bug 817533 - failed system proxy lookups should not fallback to manual configs r=jduell
diff --git a/netwerk/base/src/nsProtocolProxyService.cpp b/netwerk/base/src/nsProtocolProxyService.cpp
--- a/netwerk/base/src/nsProtocolProxyService.cpp
+++ b/netwerk/base/src/nsProtocolProxyService.cpp
@@ -1553,17 +1553,22 @@ nsProtocolProxyService::Resolve_Internal
// Proxy auto config magic...
if (mProxyConfig == PROXYCONFIG_PAC || mProxyConfig == PROXYCONFIG_WPAD) {
// Do not query PAC now.
*usePACThread = true;
return NS_OK;
}
- // proxy info values
+ // If we aren't in manual proxy configuration mode then we don't
+ // want to honor any manual specific prefs that might be still set
+ if (mProxyConfig != PROXYCONFIG_MANUAL)
+ return NS_OK;
+
+ // proxy info values for manual configuration mode
const char *type = nullptr;
const nsACString *host = nullptr;
int32_t port = -1;
uint32_t proxyFlags = 0;
if ((flags & RESOLVE_PREFER_SOCKS_PROXY) &&
!mSOCKSProxyHost.IsEmpty() && mSOCKSProxyPort > 0) {

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,1216 @@
@@ -0,0 +1,1225 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@ -119,7 +119,7 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ </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 @@ new file mode 100644
+ <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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+
+ <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 @@ new file mode 100644
+ 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>
@ -1181,32 +1190,32 @@ new file mode 100644
+
+#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/preferences/advanced.js b/browser/components/pre
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 @@ 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
@@ -588,19 +588,21 @@
@@ -602,19 +602,21 @@
@BINPATH@/defaults/autoconfig/prefcalls.js
@BINPATH@/browser/defaults/profile/prefs.js

View File

@ -14,7 +14,7 @@ ac_add_options --with-system-png
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --enable-system-hunspell
ac_add_options --enable-system-sqlite
#ac_add_options --enable-system-sqlite
ac_add_options --enable-system-ffi
#ac_add_options --enable-system-cairo
ac_add_options --enable-system-pixman
@ -26,6 +26,7 @@ ac_add_options --with-pthreads
ac_add_options --enable-official-branding
ac_add_options --enable-safe-browsing
ac_add_options --enable-startup-notification
ac_add_options --enable-pulseaudio
ac_add_options --disable-gio
ac_add_options --disable-gconf

View File

@ -7,7 +7,7 @@ Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
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,19 +184,90 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
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
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
@@ -38,16 +38,20 @@
#ifdef XP_WIN
#include <shlobj.h>
#ifdef DOWNLOAD_SCANNER
#include "nsDownloadScanner.h"
#endif
#endif
+#if defined(XP_UNIX) && !defined(XP_MACOSX)
+#include "nsKDEUtils.h"
+#endif
+
#ifdef XP_MACOSX
#include <CoreFoundation/CoreFoundation.h>
#endif
#ifdef MOZ_WIDGET_ANDROID
#include "AndroidBridge.h"
#endif
@@ -2590,16 +2594,25 @@ nsDownload::SetState(DownloadState aStat
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
// Master pref to control this function.
bool showTaskbarAlert = true;
if (pref)
pref->GetBoolPref(PREF_BDM_SHOWALERTONCOMPLETE, &showTaskbarAlert);
if (showTaskbarAlert) {
+ if( nsKDEUtils::kdeSupport()) {
+ nsTArray<nsCString> command;
+ command.AppendElement( NS_LITERAL_CSTRING( "DOWNLOADFINISHED" ));
+ nsAutoString displayName;
+ GetDisplayName( displayName );
+ command.AppendElement( nsAutoCString( ToNewUTF8String( displayName )));
+ nsKDEUtils::command( command );
+ } else {
+ // begin non-KDE block
int32_t alertInterval = 2000;
if (pref)
pref->GetIntPref(PREF_BDM_SHOWALERTINTERVAL, &alertInterval);
int64_t alertIntervalUSec = alertInterval * PR_USEC_PER_MSEC;
int64_t goat = PR_Now() - mStartTime;
showTaskbarAlert = goat > alertIntervalUSec;
@@ -2626,19 +2639,20 @@ nsDownload::SetState(DownloadState aStat
// retention policy, there's no reason to make the text clickable
// because if it is, they'll click open the download manager and
// the items they downloaded will have been removed.
alerts->ShowAlertNotification(
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());
- }
+ }
}
}
+ }
#if defined(XP_WIN) || defined(XP_MACOSX) || defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GTK2)
nsCOMPtr<nsIFileURL> fileURL = do_QueryInterface(mTarget);
nsCOMPtr<nsIFile> file;
nsAutoString path;
if (fileURL &&
NS_SUCCEEDED(fileURL->GetFile(getter_AddRefs(file))) &&
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
@ -2074,7 +2145,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
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,
@ -2094,7 +2165,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
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,
@ -2132,7 +2203,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
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
@ -2552,7 +2623,7 @@ new file mode 100644
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 \
@ -2828,14 +2899,14 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
nsAutoCString spec;
aURI->GetAsciiSpec(spec);
if (hildon_uri_open(spec.get(), action, nullptr))
@@ -61,22 +64,22 @@ nsMIMEInfoUnix::LoadUriInternal(nsIURI *
return rv;
}
NS_IMETHODIMP
nsMIMEInfoUnix::GetHasDefaultHandler(bool *_retval)
@@ -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);
*_retval = false;
- nsRefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromType(mSchemeOrType);
+ nsRefPtr<nsMIMEInfoBase> mimeInfo = nsCommonRegistry::GetFromType(mSchemeOrType);
@ -2853,7 +2924,7 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
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();
@ -2887,7 +2958,7 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
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)
@ -3001,7 +3072,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
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 \
@ -3367,7 +3438,7 @@ diff --git a/widget/gtk2/nsFilePicker.h b/widget/gtk2/nsFilePicker.h
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
@ -3513,7 +3584,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
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)

View File

@ -9,7 +9,7 @@ retrieving revision 1.1
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,22 +19,24 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
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);
+ }
}