forked from pool/MozillaThunderbird
- update to Thunderbird 31.0
* based on Gecko 31 * Autocompleting email addresses now matches against any part of the name or email * Composing a mail to a newsgroup will now autocomplete newsgroup names * Insecure NTLM (pre-NTLMv2) authentication disabled - rebased patches - removed enigmail entirely from source package - removed obsolete patches * libffi-ppc64le.patch * ppc64le-support.patch * xpcom-ppc64le.patch - use GStreamer 1.0 after 13.1 - switched source archives to use xz instead of bz2 OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=251
This commit is contained in:
parent
3eeadca128
commit
c34ff70793
@ -1,3 +1,22 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 27 20:25:46 UTC 2014 - wr@rosenauer.org
|
||||
|
||||
- update to Thunderbird 31.0
|
||||
* based on Gecko 31
|
||||
* Autocompleting email addresses now matches against any part of
|
||||
the name or email
|
||||
* Composing a mail to a newsgroup will now autocomplete newsgroup
|
||||
names
|
||||
* Insecure NTLM (pre-NTLMv2) authentication disabled
|
||||
- rebased patches
|
||||
- removed enigmail entirely from source package
|
||||
- removed obsolete patches
|
||||
* libffi-ppc64le.patch
|
||||
* ppc64le-support.patch
|
||||
* xpcom-ppc64le.patch
|
||||
- use GStreamer 1.0 after 13.1
|
||||
- switched source archives to use xz instead of bz2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 20 15:59:49 UTC 2014 - wr@rosenauer.org
|
||||
|
||||
|
@ -17,9 +17,18 @@
|
||||
#
|
||||
|
||||
|
||||
%define mainversion 24.7.0
|
||||
%define mainversion 31.0
|
||||
%define update_channel release
|
||||
|
||||
%if %suse_version > 1210
|
||||
%if %suse_version > 1310
|
||||
%define gstreamer_ver 1.0
|
||||
%define gstreamer 1
|
||||
%else
|
||||
%define gstreamer_ver 0.10
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%define with_kde 1
|
||||
|
||||
Name: MozillaThunderbird
|
||||
@ -41,16 +50,27 @@ BuildRequires: startup-notification-devel
|
||||
BuildRequires: unzip
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: xorg-x11-libXt-devel
|
||||
BuildRequires: xz
|
||||
BuildRequires: yasm
|
||||
BuildRequires: zip
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
%if %suse_version > 1210
|
||||
BuildRequires: pkgconfig(gstreamer-%gstreamer_ver)
|
||||
BuildRequires: pkgconfig(gstreamer-app-%gstreamer_ver)
|
||||
BuildRequires: pkgconfig(gstreamer-plugins-base-%gstreamer_ver)
|
||||
%if 0%{?gstreamer} == 1
|
||||
Requires: libgstreamer-1_0-0
|
||||
Recommends: gstreamer-fluendo-mp3
|
||||
Recommends: gstreamer-plugin-libav
|
||||
%else
|
||||
Requires: libgstreamer-0_10-0
|
||||
Recommends: gstreamer-0_10-fluendo-mp3
|
||||
Recommends: gstreamer-0_10-plugins-ffmpeg
|
||||
%endif
|
||||
%endif
|
||||
Version: %{mainversion}
|
||||
Release: 0
|
||||
%define releasedate 2014072000
|
||||
%define releasedate 2014072100
|
||||
Provides: thunderbird = %{version}
|
||||
%if %{with_kde}
|
||||
# this is needed to match this package with the kde4 helper package without the main package
|
||||
@ -62,18 +82,17 @@ Summary: The Stand-Alone Mozilla Mail Component
|
||||
License: MPL-2.0
|
||||
Group: Productivity/Networking/Email/Clients
|
||||
Url: http://www.mozilla.org/products/thunderbird/
|
||||
Source: thunderbird-%{version}-source.tar.bz2
|
||||
Source: thunderbird-%{version}-source.tar.xz
|
||||
Source1: thunderbird.desktop
|
||||
Source2: add-plugins.sh.in
|
||||
Source3: mozilla.sh.in
|
||||
Source4: l10n-%{version}.tar.bz2
|
||||
Source4: l10n-%{version}.tar.xz
|
||||
#Source5: shipped-locales
|
||||
Source6: suse-default-prefs.js
|
||||
Source7: find-external-requires.sh
|
||||
Source8: thunderbird-rpmlintrc
|
||||
Source9: enigmail-1.7.tar.gz
|
||||
Source10: create-tar.sh
|
||||
Source11: compare-locales.tar.bz2
|
||||
Source11: compare-locales.tar.xz
|
||||
Source12: kde.js
|
||||
# Gecko/Toolkit
|
||||
Patch1: mozilla-shared-nss-db.patch
|
||||
@ -82,9 +101,6 @@ Patch3: mozilla-nongnome-proxies.patch
|
||||
Patch4: mozilla-kde.patch
|
||||
Patch5: mozilla-arm-disable-edsp.patch
|
||||
Patch7: mozilla-ppc.patch
|
||||
Patch8: libffi-ppc64le.patch
|
||||
Patch9: xpcom-ppc64le.patch
|
||||
Patch10: ppc64le-support.patch
|
||||
# Thunderbird/mail
|
||||
Patch20: tb-ssldap.patch
|
||||
Patch21: tb-develdirs.patch
|
||||
@ -93,7 +109,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
PreReq: coreutils fileutils textutils /bin/sh
|
||||
Recommends: libcanberra0
|
||||
### build options
|
||||
%define build_enigmail 0
|
||||
%ifnarch ppc ppc64 ppc64le %arm
|
||||
%define crashreporter 1
|
||||
%else
|
||||
@ -128,7 +143,6 @@ Mozilla application suite.
|
||||
|
||||
%package translations-common
|
||||
Summary: Common translations for MozillaThunderbird
|
||||
License: MPL-2.0
|
||||
Group: System/Localization
|
||||
Provides: locale(%{name}:ar;ca;cs;da;de;el;en_GB;es_AR;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
|
||||
PreReq: %{name} = %{mainversion}
|
||||
@ -141,7 +155,6 @@ of MozillaThunderbird.
|
||||
|
||||
%package translations-other
|
||||
Summary: Extra translations for MozillaThunderbird
|
||||
License: MPL-2.0
|
||||
Group: System/Localization
|
||||
Provides: locale(%{name}:ast;be;bg;bn_BD;br;et;eu;fy_NL;ga_IE;gd;gl;he;hr;hy_AM;id;is;lt;nn_NO;pa_IN;rm;ro;si;sk;sl;sq;sr;ta_LK;tr;uk;vi)
|
||||
PreReq: %{name} = %{mainversion}
|
||||
@ -154,7 +167,6 @@ of MozillaThunderbird.
|
||||
|
||||
%package devel
|
||||
Summary: Mozilla Thunderbird SDK
|
||||
License: MPL-2.0
|
||||
Group: Development/Libraries/Other
|
||||
Requires: mozilla-nspr-devel >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr-devel)
|
||||
PreReq: mozilla-nss-devel >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss-devel)
|
||||
@ -168,7 +180,6 @@ Software Development Kit to build plugins/extensions against Thunderbird.
|
||||
|
||||
%package buildsymbols
|
||||
Summary: Breakpad buildsymbols for %{name}
|
||||
License: MPL-2.0
|
||||
Group: Development/Debug
|
||||
|
||||
%description buildsymbols
|
||||
@ -176,32 +187,8 @@ This subpackage contains the Breakpad created and compatible debugging
|
||||
symbols meant for upload to Mozilla's crash collector database.
|
||||
%endif
|
||||
|
||||
%if %build_enigmail
|
||||
%package -n enigmail
|
||||
Version: 1.7.0+%{mainversion}
|
||||
Release: 0
|
||||
Summary: OpenPGP addon for Thunderbird and SeaMonkey
|
||||
License: MPL-1.1 or GPL-2.0+
|
||||
Group: Productivity/Networking/Email/Clients
|
||||
Url: http://www.enigmail.net/
|
||||
Requires: /usr/bin/gpg
|
||||
%if %suse_version > 1110
|
||||
Requires: pinentry-gui
|
||||
%else
|
||||
Requires: pinentry-dialog
|
||||
%endif
|
||||
Conflicts: thunderbird-esr
|
||||
|
||||
%description -n enigmail
|
||||
This package contains the Enigmail OpenPGP Addon for Thunderbird and SeaMonkey.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%if %build_enigmail
|
||||
%setup -n thunderbird -q -b 4 -b 11 -b 9
|
||||
%else
|
||||
%setup -n thunderbird -q -b 4 -b 11
|
||||
%endif
|
||||
# xulrunner patches
|
||||
pushd mozilla
|
||||
%patch1 -p1
|
||||
@ -212,9 +199,6 @@ pushd mozilla
|
||||
%endif
|
||||
%patch5 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
popd
|
||||
# comm-central patches
|
||||
%patch20 -p1
|
||||
@ -254,7 +238,7 @@ mk_add_options MOZILLA_OFFICIAL=1
|
||||
mk_add_options BUILD_OFFICIAL=1
|
||||
mk_add_options MOZ_MILESTONE_RELEASE=1
|
||||
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
|
||||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
|
||||
mk_add_options MOZ_OBJDIR=$RPM_BUILD_DIR/obj
|
||||
ac_add_options --enable-application=mail
|
||||
ac_add_options --prefix=%{_prefix}
|
||||
ac_add_options --libdir=%{progdir}
|
||||
@ -276,51 +260,31 @@ ac_add_options --enable-startup-notification
|
||||
ac_add_options --enable-official-branding
|
||||
ac_add_options --disable-necko-wifi
|
||||
ac_add_options --enable-update-channel=%{update_channel}
|
||||
EOF
|
||||
%if 0%{?gstreamer} == 1
|
||||
ac_add_options --enable-gstreamer=1.0
|
||||
%endif
|
||||
%if %suse_version > 1130
|
||||
cat << EOF >> $MOZCONFIG
|
||||
ac_add_options --disable-gnomevfs
|
||||
ac_add_options --enable-gio
|
||||
EOF
|
||||
%endif
|
||||
%if %suse_version < 1220
|
||||
cat << EOF >> $MOZCONFIG
|
||||
ac_add_options --disable-gstreamer
|
||||
EOF
|
||||
%endif
|
||||
%if %has_system_cairo
|
||||
cat << EOF >> $MOZCONFIG
|
||||
ac_add_options --enable-system-cairo
|
||||
EOF
|
||||
%endif
|
||||
%if ! %crashreporter
|
||||
cat << EOF >> $MOZCONFIG
|
||||
ac_add_options --disable-crashreporter
|
||||
EOF
|
||||
%endif
|
||||
# Disable neon for arm as it does not build correctly
|
||||
%ifarch %arm
|
||||
cat << EOF >> $MOZCONFIG
|
||||
ac_add_options --disable-neon
|
||||
%endif
|
||||
EOF
|
||||
%endif
|
||||
make -f client.mk build
|
||||
#
|
||||
### enigmail build
|
||||
%if %build_enigmail
|
||||
cp -r $RPM_BUILD_DIR/enigmail $RPM_BUILD_DIR/thunderbird/mailnews/extensions/
|
||||
|
||||
pushd $RPM_BUILD_DIR/thunderbird/mailnews/extensions/enigmail
|
||||
./makemake -r -o '../../../../obj'
|
||||
popd
|
||||
pushd $RPM_BUILD_DIR/obj/mailnews/extensions/enigmail
|
||||
make
|
||||
make xpi
|
||||
popd
|
||||
%endif
|
||||
|
||||
%install
|
||||
cd ../obj
|
||||
cd $RPM_BUILD_DIR/obj
|
||||
make -C mail/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0
|
||||
# copy tree into RPM_BUILD_ROOT
|
||||
mkdir -p $RPM_BUILD_ROOT%{progdir}
|
||||
@ -409,37 +373,7 @@ cp -rL mozilla/dist/include/* $RPM_BUILD_ROOT%{_includedir}/%{progname}/
|
||||
# $RPM_BUILD_ROOT%{_libdir}/pkgconfig/
|
||||
#rm $RPM_BUILD_ROOT%{_libdir}/pkgconfig/thunderbird-nss.pc
|
||||
#ln -sf nss.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/thunderbird-nss.pc
|
||||
##########
|
||||
# ADDONS
|
||||
#
|
||||
# install enigmail to extension dir
|
||||
%if %build_enigmail
|
||||
cp -L mozilla/dist/bin/enigmail-*.xpi $RPM_BUILD_ROOT%{progdir}
|
||||
# Thunderbird location
|
||||
_enig_dir=$RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/\{3550f703-e582-4d05-9a08-453d09bdfdc6\}/\{847b3a00-7ab1-11d4-8f02-006008948af5\}
|
||||
mkdir -p $_enig_dir
|
||||
(cd $_enig_dir; unzip $RPM_BUILD_ROOT%{progdir}/enigmail-*.xpi)
|
||||
# SeaMonkey location
|
||||
mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/\{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a\}
|
||||
(cd $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/\{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a\}; \
|
||||
ln -s ../\{3550f703-e582-4d05-9a08-453d09bdfdc6\}/\{847b3a00-7ab1-11d4-8f02-006008948af5\} )
|
||||
# remove unwanted build artifacts
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/chrome/enigmail.jar
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/chrome/enigmail-locale.jar
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/chrome/enigmail-en-US.jar
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/chrome/enigmail-skin.jar
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/chrome/installed-chrome.txt
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/chrome/enigmime.jar
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/components/libenigmime.so
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/components/ipc.xpt
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/components/enig*
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/components/libenigmime.so
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/components/ipc.xpt
|
||||
rm -rf $RPM_BUILD_ROOT%{progdir}/defaults/preferences/
|
||||
rm -rf $RPM_BUILD_ROOT%{progdir}/platform/
|
||||
rm -rf $RPM_BUILD_ROOT%{progdir}/wrappers/
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/enigmail*.xpi
|
||||
%endif
|
||||
#
|
||||
# remove spurious executable bits
|
||||
find $RPM_BUILD_ROOT/usr/include/%{progname} -type f -exec chmod a-x {} \;
|
||||
@ -503,10 +437,6 @@ exit 0
|
||||
%if %suse_version > 1130
|
||||
%icon_theme_cache_post
|
||||
%endif
|
||||
# remove enigmail on updates
|
||||
if [ -e %progdir/extensions/\{847b3a00-7ab1-11d4-8f02-006008948af5\} ]; then
|
||||
rm -rf %progdir/extensions/\{847b3a00-7ab1-11d4-8f02-006008948af5\}
|
||||
fi
|
||||
exit 0
|
||||
|
||||
%posttrans
|
||||
@ -581,16 +511,7 @@ exit 0
|
||||
#%{_libdir}/pkgconfig/*.pc
|
||||
%{_includedir}/%{progname}/
|
||||
|
||||
%if %build_enigmail
|
||||
|
||||
%files -n enigmail
|
||||
%defattr(-,root,root)
|
||||
%dir %{_libdir}/mozilla
|
||||
%{_libdir}/mozilla/extensions/
|
||||
%endif
|
||||
|
||||
%if %crashreporter
|
||||
|
||||
%files buildsymbols
|
||||
%defattr(-,root,root)
|
||||
%{_datadir}/mozilla/
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2f420cd3b72af8ec018ce75aa73598c8c2cbe7dd32858d1f1b4bed7aa4b52db1
|
||||
size 29886
|
3
compare-locales.tar.xz
Normal file
3
compare-locales.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:866075cbae4d8846063fcc081e347d35d6b5fe8515b5650d153626d2327019e3
|
||||
size 28428
|
@ -1,9 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
CHANNEL="esr24"
|
||||
CHANNEL="esr31"
|
||||
BRANCH="releases/comm-$CHANNEL"
|
||||
RELEASE_TAG="THUNDERBIRD_24_7_0_RELEASE"
|
||||
VERSION="24.7.0"
|
||||
RELEASE_TAG="THUNDERBIRD_31_0_RELEASE"
|
||||
VERSION="31.0"
|
||||
|
||||
echo "cloning $BRANCH..."
|
||||
hg clone http://hg.mozilla.org/$BRANCH thunderbird
|
||||
@ -16,7 +16,7 @@ _extra="--mozilla-repo=http://hg.mozilla.org/releases/mozilla-$CHANNEL $_extra"
|
||||
python client.py checkout --skip-chatzilla --skip-venkman $_extra
|
||||
popd
|
||||
echo "creating archive..."
|
||||
tar cjf thunderbird-$VERSION-source.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS thunderbird
|
||||
tar cJf thunderbird-$VERSION-source.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS thunderbird
|
||||
|
||||
# l10n
|
||||
# http://l10n.mozilla.org/dashboard/?tree=tb30x -> shipped-locales
|
||||
@ -39,12 +39,12 @@ for locale in $(awk '{ print $1; }' $SHIPPED_LOCALES); do
|
||||
esac
|
||||
done
|
||||
echo "creating l10n archive..."
|
||||
tar cjf l10n-$VERSION.tar.bz2 \
|
||||
tar cJf l10n-$VERSION.tar.xz \
|
||||
--exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=browser --exclude=calendar \
|
||||
--exclude=suite \
|
||||
l10n
|
||||
|
||||
# compare-locales
|
||||
hg clone http://hg.mozilla.org/build/compare-locales
|
||||
tar cjf compare-locales.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg compare-locales
|
||||
tar cJf compare-locales.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg compare-locales
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cddbf35783194a4e994f9584ad5bee74750e25f690e81727ba9eccc4f814f161
|
||||
size 1414100
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cd7b3fbf713ee13b44d1b8db01b3e3b37cd4e0e36d7f515ea8ded45046b6e1b6
|
||||
size 27293766
|
3
l10n-31.0.tar.xz
Normal file
3
l10n-31.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c504c66bf29c61b955d9299dba1c7d5e39a98dea3b39bf93a85f619a64748aed
|
||||
size 20730744
|
3750
libffi-ppc64le.patch
3750
libffi-ppc64le.patch
File diff suppressed because it is too large
Load Diff
@ -1,13 +1,13 @@
|
||||
# HG changeset patch
|
||||
# User Adrian Schröter <adrian@suse.de>
|
||||
# Parent 5b26dbfe65bd4986ea3792f02bc025fec293b51f
|
||||
# Parent b945e0c3b145b6b2245f42bab52f911c2d1f6759
|
||||
disable ESDP support (no BNC or BMO reference yet :-()
|
||||
|
||||
diff --git a/xpcom/glue/arm.h b/xpcom/glue/arm.h
|
||||
--- a/xpcom/glue/arm.h
|
||||
+++ b/xpcom/glue/arm.h
|
||||
@@ -143,17 +143,17 @@ namespace mozilla {
|
||||
extern bool NS_COM_GLUE neon_enabled;
|
||||
diff --git a/mozglue/build/arm.h b/mozglue/build/arm.h
|
||||
--- a/mozglue/build/arm.h
|
||||
+++ b/mozglue/build/arm.h
|
||||
@@ -116,17 +116,17 @@ namespace mozilla {
|
||||
extern bool MFBT_DATA neon_enabled;
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
@ -7,27 +7,26 @@ 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
|
||||
@@ -49,14 +49,15 @@ endif
|
||||
# Optimizer bug with GCC 3.2.2 on OS/2
|
||||
ifeq ($(OS_ARCH), OS2)
|
||||
nsPrefService.$(OBJ_SUFFIX): nsPrefService.cpp
|
||||
$(REPORT_BUILD)
|
||||
@$(MAKE_DEPS_AUTO_CXX)
|
||||
$(ELOG) $(CCC) $(OUTOPTION)$@ -c $(COMPILE_CXXFLAGS:-O2=-O1) $(_VPATH_SRCS)
|
||||
@@ -21,13 +21,15 @@ endif
|
||||
ifdef MOZ_SERVICES_HEALTHREPORT
|
||||
ifneq (android,$(MOZ_WIDGET_TOOLKIT))
|
||||
grepref_files += $(topsrcdir)/services/healthreport/healthreport-prefs.js
|
||||
else
|
||||
grepref_files += $(topsrcdir)/mobile/android/chrome/content/healthreport-prefs.js
|
||||
endif
|
||||
endif
|
||||
|
||||
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
|
||||
|
||||
+
|
||||
greprefs.js: $(grepref_files)
|
||||
$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(PREF_PPFLAGS) $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) $^ > $@
|
||||
$(call py_action,preprocessor,$(PREF_PPFLAGS) $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) $^ -o $@)
|
||||
|
||||
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
|
||||
@@ -23,16 +23,17 @@
|
||||
#include "nsIStringEnumerator.h"
|
||||
@@ -27,16 +27,17 @@
|
||||
#include "nsIZipReader.h"
|
||||
#include "nsPrefBranch.h"
|
||||
#include "nsXPIDLString.h"
|
||||
@ -35,6 +34,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
|
||||
#include "nsCOMArray.h"
|
||||
#include "nsXPCOMCID.h"
|
||||
#include "nsAutoPtr.h"
|
||||
#include "nsPrintfCString.h"
|
||||
+#include "nsKDEUtils.h"
|
||||
|
||||
#include "nsQuickSort.h"
|
||||
@ -44,7 +44,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
|
||||
#include "prefread.h"
|
||||
#include "prefapi_private_data.h"
|
||||
|
||||
@@ -972,16 +973,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
|
||||
@@ -1134,16 +1135,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
|
||||
|
||||
static nsresult pref_LoadPrefsInDirList(const char *listId)
|
||||
{
|
||||
@ -62,7 +62,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
|
||||
+
|
||||
+ if (nsKDEUtils::kdeSession()) {
|
||||
+ for(int i = 0;
|
||||
+ i < NS_ARRAY_LENGTH(specialFiles);
|
||||
+ i < MOZ_ARRAY_LENGTH(specialFiles);
|
||||
+ ++i ) {
|
||||
+ if (*specialFiles[ i ] == '\0') {
|
||||
+ specialFiles[ i ] = "kde.js";
|
||||
@ -79,7 +79,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
|
||||
return NS_OK;
|
||||
|
||||
bool hasMore;
|
||||
@@ -997,17 +1016,17 @@ static nsresult pref_LoadPrefsInDirList(
|
||||
@@ -1159,17 +1178,17 @@ static nsresult pref_LoadPrefsInDirList(
|
||||
|
||||
nsAutoCString leaf;
|
||||
path->GetNativeLeafName(leaf);
|
||||
@ -89,7 +89,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
|
||||
ReadExtensionPrefs(path);
|
||||
else
|
||||
- pref_LoadPrefsInDir(path, nullptr, 0);
|
||||
+ pref_LoadPrefsInDir(path, specialFiles, NS_ARRAY_LENGTH(specialFiles));
|
||||
+ pref_LoadPrefsInDir(path, specialFiles, MOZ_ARRAY_LENGTH(specialFiles));
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
@ -98,7 +98,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
|
||||
{
|
||||
nsZipItemPtr<char> manifest(jarReader, name, true);
|
||||
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
|
||||
@@ -1101,28 +1120,40 @@ static nsresult pref_InitInitialObjects(
|
||||
@@ -1263,26 +1282,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)
|
||||
@ -113,8 +113,6 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
|
||||
#elif defined(_AIX)
|
||||
, "aix.js"
|
||||
#endif
|
||||
#elif defined(XP_OS2)
|
||||
"os2pref.js"
|
||||
#elif defined(XP_BEOS)
|
||||
"beos.js"
|
||||
#endif
|
||||
@ -122,7 +120,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
|
||||
|
||||
+ if(nsKDEUtils::kdeSession()) { // TODO what if some setup actually requires the helper?
|
||||
+ for(int i = 0;
|
||||
+ i < NS_ARRAY_LENGTH(specialFiles);
|
||||
+ i < MOZ_ARRAY_LENGTH(specialFiles);
|
||||
+ ++i ) {
|
||||
+ if( *specialFiles[ i ] == '\0' ) {
|
||||
+ specialFiles[ i ] = "kde.js";
|
||||
@ -184,25 +182,24 @@ 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
|
||||
@@ -23,9 +23,11 @@ ifndef MOZ_SUITE
|
||||
DISABLED_EXTRA_COMPONENTS = \
|
||||
nsDownloadManagerUI.js \
|
||||
nsDownloadManagerUI.manifest \
|
||||
$(NULL)
|
||||
endif
|
||||
@@ -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/.
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
|
||||
+
|
||||
CXXFLAGS += $(TK_CFLAGS)
|
||||
-
|
||||
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
|
||||
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 @@
|
||||
|
||||
@@ -43,16 +43,20 @@
|
||||
#ifdef XP_WIN
|
||||
#include <shlobj.h>
|
||||
#include "nsWindowsHelpers.h"
|
||||
#ifdef DOWNLOAD_SCANNER
|
||||
#include "nsDownloadScanner.h"
|
||||
#endif
|
||||
@ -218,9 +215,9 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
|
||||
|
||||
#ifdef MOZ_WIDGET_ANDROID
|
||||
#include "AndroidBridge.h"
|
||||
using namespace mozilla::widget::android;
|
||||
#endif
|
||||
|
||||
@@ -2609,16 +2613,25 @@ nsDownload::SetState(DownloadState aStat
|
||||
@@ -2722,16 +2726,25 @@ nsDownload::SetState(DownloadState aStat
|
||||
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
|
||||
|
||||
// Master pref to control this function.
|
||||
@ -246,22 +243,22 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
|
||||
int64_t goat = PR_Now() - mStartTime;
|
||||
showTaskbarAlert = goat > alertIntervalUSec;
|
||||
|
||||
@@ -2645,19 +2658,20 @@ nsDownload::SetState(DownloadState aStat
|
||||
// retention policy, there's no reason to make the text clickable
|
||||
@@ -2759,19 +2772,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(
|
||||
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());
|
||||
mDownloadManager, EmptyString(), NS_LITERAL_STRING("auto"),
|
||||
EmptyString(), nullptr);
|
||||
- }
|
||||
+ }
|
||||
}
|
||||
}
|
||||
+ }
|
||||
|
||||
#if defined(XP_WIN) || defined(XP_MACOSX) || defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GTK2)
|
||||
#if defined(XP_WIN) || defined(XP_MACOSX) || defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GTK)
|
||||
nsCOMPtr<nsIFileURL> fileURL = do_QueryInterface(mTarget);
|
||||
nsCOMPtr<nsIFile> file;
|
||||
nsAutoString path;
|
||||
@ -271,7 +268,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
|
||||
@@ -50,29 +50,33 @@ toolkit.jar:
|
||||
@@ -58,29 +58,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)
|
||||
@ -293,7 +290,7 @@ diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
|
||||
content/global/bindings/menulist.xml (widgets/menulist.xml)
|
||||
content/global/bindings/notification.xml (widgets/notification.xml)
|
||||
content/global/bindings/numberbox.xml (widgets/numberbox.xml)
|
||||
content/global/bindings/popup.xml (widgets/popup.xml)
|
||||
* content/global/bindings/popup.xml (widgets/popup.xml)
|
||||
*+ content/global/bindings/preferences.xml (widgets/preferences.xml)
|
||||
+*+ content/global/bindings/preferences-kde.xml (widgets/preferences-kde.xml)
|
||||
+% override chrome://global/content/bindings/preferences.xml chrome://global/content/bindings/preferences-kde.xml desktop=kde
|
||||
@ -309,7 +306,7 @@ diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/di
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/toolkit/content/widgets/dialog-kde.xml
|
||||
@@ -0,0 +1,451 @@
|
||||
@@ -0,0 +1,449 @@
|
||||
+<?xml version="1.0"?>
|
||||
+<!-- 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
|
||||
@ -342,7 +339,7 @@ new file mode 100644
|
||||
+ <xul:button dlgtype="cancel" class="dialog-button"/>
|
||||
+ <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
|
||||
+#elif XP_UNIX
|
||||
+ pack="end">
|
||||
+ >
|
||||
+ <xul:button dlgtype="help" class="dialog-button" hidden="true"/>
|
||||
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
||||
+ <xul:spacer anonid="spacer" flex="1" hidden="true"/>
|
||||
@ -729,8 +726,6 @@ new file mode 100644
|
||||
+ </implementation>
|
||||
+
|
||||
+ <handlers>
|
||||
+ <handler event="keypress" keycode="VK_ENTER"
|
||||
+ group="system" action="this._hitEnter(event);"/>
|
||||
+ <handler event="keypress" keycode="VK_RETURN"
|
||||
+ group="system" action="this._hitEnter(event);"/>
|
||||
+ <handler event="keypress" keycode="VK_ESCAPE" group="system">
|
||||
@ -765,7 +760,7 @@ diff --git a/toolkit/content/widgets/preferences-kde.xml b/toolkit/content/widge
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/toolkit/content/widgets/preferences-kde.xml
|
||||
@@ -0,0 +1,1339 @@
|
||||
@@ -0,0 +1,1333 @@
|
||||
+<?xml version="1.0"?>
|
||||
+
|
||||
+<!DOCTYPE bindings [
|
||||
@ -1340,9 +1335,8 @@ new file mode 100644
|
||||
+ <children includes="prefpane"/>
|
||||
+ </xul:deck>
|
||||
+ </xul:hbox>
|
||||
+ <xul:hbox anonid="dlg-buttons" class="prefWindow-dlgbuttons"
|
||||
+ <xul:hbox anonid="dlg-buttons" class="prefWindow-dlgbuttons" pack="end">
|
||||
+#ifdef XP_UNIX_GNOME
|
||||
+ >
|
||||
+ <xul:button dlgtype="disclosure" class="dialog-button" hidden="true"/>
|
||||
+ <xul:button dlgtype="help" class="dialog-button" hidden="true" icon="help"/>
|
||||
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
||||
@ -1351,16 +1345,14 @@ new file mode 100644
|
||||
+ <xul:button dlgtype="cancel" class="dialog-button" icon="cancel"/>
|
||||
+ <xul:button dlgtype="accept" class="dialog-button" icon="accept"/>
|
||||
+#elif XP_UNIX
|
||||
+ pack="end">
|
||||
+ <xul:button dlgtype="help" class="dialog-button" hidden="true" icon="help"/>
|
||||
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
||||
+ <xul:spacer anonid="spacer" flex="1"/>
|
||||
+ <xul:button dlgtype="accept" class="dialog-button" icon="accept"/>
|
||||
+ <xul:button dlgtype="extra1" class="dialog-button" hidden="true"/>
|
||||
+ <xul:button dlgtype="cancel" class="dialog-button" icon="cancel"/>
|
||||
+ <xul:button dlgtype="disclosure" class="dialog-button" hidden="true"/>
|
||||
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
||||
+ <xul:spacer anonid="spacer" flex="1"/>
|
||||
+ <xul:button dlgtype="accept" class="dialog-button" icon="accept"/>
|
||||
+ <xul:button dlgtype="extra1" class="dialog-button" hidden="true"/>
|
||||
+ <xul:button dlgtype="cancel" class="dialog-button" icon="cancel"/>
|
||||
+ <xul:button dlgtype="help" class="dialog-button" hidden="true" icon="help"/>
|
||||
+ <xul:button dlgtype="disclosure" class="dialog-button" hidden="true"/>
|
||||
+#else
|
||||
+ pack="end">
|
||||
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
||||
+ <xul:spacer anonid="spacer" flex="1"/>
|
||||
+ <xul:button dlgtype="accept" class="dialog-button" icon="accept"/>
|
||||
@ -1389,6 +1381,8 @@ new file mode 100644
|
||||
+#ifdef XP_MACOSX
|
||||
+ // no buttons on Mac except Help
|
||||
+ cancelButton.hidden = true;
|
||||
+ // Move Help button to the end
|
||||
+ document.getAnonymousElementByAttribute(this, "anonid", "spacer").hidden = true;
|
||||
+ // Also, don't fire onDialogAccept on enter
|
||||
+ acceptButton.disabled = true;
|
||||
+#else
|
||||
@ -1507,7 +1501,7 @@ new file mode 100644
|
||||
+
|
||||
+ this._selector.selectedItem = document.getAnonymousElementByAttribute(this, "pane", aPaneElement.id);
|
||||
+ if (!aPaneElement.loaded) {
|
||||
+ function OverlayLoadObserver(aPane)
|
||||
+ let OverlayLoadObserver = function(aPane)
|
||||
+ {
|
||||
+ this._pane = aPane;
|
||||
+ }
|
||||
@ -1808,9 +1802,10 @@ new file mode 100644
|
||||
+ <handlers>
|
||||
+ <handler event="dialogaccept">
|
||||
+ <![CDATA[
|
||||
+ if (!this._fireEvent("beforeaccept", this))
|
||||
+ return;
|
||||
+
|
||||
+ if (!this._fireEvent("beforeaccept", this)){
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ if (this.type == "child" && window.opener) {
|
||||
+ var psvc = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
+ .getService(Components.interfaces.nsIPrefBranch);
|
||||
@ -1873,6 +1868,8 @@ new file mode 100644
|
||||
+ .getService(Components.interfaces.nsIPrefService);
|
||||
+ psvc.savePrefFile(null);
|
||||
+ }
|
||||
+
|
||||
+ return true;
|
||||
+ ]]>
|
||||
+ </handler>
|
||||
+ <handler event="command">
|
||||
@ -2069,7 +2066,8 @@ new file mode 100644
|
||||
+ </handlers>
|
||||
+ </binding>
|
||||
+
|
||||
+ <binding id="panebutton" extends="chrome://global/content/bindings/radio.xml#radio">
|
||||
+ <binding id="panebutton" role="xul:listitem"
|
||||
+ extends="chrome://global/content/bindings/radio.xml#radio">
|
||||
+ <resources>
|
||||
+ <stylesheet src="chrome://global/skin/preferences.css"/>
|
||||
+ </resources>
|
||||
@ -2077,15 +2075,6 @@ new file mode 100644
|
||||
+ <xul:image class="paneButtonIcon" xbl:inherits="src"/>
|
||||
+ <xul:label class="paneButtonLabel" xbl:inherits="value=label"/>
|
||||
+ </content>
|
||||
+ <implementation implements="nsIAccessible">
|
||||
+ <property name="accessibleType" readonly="true">
|
||||
+ <getter>
|
||||
+ <![CDATA[
|
||||
+ return Components.interfaces.nsIAccessibleProvider.XULListitem;
|
||||
+ ]]>
|
||||
+ </getter>
|
||||
+ </property>
|
||||
+ </implementation>
|
||||
+ </binding>
|
||||
+
|
||||
+</bindings>
|
||||
@ -2125,9 +2114,9 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSISYSTEMPROXYSETTINGS
|
||||
|
||||
nsUnixSystemProxySettings() {}
|
||||
nsresult Init();
|
||||
@@ -35,16 +37,17 @@ private:
|
||||
nsUnixSystemProxySettings()
|
||||
: mSchemeProxySettings(5)
|
||||
@@ -38,16 +40,17 @@ private:
|
||||
nsCOMPtr<nsIGSettingsService> mGSettings;
|
||||
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
|
||||
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection> mSchemeProxySettings;
|
||||
@ -2139,13 +2128,13 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
+ nsresult GetProxyFromKDE(const nsACString& aScheme, const nsACString& aHost, PRInt32 aPort, nsACString& aResult);
|
||||
};
|
||||
|
||||
NS_IMPL_ISUPPORTS1(nsUnixSystemProxySettings, nsISystemProxySettings)
|
||||
NS_IMPL_ISUPPORTS(nsUnixSystemProxySettings, nsISystemProxySettings)
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsUnixSystemProxySettings::GetMainThreadOnly(bool *aMainThreadOnly)
|
||||
{
|
||||
// dbus prevents us from being threadsafe, but this routine should not block anyhow
|
||||
@@ -496,16 +499,19 @@ nsUnixSystemProxySettings::GetProxyFromG
|
||||
@@ -504,16 +507,19 @@ nsUnixSystemProxySettings::GetProxyFromG
|
||||
|
||||
nsresult
|
||||
nsUnixSystemProxySettings::GetProxyForURI(const nsACString & aSpec,
|
||||
@ -2165,7 +2154,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
if (mGConf)
|
||||
return GetProxyFromGConf(aScheme, aHost, aPort, aResult);
|
||||
|
||||
@@ -531,8 +537,34 @@ static const mozilla::Module::ContractID
|
||||
@@ -539,8 +545,34 @@ static const mozilla::Module::ContractID
|
||||
|
||||
static const mozilla::Module kUnixProxyModule = {
|
||||
mozilla::Module::kVersion,
|
||||
@ -2203,27 +2192,26 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
|
||||
--- a/toolkit/xre/moz.build
|
||||
+++ b/toolkit/xre/moz.build
|
||||
@@ -38,18 +38,20 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
|
||||
@@ -43,17 +43,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
|
||||
GENERATED_SOURCES += [
|
||||
'moc_nsNativeAppSupportQt.cpp',
|
||||
]
|
||||
SOURCES += [
|
||||
'nsNativeAppSupportQt.cpp',
|
||||
'nsQAppInstance.cpp',
|
||||
]
|
||||
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'os2':
|
||||
CPP_SOURCES += [
|
||||
'nsNativeAppSupportOS2.cpp',
|
||||
]
|
||||
elif CONFIG['MOZ_ENABLE_GTK']:
|
||||
+ EXPORTS += ['nsKDEUtils.h']
|
||||
CPP_SOURCES += [
|
||||
UNIFIED_SOURCES += [
|
||||
+ 'nsKDEUtils.cpp',
|
||||
'nsNativeAppSupportUnix.cpp',
|
||||
+ 'nsKDEUtils.cpp'
|
||||
]
|
||||
else:
|
||||
CPP_SOURCES += [
|
||||
UNIFIED_SOURCES += [
|
||||
'nsNativeAppSupportDefault.cpp',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_X11']:
|
||||
CPP_SOURCES += [
|
||||
diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
@ -2624,11 +2612,11 @@ 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
|
||||
@@ -86,9 +86,10 @@ EXTRA_COMPONENTS = \
|
||||
# we don't want the shared lib, but we want to force the creation of a static lib.
|
||||
FORCE_STATIC_LIB = 1
|
||||
include $(topsrcdir)/config/config.mk
|
||||
include $(topsrcdir)/ipc/chromium/chromium-config.mk
|
||||
@@ -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)))
|
||||
@ -2638,25 +2626,26 @@ diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in
|
||||
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
||||
--- a/uriloader/exthandler/moz.build
|
||||
+++ b/uriloader/exthandler/moz.build
|
||||
@@ -68,16 +68,18 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
|
||||
pass
|
||||
@@ -80,17 +80,19 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
|
||||
else:
|
||||
CPP_SOURCES += [
|
||||
'nsOSHelperAppService.cpp',
|
||||
# These files can't be built in unified mode because they force NSPR logging.
|
||||
SOURCES += [
|
||||
osdir + '/nsOSHelperAppService.cpp',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_ENABLE_GTK']:
|
||||
CPP_SOURCES += [
|
||||
+ 'nsCommonRegistry.cpp',
|
||||
+ 'nsKDERegistry.cpp',
|
||||
'nsGNOMERegistry.cpp',
|
||||
'nsMIMEInfoUnix.cpp',
|
||||
UNIFIED_SOURCES += [
|
||||
+ 'unix/nsCommonRegistry.cpp',
|
||||
'unix/nsGNOMERegistry.cpp',
|
||||
+ 'unix/nsKDERegistry.cpp',
|
||||
'unix/nsMIMEInfoUnix.cpp',
|
||||
]
|
||||
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
|
||||
CPP_SOURCES += [
|
||||
'nsMIMEInfoAndroid.cpp',
|
||||
'nsAndroidHandlerApp.cpp',
|
||||
'nsExternalSharingAppService.cpp',
|
||||
UNIFIED_SOURCES += [
|
||||
'android/nsAndroidHandlerApp.cpp',
|
||||
'android/nsExternalSharingAppService.cpp',
|
||||
'android/nsExternalURLHandlerService.cpp',
|
||||
'android/nsMIMEInfoAndroid.cpp',
|
||||
diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandler/unix/nsCommonRegistry.cpp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
@ -2874,7 +2863,7 @@ new file mode 100644
|
||||
diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
|
||||
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
|
||||
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
|
||||
@@ -16,30 +16,33 @@
|
||||
@@ -10,30 +10,33 @@
|
||||
#include <QString>
|
||||
#if (MOZ_ENABLE_CONTENTACTION)
|
||||
#include <contentaction/contentaction.h>
|
||||
@ -2903,39 +2892,42 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
|
||||
- nsresult rv = nsGNOMERegistry::LoadURL(aURI);
|
||||
+ nsresult rv = nsCommonRegistry::LoadURL(aURI);
|
||||
|
||||
#if (MOZ_PLATFORM_MAEMO == 5) && defined (MOZ_ENABLE_GNOMEVFS)
|
||||
if (NS_FAILED(rv)){
|
||||
HildonURIAction *action = hildon_uri_get_default_action(mSchemeOrType.get(), nullptr);
|
||||
if (action) {
|
||||
nsAutoCString spec;
|
||||
aURI->GetAsciiSpec(spec);
|
||||
if (hildon_uri_open(spec.get(), action, nullptr))
|
||||
@@ -67,22 +70,22 @@ nsMIMEInfoUnix::GetHasDefaultHandler(boo
|
||||
{
|
||||
// if mDefaultApplication is set, it means the application has been set from
|
||||
#ifdef MOZ_WIDGET_QT
|
||||
if (NS_FAILED(rv)) {
|
||||
nsAutoCString spec;
|
||||
aURI->GetAsciiSpec(spec);
|
||||
if (QDesktopServices::openUrl(QUrl(spec.get()))) {
|
||||
rv = NS_OK;
|
||||
}
|
||||
@@ -50,24 +53,24 @@ nsMIMEInfoUnix::GetHasDefaultHandler(boo
|
||||
// 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);
|
||||
if (!mimeInfo) {
|
||||
nsAutoCString ext;
|
||||
nsresult rv = GetPrimaryExtension(ext);
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
- mimeInfo = nsGNOMERegistry::GetFromExtension(ext);
|
||||
+ mimeInfo = nsCommonRegistry::GetFromExtension(ext);
|
||||
|
||||
if (mClass == eProtocolInfo) {
|
||||
- *_retval = nsGNOMERegistry::HandlerExists(mSchemeOrType.get());
|
||||
+ *_retval = nsCommonRegistry::HandlerExists(mSchemeOrType.get());
|
||||
} else {
|
||||
- nsRefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromType(mSchemeOrType);
|
||||
+ nsRefPtr<nsMIMEInfoBase> mimeInfo = nsCommonRegistry::GetFromType(mSchemeOrType);
|
||||
if (!mimeInfo) {
|
||||
nsAutoCString ext;
|
||||
nsresult rv = GetPrimaryExtension(ext);
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
- mimeInfo = nsGNOMERegistry::GetFromExtension(ext);
|
||||
+ mimeInfo = nsCommonRegistry::GetFromExtension(ext);
|
||||
}
|
||||
}
|
||||
if (mimeInfo)
|
||||
*_retval = true;
|
||||
}
|
||||
if (mimeInfo)
|
||||
*_retval = true;
|
||||
|
||||
if (*_retval)
|
||||
return NS_OK;
|
||||
|
||||
@@ -130,16 +133,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
|
||||
@@ -102,16 +105,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
|
||||
ContentAction::Action::defaultActionForFile(uri, QString(mSchemeOrType.get()));
|
||||
if (action.isValid()) {
|
||||
action.trigger();
|
||||
@ -2969,7 +2961,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;
|
||||
@@ -157,17 +177,17 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
|
||||
@@ -129,17 +149,17 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
|
||||
/* Fallback to GnomeVFS */
|
||||
nsCOMPtr<nsIGnomeVFSMimeApp> app;
|
||||
if (NS_SUCCEEDED(gnomevfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) && app)
|
||||
@ -3010,7 +3002,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
||||
#include "nsXPIDLString.h"
|
||||
#include "nsIURL.h"
|
||||
#include "nsIFileStreams.h"
|
||||
@@ -1157,29 +1157,29 @@ nsresult nsOSHelperAppService::OSProtoco
|
||||
@@ -1146,26 +1146,26 @@ nsresult nsOSHelperAppService::OSProtoco
|
||||
ContentAction::Action::defaultActionForScheme(QString(aProtocolScheme) + ':');
|
||||
|
||||
if (action.isValid())
|
||||
@ -3021,9 +3013,6 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
||||
// Check the GConf registry for a protocol handler
|
||||
- *aHandlerExists = nsGNOMERegistry::HandlerExists(aProtocolScheme);
|
||||
+ *aHandlerExists = nsCommonRegistry::HandlerExists(aProtocolScheme);
|
||||
#if (MOZ_PLATFORM_MAEMO == 5) && defined (MOZ_ENABLE_GNOMEVFS)
|
||||
*aHandlerExists = nsMIMEInfoUnix::HandlerExists(aProtocolScheme);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
return NS_OK;
|
||||
@ -3040,14 +3029,14 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
||||
#endif
|
||||
}
|
||||
|
||||
nsresult nsOSHelperAppService::GetFileTokenForPath(const PRUnichar * platformAppPath, nsIFile ** aFile)
|
||||
nsresult nsOSHelperAppService::GetFileTokenForPath(const char16_t * platformAppPath, nsIFile ** aFile)
|
||||
{
|
||||
@@ -1266,17 +1266,17 @@ nsOSHelperAppService::GetFromExtension(c
|
||||
@@ -1252,17 +1252,17 @@ nsOSHelperAppService::GetFromExtension(c
|
||||
mime_types_description,
|
||||
true);
|
||||
|
||||
if (NS_FAILED(rv) || majorType.IsEmpty()) {
|
||||
|
||||
|
||||
#ifdef MOZ_WIDGET_GTK
|
||||
LOG(("Looking in GNOME registry\n"));
|
||||
nsRefPtr<nsMIMEInfoBase> gnomeInfo =
|
||||
@ -3061,14 +3050,14 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
||||
|
||||
rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt),
|
||||
majorType,
|
||||
@@ -1389,17 +1389,17 @@ nsOSHelperAppService::GetFromType(const
|
||||
@@ -1372,17 +1372,17 @@ nsOSHelperAppService::GetFromType(const
|
||||
#ifdef MOZ_WIDGET_GTK
|
||||
nsRefPtr<nsMIMEInfoBase> gnomeInfo;
|
||||
if (handler.IsEmpty()) {
|
||||
// No useful data yet. Check the GNOME registry. Unfortunately, newer
|
||||
// GNOME versions no longer have type-to-extension mappings, so we might
|
||||
// get back a MIMEInfo without any extensions set. In that case we'll have
|
||||
// to look in our mime.types files for the extensions.
|
||||
// to look in our mime.types files for the extensions.
|
||||
LOG(("Looking in GNOME registry\n"));
|
||||
- gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType);
|
||||
+ gnomeInfo = nsCommonRegistry::GetFromType(aMIMEType);
|
||||
@ -3080,38 +3069,38 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
||||
#endif
|
||||
|
||||
// Now look up our extensions
|
||||
diff --git a/widget/gtk2/Makefile.in b/widget/gtk2/Makefile.in
|
||||
--- a/widget/gtk2/Makefile.in
|
||||
+++ b/widget/gtk2/Makefile.in
|
||||
@@ -67,11 +67,14 @@ DEFINES += -DCAIRO_GFX -DMOZ_APP_NAME='
|
||||
diff --git a/widget/gtk/Makefile.in b/widget/gtk/Makefile.in
|
||||
--- a/widget/gtk/Makefile.in
|
||||
+++ b/widget/gtk/Makefile.in
|
||||
@@ -3,11 +3,13 @@
|
||||
# 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
|
||||
|
||||
CFLAGS += $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
|
||||
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
|
||||
|
||||
INCLUDES += \
|
||||
-I$(srcdir)/../xpwidgets \
|
||||
-I$(srcdir)/../shared \
|
||||
-I$(topsrcdir)/layout/generic \
|
||||
-I$(topsrcdir)/layout/xul/base/src \
|
||||
-I$(topsrcdir)/other-licenses/atk-1.0 \
|
||||
$(NULL)
|
||||
+
|
||||
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
|
||||
+
|
||||
ifdef MOZ_X11
|
||||
INCLUDES += -I$(srcdir)/../shared/x11
|
||||
endif
|
||||
diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
|
||||
--- a/widget/gtk2/nsFilePicker.cpp
|
||||
+++ b/widget/gtk2/nsFilePicker.cpp
|
||||
@@ -1,31 +1,33 @@
|
||||
CFLAGS += $(TK_CFLAGS)
|
||||
CXXFLAGS += $(TK_CFLAGS)
|
||||
|
||||
diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
||||
--- a/widget/gtk/nsFilePicker.cpp
|
||||
+++ b/widget/gtk/nsFilePicker.cpp
|
||||
@@ -1,32 +1,34 @@
|
||||
/* -*- 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
|
||||
* 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 "mozilla/Util.h"
|
||||
#include "mozilla/Types.h"
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
+#include <gdk/gdkx.h>
|
||||
|
||||
#include "nsGtkUtils.h"
|
||||
#include "nsIFileURL.h"
|
||||
#include "nsIURI.h"
|
||||
#include "nsIWidget.h"
|
||||
@ -3128,14 +3117,14 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
|
||||
#include "nsFilePicker.h"
|
||||
+#include "nsKDEUtils.h"
|
||||
|
||||
#if (MOZ_PLATFORM_MAEMO == 5)
|
||||
#include <hildon-fm-2/hildon/hildon-file-chooser-dialog.h>
|
||||
#endif
|
||||
|
||||
using namespace mozilla;
|
||||
|
||||
#define MAX_PREVIEW_SIZE 180
|
||||
@@ -242,17 +244,19 @@ nsFilePicker::AppendFilters(int32_t aFil
|
||||
|
||||
nsIFile *nsFilePicker::mPrevDisplayDirectory = nullptr;
|
||||
|
||||
void
|
||||
@@ -226,17 +228,19 @@ nsFilePicker::AppendFilters(int32_t aFil
|
||||
return nsBaseFilePicker::AppendFilters(aFilterMask);
|
||||
}
|
||||
|
||||
@ -3156,7 +3145,7 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
|
||||
|
||||
mFilters.AppendElement(filter);
|
||||
mFilterNames.AppendElement(name);
|
||||
@@ -366,16 +370,32 @@ nsFilePicker::Show(int16_t *aReturn)
|
||||
@@ -351,16 +355,32 @@ nsFilePicker::Show(int16_t *aReturn)
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsFilePicker::Open(nsIFilePickerShownCallback *aCallback)
|
||||
@ -3189,7 +3178,7 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
|
||||
|
||||
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
|
||||
const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE)
|
||||
@@ -567,8 +587,235 @@ nsFilePicker::Done(GtkWidget* file_choos
|
||||
@@ -539,8 +559,235 @@ nsFilePicker::Done(GtkWidget* file_choos
|
||||
if (mCallback) {
|
||||
mCallback->Done(result);
|
||||
mCallback = nullptr;
|
||||
@ -3425,10 +3414,10 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
|
||||
+ return NS_OK;
|
||||
+ }
|
||||
+
|
||||
diff --git a/widget/gtk2/nsFilePicker.h b/widget/gtk2/nsFilePicker.h
|
||||
--- a/widget/gtk2/nsFilePicker.h
|
||||
+++ b/widget/gtk2/nsFilePicker.h
|
||||
@@ -67,11 +67,17 @@ protected:
|
||||
diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
|
||||
--- a/widget/gtk/nsFilePicker.h
|
||||
+++ b/widget/gtk/nsFilePicker.h
|
||||
@@ -66,11 +66,17 @@ protected:
|
||||
nsString mDefault;
|
||||
nsString mDefaultExtension;
|
||||
|
||||
@ -3449,13 +3438,13 @@ 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
|
||||
@@ -28,9 +28,10 @@ LOCAL_INCLUDES = \
|
||||
FORCE_STATIC_LIB = 1
|
||||
@@ -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
|
||||
|
||||
DEFINES += -D_IMPL_NS_COM
|
||||
|
||||
ifdef MOZ_WIDGET_GTK
|
||||
CXXFLAGS += $(TK_CFLAGS)
|
||||
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
|
||||
@ -3463,7 +3452,7 @@ diff --git a/xpcom/components/Makefile.in b/xpcom/components/Makefile.in
|
||||
diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
|
||||
--- a/xpcom/components/ManifestParser.cpp
|
||||
+++ b/xpcom/components/ManifestParser.cpp
|
||||
@@ -30,16 +30,17 @@
|
||||
@@ -31,16 +31,17 @@
|
||||
#include "nsTextFormatter.h"
|
||||
#include "nsVersionComparator.h"
|
||||
#include "nsXPCOMCIDInternal.h"
|
||||
@ -3481,7 +3470,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
const char* directive;
|
||||
int argc;
|
||||
|
||||
@@ -397,16 +398,17 @@ ParseManifest(NSLocationType type, FileL
|
||||
@@ -398,16 +399,17 @@ ParseManifest(NSLocationType type, FileL
|
||||
NS_NAMED_LITERAL_STRING(kPlatform, "platform");
|
||||
NS_NAMED_LITERAL_STRING(kContentAccessible, "contentaccessible");
|
||||
NS_NAMED_LITERAL_STRING(kApplication, "application");
|
||||
@ -3499,9 +3488,9 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
NS_NAMED_LITERAL_STRING(kXPCNativeWrappers, "xpcnativewrappers");
|
||||
|
||||
nsAutoString appID;
|
||||
@@ -444,41 +446,46 @@ ParseManifest(NSLocationType type, FileL
|
||||
@@ -445,42 +447,47 @@ ParseManifest(NSLocationType type, FileL
|
||||
CopyUTF8toUTF16(s, abi);
|
||||
abi.Insert(PRUnichar('_'), 0);
|
||||
abi.Insert(char16_t('_'), 0);
|
||||
abi.Insert(osTarget, 0);
|
||||
}
|
||||
}
|
||||
@ -3510,24 +3499,25 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
nsAutoString osVersion;
|
||||
+ nsAutoString desktop;
|
||||
#if defined(XP_WIN)
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4996) // VC12+ deprecates GetVersionEx
|
||||
OSVERSIONINFO info = { sizeof(OSVERSIONINFO) };
|
||||
if (GetVersionEx(&info)) {
|
||||
nsTextFormatter::ssprintf(osVersion, NS_LITERAL_STRING("%ld.%ld").get(),
|
||||
nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"),
|
||||
info.dwMajorVersion,
|
||||
info.dwMinorVersion);
|
||||
}
|
||||
+ desktop = NS_LITERAL_STRING("win");
|
||||
#pragma warning(pop)
|
||||
#elif defined(MOZ_WIDGET_COCOA)
|
||||
SInt32 majorVersion, minorVersion;
|
||||
if ((Gestalt(gestaltSystemVersionMajor, &majorVersion) == noErr) &&
|
||||
(Gestalt(gestaltSystemVersionMinor, &minorVersion) == noErr)) {
|
||||
nsTextFormatter::ssprintf(osVersion, NS_LITERAL_STRING("%ld.%ld").get(),
|
||||
majorVersion,
|
||||
minorVersion);
|
||||
}
|
||||
SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor();
|
||||
SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor();
|
||||
nsTextFormatter::ssprintf(osVersion, NS_LITERAL_STRING("%ld.%ld").get(),
|
||||
majorVersion,
|
||||
minorVersion);
|
||||
+ desktop = NS_LITERAL_STRING("macosx");
|
||||
#elif defined(MOZ_WIDGET_GTK)
|
||||
nsTextFormatter::ssprintf(osVersion, NS_LITERAL_STRING("%ld.%ld").get(),
|
||||
nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"),
|
||||
gtk_major_version,
|
||||
gtk_minor_version);
|
||||
+ desktop = nsKDEUtils::kdeSession() ? NS_LITERAL_STRING("kde") : NS_LITERAL_STRING("gnome");
|
||||
@ -3535,7 +3525,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
bool isTablet = false;
|
||||
if (mozilla::AndroidBridge::Bridge()) {
|
||||
mozilla::AndroidBridge::Bridge()->GetStaticStringField("android/os/Build$VERSION", "RELEASE", osVersion);
|
||||
isTablet = mozilla::AndroidBridge::Bridge()->IsTablet();
|
||||
isTablet = mozilla::widget::android::GeckoAppShell::IsTablet();
|
||||
}
|
||||
+ desktop = NS_LITERAL_STRING("android");
|
||||
#endif
|
||||
@ -3546,7 +3536,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
|
||||
char *token;
|
||||
char *newline = buf;
|
||||
@@ -560,24 +567,26 @@ ParseManifest(NSLocationType type, FileL
|
||||
@@ -562,24 +569,26 @@ ParseManifest(NSLocationType type, FileL
|
||||
TriState stOsVersion = eUnspecified;
|
||||
TriState stOs = eUnspecified;
|
||||
TriState stABI = eUnspecified;
|
||||
@ -3557,7 +3547,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
bool contentAccessible = false;
|
||||
+ TriState stDesktop = eUnspecified;
|
||||
|
||||
while (NULL != (token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) && ok) {
|
||||
while (nullptr != (token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) && ok) {
|
||||
ToLowerCase(token);
|
||||
NS_ConvertASCIItoUTF16 wtoken(token);
|
||||
|
||||
@ -3573,7 +3563,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
#if defined(MOZ_WIDGET_ANDROID)
|
||||
bool tablet = false;
|
||||
if (CheckFlag(kTablet, wtoken, tablet)) {
|
||||
@@ -606,16 +615,17 @@ ParseManifest(NSLocationType type, FileL
|
||||
@@ -608,16 +617,17 @@ ParseManifest(NSLocationType type, FileL
|
||||
}
|
||||
|
||||
if (!ok ||
|
||||
@ -3591,36 +3581,14 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
|
||||
if (directive->regfunc) {
|
||||
if (GeckoProcessType_Default != XRE_GetProcessType())
|
||||
diff --git a/xpcom/io/Makefile.in b/xpcom/io/Makefile.in
|
||||
--- a/xpcom/io/Makefile.in
|
||||
+++ b/xpcom/io/Makefile.in
|
||||
@@ -43,17 +43,17 @@ include $(topsrcdir)/ipc/chromium/chromi
|
||||
DEFINES += -D_IMPL_NS_COM
|
||||
|
||||
ifeq ($(OS_ARCH),Linux)
|
||||
ifneq (,$(findstring lib64,$(libdir)))
|
||||
DEFINES += -DHAVE_USR_LIB64_DIR
|
||||
endif
|
||||
endif
|
||||
|
||||
-LOCAL_INCLUDES += -I..
|
||||
+LOCAL_INCLUDES += -I.. -I$(topsrcdir)/toolkit/xre
|
||||
|
||||
ifeq ($(MOZ_PLATFORM_MAEMO),5)
|
||||
CFLAGS += $(MOZ_DBUS_CFLAGS)
|
||||
CXXFLAGS += $(MOZ_DBUS_CFLAGS)
|
||||
endif
|
||||
|
||||
ifdef MOZ_PLATFORM_MAEMO
|
||||
CFLAGS += $(MOZ_PLATFORM_MAEMO_CFLAGS) $(MOZ_QT_CFLAGS)
|
||||
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
--- a/xpcom/io/nsLocalFileUnix.cpp
|
||||
+++ b/xpcom/io/nsLocalFileUnix.cpp
|
||||
@@ -50,16 +50,17 @@
|
||||
#include "prproces.h"
|
||||
@@ -43,16 +43,17 @@
|
||||
#include "nsIDirectoryEnumerator.h"
|
||||
#include "nsISimpleEnumerator.h"
|
||||
#include "private/pprio.h"
|
||||
#include "prlink.h"
|
||||
|
||||
#ifdef MOZ_WIDGET_GTK
|
||||
#include "nsIGIOService.h"
|
||||
@ -3634,7 +3602,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
#include "prmem.h"
|
||||
#include "plbase64.h"
|
||||
|
||||
@@ -1753,44 +1754,51 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||
@@ -1816,46 +1817,52 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||
return InitWithNativePath(aPersistentDescriptor);
|
||||
#endif
|
||||
}
|
||||
@ -3653,6 +3621,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
if (NS_FAILED(IsDirectory(&isDirectory)))
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||
if (isDirectory) {
|
||||
- if (giovfs)
|
||||
- return giovfs->ShowURIForInput(mPath);
|
||||
@ -3660,6 +3629,8 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
- /* Fallback to GnomeVFS */
|
||||
- return gnomevfs->ShowURIForInput(mPath);
|
||||
+ url = mPath;
|
||||
} else if (giovfs && NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
|
||||
return NS_OK;
|
||||
} else {
|
||||
nsCOMPtr<nsIFile> parentDir;
|
||||
nsAutoCString dirPath;
|
||||
@ -3682,7 +3653,6 @@ 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);
|
||||
+ if (!giovfs && !gnomevfs)
|
||||
+ return NS_ERROR_FAILURE;
|
||||
@ -3691,7 +3661,6 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
+ return giovfs->ShowURIForInput(url);
|
||||
+ else
|
||||
+ return gnomevfs->ShowURIForInput(url);
|
||||
+
|
||||
#elif defined(MOZ_WIDGET_COCOA)
|
||||
CFURLRef url;
|
||||
if (NS_SUCCEEDED(GetCFURL(&url))) {
|
||||
@ -3700,15 +3669,15 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
return rv;
|
||||
}
|
||||
return NS_ERROR_FAILURE;
|
||||
@@ -1816,16 +1824,23 @@ nsLocalFile::Launch()
|
||||
@@ -1863,16 +1870,23 @@ nsLocalFile::Reveal()
|
||||
return NS_ERROR_FAILURE;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (nullptr == connection)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
if (hildon_mime_open_file(connection, mPath.get()) != kHILDON_SUCCESS)
|
||||
return NS_ERROR_FAILURE;
|
||||
return NS_OK;
|
||||
#else
|
||||
NS_IMETHODIMP
|
||||
nsLocalFile::Launch()
|
||||
{
|
||||
#ifdef MOZ_WIDGET_GTK
|
||||
+ if( nsKDEUtils::kdeSupport()) {
|
||||
+ nsTArray<nsCString> command;
|
||||
+ command.AppendElement( NS_LITERAL_CSTRING("OPEN") );
|
||||
|
@ -1,12 +1,12 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent df748bfc0eaca6dedf086cfd7167392416bfae27
|
||||
# Parent 13eb644c1216aed92b29dbc63fc26ce66f98c66c
|
||||
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
|
||||
|
||||
diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleService.cpp
|
||||
--- a/intl/locale/src/nsLocaleService.cpp
|
||||
+++ b/intl/locale/src/nsLocaleService.cpp
|
||||
@@ -127,16 +127,17 @@ nsLocaleService::nsLocaleService(void)
|
||||
@@ -122,16 +122,17 @@ nsLocaleService::nsLocaleService(void)
|
||||
nsRefPtr<nsLocale> resultLocale(new nsLocale());
|
||||
NS_ENSURE_TRUE_VOID(resultLocale);
|
||||
|
||||
@ -24,7 +24,7 @@ diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleServi
|
||||
|
||||
for( i = 0; i < LocaleListLength; i++ ) {
|
||||
nsresult result;
|
||||
@@ -155,16 +156,21 @@ nsLocaleService::nsLocaleService(void)
|
||||
@@ -150,16 +151,21 @@ nsLocaleService::nsLocaleService(void)
|
||||
} else {
|
||||
CopyASCIItoUTF16(lang, platformLocale);
|
||||
result = nsPosixLocale::GetXPLocale(lang, xpLocale);
|
||||
@ -45,4 +45,4 @@ diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleServi
|
||||
mApplicationLocale = do_QueryInterface(resultLocale);
|
||||
|
||||
#endif // XP_UNIX
|
||||
#ifdef XP_OS2
|
||||
|
||||
|
@ -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,24 +50,28 @@ nsUnixSystemProxySettings::GetMainThread
|
||||
@@ -53,23 +53,27 @@ nsUnixSystemProxySettings::GetMainThread
|
||||
// dbus prevents us from being threadsafe, but this routine should not block anyhow
|
||||
*aMainThreadOnly = true;
|
||||
return NS_OK;
|
||||
@ -18,7 +18,6 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
nsresult
|
||||
nsUnixSystemProxySettings::Init()
|
||||
{
|
||||
- mSchemeProxySettings.Init(5);
|
||||
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
||||
- if (mGSettings) {
|
||||
- mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
|
||||
@ -29,7 +28,6 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
+ // only use GSettings if that is a GNOME session
|
||||
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
|
||||
+ if (sessionType && !strcmp(sessionType, "gnome")) {
|
||||
+ mSchemeProxySettings.Init(5);
|
||||
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
||||
+ if (mGSettings) {
|
||||
+ mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
|
||||
|
@ -2,7 +2,6 @@
|
||||
# Parent 21d0e194954e451f0f1935d0ed68ee9eae432ddf
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
Bug 746112 - RegExp hang on ppc64 in execute.
|
||||
Bug 750620 - Make double-conversion portable to exotic architectures. TM: mozilla15
|
||||
|
||||
diff --git a/js/src/yarr/YarrInterpreter.h b/js/src/yarr/YarrInterpreter.h
|
||||
--- a/js/src/yarr/YarrInterpreter.h
|
||||
@ -89,25 +88,3 @@ diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c
|
||||
/*
|
||||
* VM page size. It must divide the runtime CPU page size or the code
|
||||
* will abort.
|
||||
diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
|
||||
--- a/mfbt/double-conversion/utils.h
|
||||
+++ b/mfbt/double-conversion/utils.h
|
||||
@@ -50,17 +50,17 @@
|
||||
// the result is equal to 89255e-22.
|
||||
// The best way to test this, is to create a division-function and to compare
|
||||
// the output of the division with the expected result. (Inlining must be
|
||||
// disabled.)
|
||||
// On Linux,x86 89255e-22 != Div_double(89255.0/1e22)
|
||||
#if defined(_M_X64) || defined(__x86_64__) || \
|
||||
defined(__ARMEL__) || defined(__avr32__) || \
|
||||
defined(__hppa__) || defined(__ia64__) || \
|
||||
- defined(__mips__) || defined(__powerpc__) || \
|
||||
+ defined(__mips__) || defined(__powerpc__) || defined(__powerpc64__) || \
|
||||
defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
|
||||
defined(__SH4__) || defined(__alpha__) || \
|
||||
defined(_MIPS_ARCH_MIPS32R2)
|
||||
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
||||
#elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
|
||||
#if defined(_WIN32)
|
||||
// Windows uses a 64bit wide floating point stack.
|
||||
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
||||
|
@ -7,13 +7,13 @@ References:
|
||||
diff --git a/configure.in b/configure.in
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -8330,16 +8330,31 @@ AC_SUBST(QCMS_LIBS)
|
||||
|
||||
dnl ========================================================
|
||||
dnl HarfBuzz
|
||||
dnl ========================================================
|
||||
MOZ_HARFBUZZ_LIBS='$(DEPTH)/gfx/harfbuzz/src/$(LIB_PREFIX)mozharfbuzz.$(LIB_SUFFIX)'
|
||||
AC_SUBST(MOZ_HARFBUZZ_LIBS)
|
||||
@@ -8231,16 +8231,31 @@ if test "$MOZ_ENABLE_SKIA"; then
|
||||
MOZ_ENABLE_SKIA_GPU=1
|
||||
AC_DEFINE(USE_SKIA_GPU)
|
||||
AC_SUBST(MOZ_ENABLE_SKIA_GPU)
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(MOZ_ENABLE_SKIA)
|
||||
|
||||
dnl ========================================================
|
||||
+dnl Check for nss-shared-helper
|
||||
@ -31,31 +31,27 @@ diff --git a/configure.in b/configure.in
|
||||
+AC_SUBST(NSSHELPER_LIBS)
|
||||
+
|
||||
+dnl ========================================================
|
||||
dnl SIL Graphite
|
||||
dnl ========================================================
|
||||
MOZ_GRAPHITE_LIBS='$(DEPTH)/gfx/graphite2/src/$(LIB_PREFIX)mozgraphite2.$(LIB_SUFFIX)'
|
||||
AC_SUBST(MOZ_GRAPHITE_LIBS)
|
||||
|
||||
dnl ========================================================
|
||||
dnl OTS
|
||||
dnl disable xul
|
||||
dnl ========================================================
|
||||
MOZ_ARG_DISABLE_BOOL(xul,
|
||||
[ --disable-xul Disable XUL],
|
||||
MOZ_XUL= )
|
||||
if test "$MOZ_XUL"; then
|
||||
AC_DEFINE(MOZ_XUL)
|
||||
else
|
||||
diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in
|
||||
--- a/security/manager/ssl/src/Makefile.in
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/security/manager/ssl/src/Makefile.in
|
||||
@@ -18,10 +18,13 @@ LIBXUL_LIBRARY = 1
|
||||
CSRCS += md4.c
|
||||
|
||||
DEFINES += \
|
||||
-DNSS_ENABLE_ECC \
|
||||
-DDLL_PREFIX=\"$(DLL_PREFIX)\" \
|
||||
-DDLL_SUFFIX=\"$(DLL_SUFFIX)\" \
|
||||
$(NULL)
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
+#! gmake
|
||||
+#
|
||||
+# 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/.
|
||||
+
|
||||
+LOCAL_INCLUDES += $(NSSHELPER_CFLAGS)
|
||||
+EXTRA_DSO_LDOPTS += $(NSSHELPER_LIBS)
|
||||
+
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
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
|
||||
@ -77,68 +73,64 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
|
||||
+
|
||||
#include "nsNSSComponent.h"
|
||||
|
||||
#include "CertVerifier.h"
|
||||
#include "ExtendedValidation.h"
|
||||
#include "NSSCertDBTrustDomain.h"
|
||||
#include "mozilla/Telemetry.h"
|
||||
#include "nsCertVerificationThread.h"
|
||||
#include "nsAppDirectoryServiceDefs.h"
|
||||
#include "nsComponentManagerUtils.h"
|
||||
#include "nsDirectoryServiceDefs.h"
|
||||
#include "nsICertOverrideService.h"
|
||||
@@ -1132,18 +1139,34 @@ nsNSSComponent::InitializeNSS(bool showW
|
||||
ConfigureInternalPKCS11Token();
|
||||
@@ -1141,17 +1148,31 @@ nsNSSComponent::InitializeNSS()
|
||||
if (NS_FAILED(rv)) {
|
||||
nsPSMInitPanic::SetPanic();
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
|
||||
// The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs
|
||||
// module by NSS_Initialize because we will load it in InstallLoadableRoots
|
||||
// later. It also allows us to work around a bug in the system NSS in
|
||||
// Ubuntu 8.04, which loads any nonexistent "<configdir>/libnssckbi.so" as
|
||||
// "/usr/lib/nss/libnssckbi.so".
|
||||
uint32_t init_flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
|
||||
- SECStatus init_rv = ::NSS_Initialize(profileStr.get(), "", "",
|
||||
- SECMOD_DB, init_flags);
|
||||
+ SECStatus init_rv = SECFailure;
|
||||
SECStatus init_rv = SECFailure;
|
||||
if (!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_TB_NO_NSSHELPER")) {
|
||||
+ init_rv = ::NSS_Initialize(profileStr.get(), "", "",
|
||||
+ SECMOD_DB, init_flags);
|
||||
+ init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false);
|
||||
+ } else {
|
||||
+ init_rv = ::nsshelp_open_db ("Thunderbird", profileStr.get(), init_flags);
|
||||
+ uint32_t flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
|
||||
+ init_rv = ::nsshelp_open_db ("Thunderbird", profileStr.get(), flags);
|
||||
+
|
||||
+ if (init_rv != SECSuccess) {
|
||||
+ PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS using nsshelp_open_db in %s\n", profileStr.get()));
|
||||
+ init_rv = ::NSS_Initialize(profileStr.get(), "", "",
|
||||
+ SECMOD_DB, init_flags);
|
||||
+ init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false);
|
||||
+ }
|
||||
+ }
|
||||
+#else
|
||||
+ init_rv = ::NSS_Initialize(profileStr.get(), "", "",
|
||||
+ SECMOD_DB, init_flags);
|
||||
+ 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, ("can not init NSS r/w in %s\n", profileStr.get()));
|
||||
PR_LOG(gPIPNSSLog, PR_LOG_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"));
|
||||
}
|
||||
diff --git a/toolkit/library/libxul.mk b/toolkit/library/libxul.mk
|
||||
--- a/toolkit/library/libxul.mk
|
||||
+++ b/toolkit/library/libxul.mk
|
||||
@@ -146,17 +146,17 @@ OS_LIBS += $(call EXPAND_LIBNAME,mfuuid
|
||||
endif
|
||||
|
||||
if (supress_warning_preference) {
|
||||
which_nss_problem = problem_none;
|
||||
}
|
||||
else {
|
||||
diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
|
||||
--- a/toolkit/library/Makefile.in
|
||||
+++ b/toolkit/library/Makefile.in
|
||||
@@ -490,17 +490,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
|
||||
endif
|
||||
endif
|
||||
ifdef MOZ_DIRECTSHOW
|
||||
OS_LIBS += $(call EXPAND_LIBNAME,dmoguids wmcodecdspuuid strmiids msdmo)
|
||||
endif
|
||||
|
||||
EXTRA_DSO_LDOPTS += $(LIBS_DIR)
|
||||
|
||||
DEFINES += -DIMPL_XREAPI
|
||||
|
||||
-EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB)
|
||||
+EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB) $(NSSHELPER_LIBS)
|
||||
|
||||
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
|
||||
CXXFLAGS += $(TK_CFLAGS)
|
||||
OS_LIBS += \
|
||||
-framework SystemConfiguration \
|
||||
-framework QTKit \
|
||||
-framework IOKit \
|
||||
-F/System/Library/PrivateFrameworks -framework CoreUI \
|
||||
$(TK_LIBS) \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
ifeq (OpenBSD,$(OS_ARCH))
|
||||
|
@ -1,159 +0,0 @@
|
||||
Index: mozilla/configure.in
|
||||
===================================================================
|
||||
--- mozilla.orig/configure.in
|
||||
+++ mozilla/configure.in
|
||||
@@ -1084,7 +1084,7 @@ case "$OS_TEST" in
|
||||
CPU_ARCH=x86
|
||||
;;
|
||||
|
||||
-powerpc64 | ppc64)
|
||||
+powerpc64 | ppc64 | powerpc64le | ppc64le)
|
||||
CPU_ARCH=ppc64
|
||||
;;
|
||||
|
||||
Index: mozilla/js/src/configure.in
|
||||
===================================================================
|
||||
--- mozilla.orig/js/src/configure.in
|
||||
+++ mozilla/js/src/configure.in
|
||||
@@ -915,7 +915,7 @@ case "$OS_TEST" in
|
||||
CPU_ARCH=x86
|
||||
;;
|
||||
|
||||
-powerpc64 | ppc64)
|
||||
+powerpc64 | ppc64 | powerpc64le | ppc64le)
|
||||
CPU_ARCH=ppc64
|
||||
;;
|
||||
|
||||
Index: mozilla/mfbt/Endian.h
|
||||
===================================================================
|
||||
--- mozilla.orig/mfbt/Endian.h
|
||||
+++ mozilla/mfbt/Endian.h
|
||||
@@ -91,7 +91,7 @@
|
||||
# else
|
||||
# error "CPU type is unknown"
|
||||
# endif
|
||||
-#elif defined(__APPLE__)
|
||||
+#elif defined(__APPLE__) || defined(__powerpc__) || defined(__ppc__)
|
||||
# if __LITTLE_ENDIAN__
|
||||
# define MOZ_LITTLE_ENDIAN 1
|
||||
# elif __BIG_ENDIAN__
|
||||
@@ -119,8 +119,7 @@
|
||||
* cases.
|
||||
*/
|
||||
#elif defined(__sparc) || defined(__sparc__) || \
|
||||
- defined(_POWER) || defined(__powerpc__) || \
|
||||
- defined(__ppc__) || defined(__hppa) || \
|
||||
+ defined(_POWER) || defined(__hppa) || \
|
||||
defined(_MIPSEB) || defined(__ARMEB__) || \
|
||||
defined(__s390__) || \
|
||||
(defined(__sh__) && defined(__LITTLE_ENDIAN__)) || \
|
||||
Index: mozilla/js/src/jscpucfg.h
|
||||
===================================================================
|
||||
--- mozilla.orig/js/src/jscpucfg.h
|
||||
+++ mozilla/js/src/jscpucfg.h
|
||||
@@ -31,7 +31,7 @@
|
||||
# define JS_BYTES_PER_WORD 4
|
||||
# define JS_BITS_PER_WORD_LOG2 5
|
||||
|
||||
-#elif defined(__APPLE__)
|
||||
+#elif defined(__APPLE__) || defined(__powerpc__) || defined(__ppc__)
|
||||
# if __LITTLE_ENDIAN__
|
||||
# define IS_LITTLE_ENDIAN 1
|
||||
# undef IS_BIG_ENDIAN
|
||||
@@ -93,8 +93,7 @@
|
||||
# endif
|
||||
|
||||
#elif defined(__sparc) || defined(__sparc__) || \
|
||||
- defined(_POWER) || defined(__powerpc__) || \
|
||||
- defined(__ppc__) || defined(__hppa) || \
|
||||
+ defined(_POWER) || defined(__hppa) || \
|
||||
defined(_MIPSEB) || defined(_BIG_ENDIAN)
|
||||
/* IA64 running HP-UX will have _BIG_ENDIAN defined.
|
||||
* IA64 running Linux will have endian.h and be handled above.
|
||||
Index: mozilla/js/src/assembler/wtf/Platform.h
|
||||
===================================================================
|
||||
--- mozilla.orig/js/src/assembler/wtf/Platform.h
|
||||
+++ mozilla/js/src/assembler/wtf/Platform.h
|
||||
@@ -165,16 +165,22 @@
|
||||
|| defined(__POWERPC__) \
|
||||
|| defined(_M_PPC) \
|
||||
|| defined(__PPC)
|
||||
+#if !defined(__ppc64__) && !defined(__PPC64__)
|
||||
#define WTF_CPU_PPC 1
|
||||
+#endif
|
||||
+#if !defined(__LITTLE_ENDIAN__)
|
||||
#define WTF_CPU_BIG_ENDIAN 1
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
/* WTF_CPU_PPC64 - PowerPC 64-bit */
|
||||
#if defined(__ppc64__) \
|
||||
|| defined(__PPC64__)
|
||||
#define WTF_CPU_PPC64 1
|
||||
+#if !defined(__LITTLE_ENDIAN__)
|
||||
#define WTF_CPU_BIG_ENDIAN 1
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
/* WTF_CPU_SH4 - SuperH SH-4 */
|
||||
#if defined(__SH4__)
|
||||
Index: mozilla/nsprpub/pr/include/md/_linux.cfg
|
||||
===================================================================
|
||||
--- mozilla.orig/nsprpub/pr/include/md/_linux.cfg
|
||||
+++ mozilla/nsprpub/pr/include/md/_linux.cfg
|
||||
@@ -29,8 +29,13 @@
|
||||
|
||||
#ifdef __powerpc64__
|
||||
|
||||
+#ifdef __LITTLE_ENDIAN__
|
||||
+#define IS_LITTLE_ENDIAN 1
|
||||
+#undef IS_BIG_ENDIAN
|
||||
+#else
|
||||
#undef IS_LITTLE_ENDIAN
|
||||
#define IS_BIG_ENDIAN 1
|
||||
+#endif
|
||||
#define IS_64
|
||||
|
||||
#define PR_BYTES_PER_BYTE 1
|
||||
@@ -75,8 +80,13 @@
|
||||
|
||||
#elif defined(__powerpc__)
|
||||
|
||||
+#ifdef __LITTLE_ENDIAN__
|
||||
+#define IS_LITTLE_ENDIAN 1
|
||||
+#undef IS_BIG_ENDIAN
|
||||
+#else
|
||||
#undef IS_LITTLE_ENDIAN
|
||||
#define IS_BIG_ENDIAN 1
|
||||
+#endif
|
||||
|
||||
#define PR_BYTES_PER_BYTE 1
|
||||
#define PR_BYTES_PER_SHORT 2
|
||||
Index: mozilla/media/webrtc/trunk/webrtc/typedefs.h
|
||||
===================================================================
|
||||
--- mozilla.orig/media/webrtc/trunk/webrtc/typedefs.h
|
||||
+++ mozilla/media/webrtc/trunk/webrtc/typedefs.h
|
||||
@@ -52,13 +52,23 @@
|
||||
#elif defined(__powerpc64__)
|
||||
#define WEBRTC_ARCH_PPC64 1
|
||||
#define WEBRTC_ARCH_64_BITS 1
|
||||
+#ifdef __LITTLE_ENDIAN__
|
||||
+#define WEBRTC_ARCH_LITTLE_ENDIAN
|
||||
+#define WEBRTC_LITTLE_ENDIAN
|
||||
+#else
|
||||
#define WEBRTC_ARCH_BIG_ENDIAN
|
||||
#define WEBRTC_BIG_ENDIAN
|
||||
+#endif
|
||||
#elif defined(__ppc__) || defined(__powerpc__)
|
||||
#define WEBRTC_ARCH_PPC 1
|
||||
#define WEBRTC_ARCH_32_BITS 1
|
||||
+#ifdef __LITTLE_ENDIAN__
|
||||
+#define WEBRTC_ARCH_LITTLE_ENDIAN
|
||||
+#define WEBRTC_LITTLE_ENDIAN
|
||||
+#else
|
||||
#define WEBRTC_ARCH_BIG_ENDIAN
|
||||
#define WEBRTC_BIG_ENDIAN
|
||||
+#endif
|
||||
#elif defined(__sparc64__)
|
||||
#define WEBRTC_ARCH_SPARC 1
|
||||
#define WEBRTC_ARCH_64_BITS 1
|
@ -1,10 +1,7 @@
|
||||
diff --git a/config/baseconfig.mk b/config/baseconfig.mk
|
||||
index 636b9aa..b350c75 100644
|
||||
--- a/config/baseconfig.mk
|
||||
+++ b/config/baseconfig.mk
|
||||
@@ -1,7 +1,7 @@
|
||||
INCLUDED_AUTOCONF_MK = 1
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
+includedir := $(includedir)/$(MOZ_APP_NAME)
|
||||
@ -12,3 +9,8 @@ index 636b9aa..b350c75 100644
|
||||
installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
|
||||
MOZILLA_SRCDIR = $(topsrcdir)/mozilla
|
||||
MOZDEPTH = $(DEPTH)/mozilla
|
||||
DIST = $(MOZDEPTH)/dist
|
||||
|
||||
# We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
|
||||
# manually use it before config.mk inclusion
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:438bab11f06b7f9bd82aa738b47085d71c648bf41845758d8c42223888d7cb1c
|
||||
size 141973773
|
3
thunderbird-31.0-source.tar.xz
Normal file
3
thunderbird-31.0-source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c69616a54eb29df16553f3066ae7aa00e9b95850f4ee5d6c28da59e2accbd2de
|
||||
size 144728428
|
@ -7,14 +7,14 @@ References:
|
||||
diff --git a/mail/app/Makefile.in b/mail/app/Makefile.in
|
||||
--- a/mail/app/Makefile.in
|
||||
+++ b/mail/app/Makefile.in
|
||||
@@ -61,16 +61,17 @@ LOCAL_INCLUDES += \
|
||||
@@ -54,16 +54,17 @@ LOCAL_INCLUDES += \
|
||||
-I$(MOZILLA_SRCDIR)/xpcom/build \
|
||||
$(NULL)
|
||||
|
||||
DEFINES += -DXPCOM_GLUE
|
||||
STL_FLAGS=
|
||||
|
||||
LIBS += \
|
||||
$(EXTRA_DSO_LIBS) \
|
||||
$(XPCOM_STANDALONE_GLUE_LDOPTS) \
|
||||
+ $(NSSHELPER_LIBS) \
|
||||
$(NULL)
|
||||
|
@ -1,277 +0,0 @@
|
||||
Index: mozilla/xpcom/reflect/xptcall/src/md/unix/moz.build
|
||||
===================================================================
|
||||
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/moz.build
|
||||
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/moz.build
|
||||
@@ -198,6 +198,13 @@ if CONFIG['OS_TEST'] == 'powerpc64':
|
||||
'xptcstubs_ppc64_linux.cpp',
|
||||
]
|
||||
|
||||
+if CONFIG['OS_TEST'] == 'powerpc64le':
|
||||
+ if CONFIG['OS_ARCH'] == 'Linux':
|
||||
+ CPP_SOURCES += [
|
||||
+ 'xptcinvoke_ppc64_linux.cpp',
|
||||
+ 'xptcstubs_ppc64_linux.cpp',
|
||||
+ ]
|
||||
+
|
||||
if CONFIG['OS_TEST'] in ('macppc', 'bebox', 'ofppc', 'prep', 'amigappc'):
|
||||
if CONFIG['OS_ARCH'] == 'NetBSD':
|
||||
CPP_SOURCES += [
|
||||
Index: mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in
|
||||
===================================================================
|
||||
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/Makefile.in
|
||||
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in
|
||||
@@ -166,7 +166,7 @@ endif
|
||||
#
|
||||
# Linux/PPC64
|
||||
#
|
||||
-ifneq (,$(filter Linuxpowerpc64 FreeBSDpowerpc64,$(OS_ARCH)$(OS_TEST)))
|
||||
+ifneq (,$(filter Linuxpowerpc64 Linuxpowerpc64le FreeBSDpowerpc64,$(OS_ARCH)$(OS_TEST)))
|
||||
ASFILES := xptcinvoke_asm_ppc64_linux.s xptcstubs_asm_ppc64_linux.s
|
||||
AS := $(CC) -c -x assembler-with-cpp
|
||||
endif
|
||||
Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s
|
||||
===================================================================
|
||||
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s
|
||||
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s
|
||||
@@ -17,12 +17,29 @@
|
||||
.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29
|
||||
.set f30,30; .set f31,31
|
||||
|
||||
+#if _CALL_ELF == 2
|
||||
+#define STACK_TOC 28
|
||||
+#define STACK_PARAMS 96
|
||||
+#else
|
||||
+#define STACK_TOC 40
|
||||
+#define STACK_PARAMS 112
|
||||
+#endif
|
||||
|
||||
#
|
||||
# NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
|
||||
# uint32_t paramCount, nsXPTCVariant* params)
|
||||
#
|
||||
|
||||
+#if _CALL_ELF == 2
|
||||
+ .section ".text"
|
||||
+ .type NS_InvokeByIndex,@function
|
||||
+ .globl NS_InvokeByIndex
|
||||
+ .align 2
|
||||
+NS_InvokeByIndex:
|
||||
+0: addis 2,12,(.TOC.-0b)@ha
|
||||
+ addi 2,2,(.TOC.-0b)@l
|
||||
+ .localentry NS_InvokeByIndex,.-NS_InvokeByIndex
|
||||
+#else
|
||||
.section ".toc","aw"
|
||||
.section ".text"
|
||||
.align 2
|
||||
@@ -34,6 +51,7 @@ NS_InvokeByIndex:
|
||||
.previous
|
||||
.type NS_InvokeByIndex,@function
|
||||
.NS_InvokeByIndex:
|
||||
+#endif
|
||||
mflr 0
|
||||
std 0,16(r1)
|
||||
|
||||
@@ -56,7 +74,7 @@ NS_InvokeByIndex:
|
||||
# (-23*8).(-16*8).(-3*8)..(r31)
|
||||
|
||||
# +stack frame, -unused stack params, +regs storage, +1 for alignment
|
||||
- addi r7,r5,((112/8)-7+7+13+3+1)
|
||||
+ addi r7,r5,((STACK_PARAMS/8)-7+7+13+3+1)
|
||||
rldicr r7,r7,3,59 # multiply by 8 and mask with ~15
|
||||
neg r7,r7
|
||||
stdux r1,r1,r7
|
||||
@@ -72,7 +90,7 @@ NS_InvokeByIndex:
|
||||
|
||||
subi r3,r31,(23*8) # r3 --> GPRS
|
||||
subi r4,r31,(16*8) # r4 --> FPRS
|
||||
- addi r7,r1,112 # r7 --> params
|
||||
+ addi r7,r1,STACK_PARAMS # r7 --> params
|
||||
bl invoke_copy_to_stack
|
||||
nop
|
||||
|
||||
@@ -83,14 +101,18 @@ NS_InvokeByIndex:
|
||||
|
||||
sldi r30,r30,3 # Find function descriptor
|
||||
add r9,r9,r30
|
||||
- ld r9,0(r9)
|
||||
+ ld r12,0(r9)
|
||||
|
||||
- ld r0,0(r9) # Actual address from fd.
|
||||
- std r2,40(r1) # Save r2 (TOC pointer)
|
||||
+ std r2,STACK_TOC(r1) # Save r2 (TOC pointer)
|
||||
|
||||
+#if _CALL_ELF == 2
|
||||
+ mtctr r12
|
||||
+#else
|
||||
+ ld r0,0(r12) # Actual address from fd.
|
||||
mtctr 0
|
||||
- ld r11,16(r9) # Environment pointer from fd.
|
||||
- ld r2,8(r9) # TOC pointer from fd.
|
||||
+ ld r11,16(r12) # Environment pointer from fd.
|
||||
+ ld r2,8(r12) # TOC pointer from fd.
|
||||
+#endif
|
||||
|
||||
# Load FP and GP registers as required
|
||||
ld r4, -(23*8)(r31)
|
||||
@@ -117,7 +139,7 @@ NS_InvokeByIndex:
|
||||
|
||||
bctrl # Do it
|
||||
|
||||
- ld r2,40(r1) # Load our own TOC pointer
|
||||
+ ld r2,STACK_TOC(r1) # Load our own TOC pointer
|
||||
ld r1,0(r1) # Revert stack frame
|
||||
ld 0,16(r1) # Reload lr
|
||||
ld 29,-24(r1) # Restore NVGPRS
|
||||
@@ -126,7 +148,11 @@ NS_InvokeByIndex:
|
||||
mtlr 0
|
||||
blr
|
||||
|
||||
+#if _CALL_ELF == 2
|
||||
+ .size NS_InvokeByIndex,.-NS_InvokeByIndex
|
||||
+#else
|
||||
.size NS_InvokeByIndex,.-.NS_InvokeByIndex
|
||||
+#endif
|
||||
|
||||
# Magic indicating no need for an executable stack
|
||||
.section .note.GNU-stack, "", @progbits ; .previous
|
||||
Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc64_linux.cpp
|
||||
===================================================================
|
||||
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc64_linux.cpp
|
||||
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc64_linux.cpp
|
||||
@@ -74,7 +74,9 @@ invoke_copy_to_stack(uint64_t* gpregs,
|
||||
fpregs[i] = s->val.f; // if passed in registers, floats are promoted to doubles
|
||||
} else {
|
||||
float *p = (float *)d;
|
||||
+#ifndef __LITTLE_ENDIAN__
|
||||
p++;
|
||||
+#endif
|
||||
*p = s->val.f;
|
||||
}
|
||||
}
|
||||
Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s
|
||||
===================================================================
|
||||
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s
|
||||
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s
|
||||
@@ -17,6 +17,27 @@
|
||||
.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29
|
||||
.set f30,30; .set f31,31
|
||||
|
||||
+#if _CALL_ELF == 2
|
||||
+#define STACK_PARAMS 96
|
||||
+#else
|
||||
+#define STACK_PARAMS 112
|
||||
+#endif
|
||||
+
|
||||
+#if _CALL_ELF == 2
|
||||
+ .section ".text"
|
||||
+ .type SharedStub,@function
|
||||
+ .globl SharedStub
|
||||
+ # Make the symbol hidden so that the branch from the stub does
|
||||
+ # not go via a PLT. This is not only better for performance,
|
||||
+ # but may be necessary to avoid linker errors since there is
|
||||
+ # no place to restore the TOC register in a sibling call.
|
||||
+ .hidden SharedStub
|
||||
+ .align 2
|
||||
+SharedStub:
|
||||
+0: addis 2,12,(.TOC.-0b)@ha
|
||||
+ addi 2,2,(.TOC.-0b)@l
|
||||
+ .localentry SharedStub,.-SharedStub
|
||||
+#else
|
||||
.section ".text"
|
||||
.align 2
|
||||
.globl SharedStub
|
||||
@@ -29,6 +50,7 @@ SharedStub:
|
||||
.type SharedStub,@function
|
||||
|
||||
.SharedStub:
|
||||
+#endif
|
||||
mflr r0
|
||||
|
||||
std r4, -56(r1) # Save all GPRS
|
||||
@@ -55,7 +77,7 @@ SharedStub:
|
||||
|
||||
subi r6,r1,56 # r6 --> gprData
|
||||
subi r7,r1,160 # r7 --> fprData
|
||||
- addi r5,r1,112 # r5 --> extra stack args
|
||||
+ addi r5,r1,STACK_PARAMS # r5 --> extra stack args
|
||||
|
||||
std r0, 16(r1)
|
||||
|
||||
@@ -75,7 +97,11 @@ SharedStub:
|
||||
mtlr r0
|
||||
blr
|
||||
|
||||
+#if _CALL_ELF == 2
|
||||
+ .size SharedStub,.-SharedStub
|
||||
+#else
|
||||
.size SharedStub,.-.SharedStub
|
||||
+#endif
|
||||
|
||||
# Magic indicating no need for an executable stack
|
||||
.section .note.GNU-stack, "", @progbits ; .previous
|
||||
Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp
|
||||
===================================================================
|
||||
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp
|
||||
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp
|
||||
@@ -83,7 +83,9 @@ PrepareAndDispatch(nsXPTCStubBase* self,
|
||||
dp->val.f = (float) fprData[i]; // in registers floats are passed as doubles
|
||||
else {
|
||||
float *p = (float *)ap;
|
||||
+#ifndef __LITTLE_ENDIAN__
|
||||
p++;
|
||||
+#endif
|
||||
dp->val.f = *p;
|
||||
}
|
||||
} else { /* integer type or pointer */
|
||||
@@ -153,6 +155,43 @@ PrepareAndDispatch(nsXPTCStubBase* self,
|
||||
// etc.
|
||||
// Use assembler directives to get the names right...
|
||||
|
||||
+#if _CALL_ELF == 2
|
||||
+# define STUB_ENTRY(n) \
|
||||
+__asm__ ( \
|
||||
+ ".section \".text\" \n\t" \
|
||||
+ ".align 2 \n\t" \
|
||||
+ ".if "#n" < 10 \n\t" \
|
||||
+ ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
|
||||
+ ".type _ZN14nsXPTCStubBase5Stub"#n"Ev,@function \n\n" \
|
||||
+"_ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \
|
||||
+ "0: addis 2,12,.TOC.-0b@ha \n\t" \
|
||||
+ "addi 2,2,.TOC.-0b@l \n\t" \
|
||||
+ ".localentry _ZN14nsXPTCStubBase5Stub"#n"Ev,.-_ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
|
||||
+ \
|
||||
+ ".elseif "#n" < 100 \n\t" \
|
||||
+ ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \
|
||||
+ ".type _ZN14nsXPTCStubBase6Stub"#n"Ev,@function \n\n" \
|
||||
+"_ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \
|
||||
+ "0: addis 2,12,.TOC.-0b@ha \n\t" \
|
||||
+ "addi 2,2,.TOC.-0b@l \n\t" \
|
||||
+ ".localentry _ZN14nsXPTCStubBase6Stub"#n"Ev,.-_ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \
|
||||
+ \
|
||||
+ ".elseif "#n" < 1000 \n\t" \
|
||||
+ ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \
|
||||
+ ".type _ZN14nsXPTCStubBase7Stub"#n"Ev,@function \n\n" \
|
||||
+"_ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \
|
||||
+ "0: addis 2,12,.TOC.-0b@ha \n\t" \
|
||||
+ "addi 2,2,.TOC.-0b@l \n\t" \
|
||||
+ ".localentry _ZN14nsXPTCStubBase7Stub"#n"Ev,.-_ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \
|
||||
+ \
|
||||
+ ".else \n\t" \
|
||||
+ ".err \"stub number "#n" >= 1000 not yet supported\"\n" \
|
||||
+ ".endif \n\t" \
|
||||
+ \
|
||||
+ "li 11,"#n" \n\t" \
|
||||
+ "b SharedStub \n" \
|
||||
+);
|
||||
+#else
|
||||
# define STUB_ENTRY(n) \
|
||||
__asm__ ( \
|
||||
".section \".toc\",\"aw\" \n\t" \
|
||||
@@ -195,6 +234,7 @@ __asm__ (
|
||||
"li 11,"#n" \n\t" \
|
||||
"b SharedStub \n" \
|
||||
);
|
||||
+#endif
|
||||
|
||||
#define SENTINEL_ENTRY(n) \
|
||||
nsresult nsXPTCStubBase::Sentinel##n() \
|
Loading…
Reference in New Issue
Block a user