forked from pool/MozillaThunderbird
- For openSUSE > 13.2, the build fails for i586 as it goes out of
memory. Prevent this from happening by disabing parallel build in this particular case (i.e. do not pass mk_add_options MOZ_MAKE_FLAGS%{?jobs:-j%jobs}). - update to Thunderbird 45.0 * Add a Correspondents column combining Sender and Recipient * Much better support for XMPP chatrooms and commands * Remote content exceptions: Improved options to add exceptions * Implement option to always use HTML formatting to prevent unexpected format loss when converting messages to plain text * Use OpenStreetmap for maps (even allow the user to choose from list of map services) * Allow spell checking and dictionary selection in the subject line * Allow editing of From when composing a message * Add dropdown in compose to allow specific setting of font size * Return/Enter in composer will now insert a new paragraph by default (shift-Enter will insert a line break) * Allow copying of name and email address from the message header of an email * Mail.ru supports OAuth authentication OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=314
This commit is contained in:
parent
c7c14f778a
commit
f244ebf410
@ -1,3 +1,31 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 27 04:26:56 UTC 2016 - badshah400@gmail.com
|
||||||
|
|
||||||
|
- For openSUSE > 13.2, the build fails for i586 as it goes out of
|
||||||
|
memory. Prevent this from happening by disabing parallel build
|
||||||
|
in this particular case (i.e. do not pass
|
||||||
|
mk_add_options MOZ_MAKE_FLAGS%{?jobs:-j%jobs}).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 16 08:11:14 UTC 2016 - wr@rosenauer.org
|
||||||
|
|
||||||
|
- update to Thunderbird 45.0
|
||||||
|
* Add a Correspondents column combining Sender and Recipient
|
||||||
|
* Much better support for XMPP chatrooms and commands
|
||||||
|
* Remote content exceptions: Improved options to add exceptions
|
||||||
|
* Implement option to always use HTML formatting to prevent
|
||||||
|
unexpected format loss when converting messages to plain text
|
||||||
|
* Use OpenStreetmap for maps (even allow the user to choose from
|
||||||
|
list of map services)
|
||||||
|
* Allow spell checking and dictionary selection in the subject line
|
||||||
|
* Allow editing of From when composing a message
|
||||||
|
* Add dropdown in compose to allow specific setting of font size
|
||||||
|
* Return/Enter in composer will now insert a new paragraph by
|
||||||
|
default (shift-Enter will insert a line break)
|
||||||
|
* Allow copying of name and email address from the message header
|
||||||
|
of an email
|
||||||
|
* Mail.ru supports OAuth authentication
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Apr 6 21:54:09 UTC 2016 - astieger@suse.com
|
Wed Apr 6 21:54:09 UTC 2016 - astieger@suse.com
|
||||||
|
|
||||||
|
@ -17,18 +17,16 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define mainversion 38.7.2
|
%define mainversion 45.0
|
||||||
%define update_channel release
|
%define update_channel release
|
||||||
%define releasedate 2016040400
|
%define releasedate 2016041500
|
||||||
|
|
||||||
%if %suse_version > 1210
|
|
||||||
%if %suse_version > 1310
|
%if %suse_version > 1310
|
||||||
%define gstreamer_ver 1.0
|
%define gstreamer_ver 1.0
|
||||||
%define gstreamer 1
|
%define gstreamer 1
|
||||||
%else
|
%else
|
||||||
%define gstreamer_ver 0.10
|
%define gstreamer_ver 0.10
|
||||||
%endif
|
%endif
|
||||||
%endif
|
|
||||||
|
|
||||||
%bcond_without mozilla_tb_kde4
|
%bcond_without mozilla_tb_kde4
|
||||||
%bcond_with mozilla_tb_valgrind
|
%bcond_with mozilla_tb_valgrind
|
||||||
@ -46,8 +44,8 @@ BuildRequires: libcurl-devel
|
|||||||
BuildRequires: libgnomeui-devel
|
BuildRequires: libgnomeui-devel
|
||||||
BuildRequires: libidl-devel
|
BuildRequires: libidl-devel
|
||||||
BuildRequires: libnotify-devel
|
BuildRequires: libnotify-devel
|
||||||
BuildRequires: mozilla-nspr-devel >= 4.10.10
|
BuildRequires: mozilla-nspr-devel >= 4.12
|
||||||
BuildRequires: mozilla-nss-devel >= 3.20.2
|
BuildRequires: mozilla-nss-devel >= 3.21.1
|
||||||
BuildRequires: python
|
BuildRequires: python
|
||||||
BuildRequires: startup-notification-devel
|
BuildRequires: startup-notification-devel
|
||||||
BuildRequires: unzip
|
BuildRequires: unzip
|
||||||
@ -60,7 +58,6 @@ BuildRequires: pkgconfig(libpulse)
|
|||||||
%if %{with mozilla_tb_valgrind}
|
%if %{with mozilla_tb_valgrind}
|
||||||
BuildRequires: pkgconfig(valgrind)
|
BuildRequires: pkgconfig(valgrind)
|
||||||
%endif
|
%endif
|
||||||
%if %suse_version > 1210
|
|
||||||
BuildRequires: pkgconfig(gstreamer-%gstreamer_ver)
|
BuildRequires: pkgconfig(gstreamer-%gstreamer_ver)
|
||||||
BuildRequires: pkgconfig(gstreamer-app-%gstreamer_ver)
|
BuildRequires: pkgconfig(gstreamer-app-%gstreamer_ver)
|
||||||
BuildRequires: pkgconfig(gstreamer-plugins-base-%gstreamer_ver)
|
BuildRequires: pkgconfig(gstreamer-plugins-base-%gstreamer_ver)
|
||||||
@ -73,7 +70,6 @@ Requires: libgstreamer-0_10-0
|
|||||||
Recommends: gstreamer-0_10-fluendo-mp3
|
Recommends: gstreamer-0_10-fluendo-mp3
|
||||||
Recommends: gstreamer-0_10-plugins-ffmpeg
|
Recommends: gstreamer-0_10-plugins-ffmpeg
|
||||||
%endif
|
%endif
|
||||||
%endif
|
|
||||||
Version: %{mainversion}
|
Version: %{mainversion}
|
||||||
Release: 0
|
Release: 0
|
||||||
Provides: thunderbird = %{version}
|
Provides: thunderbird = %{version}
|
||||||
@ -105,10 +101,8 @@ Source12: kde.js
|
|||||||
Patch1: mozilla-language.patch
|
Patch1: mozilla-language.patch
|
||||||
Patch2: mozilla-nongnome-proxies.patch
|
Patch2: mozilla-nongnome-proxies.patch
|
||||||
Patch3: mozilla-kde.patch
|
Patch3: mozilla-kde.patch
|
||||||
Patch4: mozilla-arm-disable-edsp.patch
|
Patch4: mozilla-develdirs.patch
|
||||||
Patch5: mozilla-develdirs.patch
|
Patch5: mozilla-no-stdcxx-check.patch
|
||||||
Patch6: mozilla-icu-strncat.patch
|
|
||||||
Patch7: mozilla-arm64-libjpeg-turbo.patch
|
|
||||||
# Thunderbird/mail
|
# Thunderbird/mail
|
||||||
Patch20: tb-ssldap.patch
|
Patch20: tb-ssldap.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
@ -204,8 +198,6 @@ pushd mozilla
|
|||||||
%endif
|
%endif
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch5 -p1
|
%patch5 -p1
|
||||||
%patch6 -p1
|
|
||||||
%patch7 -p1
|
|
||||||
popd
|
popd
|
||||||
# comm-central patches
|
# comm-central patches
|
||||||
%patch20 -p1
|
%patch20 -p1
|
||||||
@ -253,7 +245,13 @@ cat << EOF > $MOZCONFIG
|
|||||||
mk_add_options MOZILLA_OFFICIAL=1
|
mk_add_options MOZILLA_OFFICIAL=1
|
||||||
mk_add_options BUILD_OFFICIAL=1
|
mk_add_options BUILD_OFFICIAL=1
|
||||||
mk_add_options MOZ_MILESTONE_RELEASE=1
|
mk_add_options MOZ_MILESTONE_RELEASE=1
|
||||||
|
%if 0%{?suse_version} > 1320
|
||||||
|
%ifarch i586
|
||||||
|
mk_add_options MOZ_MAKE_FLAGS=-j1
|
||||||
|
%else
|
||||||
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
|
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
mk_add_options MOZ_OBJDIR=$RPM_BUILD_DIR/obj
|
mk_add_options MOZ_OBJDIR=$RPM_BUILD_DIR/obj
|
||||||
ac_add_options --enable-application=mail
|
ac_add_options --enable-application=mail
|
||||||
ac_add_options --enable-calendar
|
ac_add_options --enable-calendar
|
||||||
@ -280,9 +278,6 @@ ac_add_options --enable-update-channel=%{update_channel}
|
|||||||
%if 0%{?gstreamer} == 1
|
%if 0%{?gstreamer} == 1
|
||||||
ac_add_options --enable-gstreamer=1.0
|
ac_add_options --enable-gstreamer=1.0
|
||||||
%endif
|
%endif
|
||||||
%if %suse_version < 1220
|
|
||||||
ac_add_options --disable-gstreamer
|
|
||||||
%endif
|
|
||||||
%if %has_system_cairo
|
%if %has_system_cairo
|
||||||
ac_add_options --enable-system-cairo
|
ac_add_options --enable-system-cairo
|
||||||
%endif
|
%endif
|
||||||
@ -455,15 +450,11 @@ rm -rf %{_tmppath}/translations.*
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%post
|
%post
|
||||||
%if %suse_version > 1130
|
|
||||||
%icon_theme_cache_post
|
%icon_theme_cache_post
|
||||||
%endif
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
%if %suse_version > 1130
|
|
||||||
%icon_theme_cache_postun
|
%icon_theme_cache_postun
|
||||||
%endif
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
%files
|
%files
|
||||||
@ -472,7 +463,6 @@ exit 0
|
|||||||
%dir %{progdir}
|
%dir %{progdir}
|
||||||
%{progdir}/application.ini
|
%{progdir}/application.ini
|
||||||
%{progdir}/blocklist.xml
|
%{progdir}/blocklist.xml
|
||||||
%{progdir}/chrome.manifest
|
|
||||||
%{progdir}/dependentlibs.list
|
%{progdir}/dependentlibs.list
|
||||||
%{progdir}/*.so
|
%{progdir}/*.so
|
||||||
%{progdir}/omni.ja
|
%{progdir}/omni.ja
|
||||||
@ -486,16 +476,14 @@ exit 0
|
|||||||
%{progdir}/crashreporter.ini
|
%{progdir}/crashreporter.ini
|
||||||
%{progdir}/Throbber-small.gif
|
%{progdir}/Throbber-small.gif
|
||||||
%endif
|
%endif
|
||||||
%{progdir}/components/
|
|
||||||
%dir %{progdir}/chrome/
|
%dir %{progdir}/chrome/
|
||||||
%{progdir}/chrome/icons/
|
%{progdir}/chrome/icons/
|
||||||
%dir %{progdir}/dictionaries/
|
%dir %{progdir}/dictionaries/
|
||||||
%{progdir}/distribution/
|
%{progdir}/distribution/
|
||||||
%{progdir}/defaults/
|
%{progdir}/defaults/
|
||||||
%dir %{progdir}/extensions/
|
%dir %{progdir}/extensions/
|
||||||
%{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
|
%{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi
|
||||||
%{progdir}/isp/
|
%{progdir}/isp/
|
||||||
%{progdir}/searchplugins/
|
|
||||||
%{_datadir}/appdata/
|
%{_datadir}/appdata/
|
||||||
%{_datadir}/applications/%{desktop_file_name}.desktop
|
%{_datadir}/applications/%{desktop_file_name}.desktop
|
||||||
%{_datadir}/icons/hicolor/*/apps/%{progname}.png
|
%{_datadir}/icons/hicolor/*/apps/%{progname}.png
|
||||||
@ -514,7 +502,6 @@ exit 0
|
|||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/%{progname}/*.a
|
%{_libdir}/%{progname}/*.a
|
||||||
%{_libdir}/%{progname}/*.py
|
%{_libdir}/%{progname}/*.py
|
||||||
%{_libdir}/%{progname}/*.pyc
|
|
||||||
%{_libdir}/%{progname}/ply/
|
%{_libdir}/%{progname}/ply/
|
||||||
%{_libdir}/%{progname}/xpcshell
|
%{_libdir}/%{progname}/xpcshell
|
||||||
#%{_libdir}/pkgconfig/*.pc
|
#%{_libdir}/pkgconfig/*.pc
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<constraints>
|
<constraints>
|
||||||
<hardware>
|
<hardware>
|
||||||
<disk>
|
<disk>
|
||||||
<size unit="G">11</size>
|
<size unit="G">13</size>
|
||||||
</disk>
|
</disk>
|
||||||
<memory>
|
<memory>
|
||||||
<size unit="M">6000</size>
|
<size unit="M">6000</size>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:9ea4b3d27f97562219f732c8906eda3727ef59265f3a6d6b3da0e8957616a301
|
oid sha256:a8057e32507230b91977e44dffd7dba5969bf391a20f93af0e39786732246088
|
||||||
size 28432
|
size 28376
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
CHANNEL="esr38"
|
CHANNEL="esr45"
|
||||||
BRANCH="releases/comm-$CHANNEL"
|
BRANCH="releases/comm-$CHANNEL"
|
||||||
RELEASE_TAG="THUNDERBIRD_38_7_2_RELEASE"
|
RELEASE_TAG="THUNDERBIRD_45_0_RELEASE"
|
||||||
VERSION="38.7.2"
|
VERSION="45.0"
|
||||||
|
|
||||||
echo "cloning $BRANCH..."
|
echo "cloning $BRANCH..."
|
||||||
hg clone http://hg.mozilla.org/$BRANCH thunderbird
|
hg clone http://hg.mozilla.org/$BRANCH thunderbird
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:5bd6cca927899f1dd5006b2b71b534efced197aa53100258cd6a9b6b8fe90bbc
|
|
||||||
size 22297300
|
|
3
l10n-45.0.tar.xz
Normal file
3
l10n-45.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:97797ae1da39a20af90e312434388a3d0ad7071dd6893d2402ffb8ab144a856e
|
||||||
|
size 24491464
|
@ -1,27 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# User Adrian Schröter <adrian@suse.de>
|
|
||||||
# Parent b945e0c3b145b6b2245f42bab52f911c2d1f6759
|
|
||||||
disable ESDP support (no BNC or BMO reference yet :-()
|
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(MOZILLA_PRESUME_EDSP)
|
|
||||||
# define MOZILLA_MAY_SUPPORT_EDSP 1
|
|
||||||
inline bool supports_edsp() { return true; }
|
|
||||||
-#elif defined(MOZILLA_MAY_SUPPORT_EDSP) \
|
|
||||||
+#elif 0 \
|
|
||||||
&& defined(MOZILLA_ARM_HAVE_CPUID_DETECTION)
|
|
||||||
inline bool supports_edsp() { return arm_private::edsp_enabled; }
|
|
||||||
#else
|
|
||||||
inline bool supports_edsp() { return false; }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(MOZILLA_PRESUME_ARMV6)
|
|
||||||
# define MOZILLA_MAY_SUPPORT_ARMV6 1
|
|
@ -1,22 +0,0 @@
|
|||||||
Index: mozilla/configure.in
|
|
||||||
===================================================================
|
|
||||||
--- mozilla.orig/configure.in
|
|
||||||
+++ mozilla/configure.in
|
|
||||||
@@ -6241,7 +6241,7 @@ fi
|
|
||||||
|
|
||||||
dnl If we're on an ARM system which supports libjpeg-turbo's asm routines and
|
|
||||||
dnl --disable-libjpeg-turbo wasn't passed, use the C compiler as the assembler.
|
|
||||||
-if test -n "$LIBJPEG_TURBO_ARM_ASM" ; then
|
|
||||||
+if test -n "$LIBJPEG_TURBO_ARM_ASM" -o -n "$LIBJPEG_TURBO_ARM64_ASM" ; then
|
|
||||||
echo "Using $AS as the assembler for ARM code."
|
|
||||||
LIBJPEG_TURBO_AS=$AS
|
|
||||||
fi
|
|
||||||
@@ -6252,6 +6252,8 @@ elif test -n "$LIBJPEG_TURBO_X64_ASM"; t
|
|
||||||
AC_DEFINE(LIBJPEG_TURBO_X64_ASM)
|
|
||||||
elif test -n "$LIBJPEG_TURBO_ARM_ASM"; then
|
|
||||||
AC_DEFINE(LIBJPEG_TURBO_ARM_ASM)
|
|
||||||
+elif test -n "$LIBJPEG_TURBO_ARM64_ASM"; then
|
|
||||||
+ AC_DEFINE(LIBJPEG_TURBO_ARM64_ASM)
|
|
||||||
elif test -n "$MOZ_LIBJPEG_TURBO"; then
|
|
||||||
dnl Warn if we're not building the optimized routines, even though the user
|
|
||||||
dnl didn't specify --disable-libjpeg-turbo.
|
|
@ -1,20 +1,24 @@
|
|||||||
diff --git a/config/baseconfig.mk b/config/baseconfig.mk
|
diff --git a/config/baseconfig.mk b/config/baseconfig.mk
|
||||||
--- a/config/baseconfig.mk
|
--- a/config/baseconfig.mk
|
||||||
+++ b/config/baseconfig.mk
|
+++ b/config/baseconfig.mk
|
||||||
@@ -1,14 +1,14 @@
|
@@ -1,16 +1,16 @@
|
||||||
# This file is normally included by autoconf.mk, but it is also used
|
# This file is normally included by autoconf.mk, but it is also used
|
||||||
# directly in python/mozbuild/mozbuild/base.py for gmake validation.
|
# directly in python/mozbuild/mozbuild/base.py for gmake validation.
|
||||||
# We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
|
# We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
|
||||||
# whether a normal build is happening or whether the check is running.
|
# whether a normal build is happening or whether the check is running.
|
||||||
-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||||
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||||
|
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||||
|
-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
|
||||||
+includedir := $(includedir)/$(MOZ_APP_NAME)
|
+includedir := $(includedir)/$(MOZ_APP_NAME)
|
||||||
+idldir = $(datadir)/idl/$(MOZ_APP_NAME)
|
+idldir = $(datadir)/idl/$(MOZ_APP_NAME)
|
||||||
installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
+installdir = $(libdir)/$(MOZ_APP_NAME)
|
||||||
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
|
+sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
|
||||||
ifndef TOP_DIST
|
ifeq (.,$(DEPTH))
|
||||||
TOP_DIST = dist
|
DIST = dist
|
||||||
endif
|
|
||||||
ifneq (,$(filter /%,$(TOP_DIST)))
|
|
||||||
DIST = $(TOP_DIST)
|
|
||||||
else
|
else
|
||||||
|
DIST = $(DEPTH)/dist
|
||||||
|
endif
|
||||||
|
|
||||||
|
# We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
|
||||||
|
# manually use it before config.mk inclusion
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# Parent 29be2a4daa0f512d22bde85b97b5460839026571
|
|
||||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
|
||||||
From: Jan Engelhardt <jengelh@inai.de>
|
|
||||||
Reference: http://bugs.icu-project.org/trac/ticket/7808
|
|
||||||
|
|
||||||
diff --git a/intl/icu/source/tools/pkgdata/pkgdata.cpp b/intl/icu/source/tools/pkgdata/pkgdata.cpp
|
|
||||||
--- a/intl/icu/source/tools/pkgdata/pkgdata.cpp
|
|
||||||
+++ b/intl/icu/source/tools/pkgdata/pkgdata.cpp
|
|
||||||
@@ -1975,22 +1975,22 @@ static void loadLists(UPKGOptions *o, UE
|
|
||||||
FILE *p = NULL;
|
|
||||||
size_t n;
|
|
||||||
static char buf[512] = "";
|
|
||||||
char cmdBuf[1024];
|
|
||||||
UErrorCode status = U_ZERO_ERROR;
|
|
||||||
const char cmd[] = "icu-config --incpkgdatafile";
|
|
||||||
|
|
||||||
/* #1 try the same path where pkgdata was called from. */
|
|
||||||
- findDirname(progname, cmdBuf, 1024, &status);
|
|
||||||
+ findDirname(progname, cmdBuf, sizeof(cmdBuf), &status);
|
|
||||||
if(U_SUCCESS(status)) {
|
|
||||||
if (cmdBuf[0] != 0) {
|
|
||||||
- uprv_strncat(cmdBuf, U_FILE_SEP_STRING, 1024);
|
|
||||||
+ uprv_strncat(cmdBuf, U_FILE_SEP_STRING, sizeof(cmdBuf)-1-strlen(cmdBuf));
|
|
||||||
}
|
|
||||||
- uprv_strncat(cmdBuf, cmd, 1024);
|
|
||||||
+ uprv_strncat(cmdBuf, cmd, sizeof(cmdBuf)-1-strlen(cmdBuf));
|
|
||||||
|
|
||||||
if(verbose) {
|
|
||||||
fprintf(stdout, "# Calling icu-config: %s\n", cmdBuf);
|
|
||||||
}
|
|
||||||
p = popen(cmdBuf, "r");
|
|
||||||
}
|
|
||||||
|
|
||||||
if(p == NULL || (n = fread(buf, 1, 511, p)) <= 0) {
|
|
@ -1,34 +1,15 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# Parent 879df970cffe74db62f72f5b815b559dab63418a
|
# Parent 797d5f17b080f54439602f107ecaf6b09a0ef5c1
|
||||||
Description: Add KDE integration to Firefox (toolkit parts)
|
Description: Add KDE integration to Firefox (toolkit parts)
|
||||||
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
|
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
|
||||||
Author: Lubos Lunak <lunak@suse.com>
|
Author: Lubos Lunak <lunak@suse.com>
|
||||||
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
|
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
|
||||||
https://bugzilla.novell.com/show_bug.cgi?id=170055
|
https://bugzilla.novell.com/show_bug.cgi?id=170055
|
||||||
|
|
||||||
diff --git a/modules/libpref/Makefile.in b/modules/libpref/Makefile.in
|
|
||||||
--- a/modules/libpref/Makefile.in
|
|
||||||
+++ b/modules/libpref/Makefile.in
|
|
||||||
@@ -21,13 +21,15 @@ endif
|
|
||||||
ifdef MOZ_SERVICES_HEALTHREPORT
|
|
||||||
ifneq (android,$(MOZ_WIDGET_TOOLKIT))
|
|
||||||
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)
|
|
||||||
$(call py_action,preprocessor,$(PREF_PPFLAGS) $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) $^ -o $@)
|
|
||||||
|
|
||||||
libs:: greprefs.js
|
|
||||||
$(INSTALL) $^ $(DIST)/bin/
|
|
||||||
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||||
--- a/modules/libpref/Preferences.cpp
|
--- a/modules/libpref/Preferences.cpp
|
||||||
+++ b/modules/libpref/Preferences.cpp
|
+++ b/modules/libpref/Preferences.cpp
|
||||||
@@ -27,16 +27,17 @@
|
@@ -30,16 +30,17 @@
|
||||||
#include "nsIZipReader.h"
|
#include "nsIZipReader.h"
|
||||||
#include "nsPrefBranch.h"
|
#include "nsPrefBranch.h"
|
||||||
#include "nsXPIDLString.h"
|
#include "nsXPIDLString.h"
|
||||||
@ -40,13 +21,13 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
|||||||
+#include "nsKDEUtils.h"
|
+#include "nsKDEUtils.h"
|
||||||
|
|
||||||
#include "nsQuickSort.h"
|
#include "nsQuickSort.h"
|
||||||
#include "pldhash.h"
|
#include "PLDHashTable.h"
|
||||||
|
|
||||||
#include "prefapi.h"
|
#include "prefapi.h"
|
||||||
#include "prefread.h"
|
#include "prefread.h"
|
||||||
#include "prefapi_private_data.h"
|
#include "prefapi_private_data.h"
|
||||||
|
|
||||||
@@ -1165,16 +1166,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
|
@@ -1136,16 +1137,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
|
||||||
|
|
||||||
static nsresult pref_LoadPrefsInDirList(const char *listId)
|
static nsresult pref_LoadPrefsInDirList(const char *listId)
|
||||||
{
|
{
|
||||||
@ -81,7 +62,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
|||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
|
||||||
bool hasMore;
|
bool hasMore;
|
||||||
@@ -1190,17 +1209,17 @@ static nsresult pref_LoadPrefsInDirList(
|
@@ -1161,17 +1180,17 @@ static nsresult pref_LoadPrefsInDirList(
|
||||||
|
|
||||||
nsAutoCString leaf;
|
nsAutoCString leaf;
|
||||||
path->GetNativeLeafName(leaf);
|
path->GetNativeLeafName(leaf);
|
||||||
@ -100,7 +81,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
|||||||
{
|
{
|
||||||
nsZipItemPtr<char> manifest(jarReader, name, true);
|
nsZipItemPtr<char> manifest(jarReader, name, true);
|
||||||
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
|
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
|
||||||
@@ -1294,26 +1313,38 @@ static nsresult pref_InitInitialObjects(
|
@@ -1265,26 +1284,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 */
|
/* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
|
||||||
static const char* specialFiles[] = {
|
static const char* specialFiles[] = {
|
||||||
#if defined(XP_MACOSX)
|
#if defined(XP_MACOSX)
|
||||||
@ -137,12 +118,36 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
|||||||
|
|
||||||
// Load jar:$app/omni.jar!/defaults/preferences/*.js
|
// Load jar:$app/omni.jar!/defaults/preferences/*.js
|
||||||
// or jar:$gre/omni.jar!/defaults/preferences/*.js.
|
// or jar:$gre/omni.jar!/defaults/preferences/*.js.
|
||||||
nsRefPtr<nsZipArchive> appJarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::APP);
|
RefPtr<nsZipArchive> appJarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::APP);
|
||||||
// GetReader(mozilla::Omnijar::APP) returns null when $app == $gre, in which
|
// GetReader(mozilla::Omnijar::APP) returns null when $app == $gre, in which
|
||||||
|
diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
|
||||||
|
--- a/modules/libpref/moz.build
|
||||||
|
+++ b/modules/libpref/moz.build
|
||||||
|
@@ -31,16 +31,20 @@ UNIFIED_SOURCES += [
|
||||||
|
'prefread.cpp',
|
||||||
|
]
|
||||||
|
|
||||||
|
# prefapi.cpp cannot be built in unified mode because it uses plarena.h
|
||||||
|
SOURCES += [
|
||||||
|
'prefapi.cpp',
|
||||||
|
]
|
||||||
|
|
||||||
|
+LOCAL_INCLUDES += [
|
||||||
|
+ '/toolkit/xre'
|
||||||
|
+]
|
||||||
|
+
|
||||||
|
include('/ipc/chromium/chromium-config.mozbuild')
|
||||||
|
|
||||||
|
FINAL_LIBRARY = 'xul'
|
||||||
|
|
||||||
|
DEFINES['OS_ARCH'] = CONFIG['OS_ARCH']
|
||||||
|
DEFINES['MOZ_WIDGET_TOOLKIT'] = CONFIG['MOZ_WIDGET_TOOLKIT']
|
||||||
|
|
||||||
|
if CONFIG['GNU_CXX']:
|
||||||
diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py
|
diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py
|
||||||
--- a/python/mozbuild/mozpack/chrome/flags.py
|
--- a/python/mozbuild/mozpack/chrome/flags.py
|
||||||
+++ b/python/mozbuild/mozpack/chrome/flags.py
|
+++ b/python/mozbuild/mozpack/chrome/flags.py
|
||||||
@@ -209,16 +209,17 @@ class Flags(OrderedDict):
|
@@ -211,16 +211,17 @@ class Flags(OrderedDict):
|
||||||
'contentaccessible': Flag,
|
'contentaccessible': Flag,
|
||||||
'os': StringFlag,
|
'os': StringFlag,
|
||||||
'osversion': VersionFlag,
|
'osversion': VersionFlag,
|
||||||
@ -163,7 +168,7 @@ diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/c
|
|||||||
diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py
|
diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py
|
||||||
--- a/python/mozbuild/mozpack/chrome/manifest.py
|
--- a/python/mozbuild/mozpack/chrome/manifest.py
|
||||||
+++ b/python/mozbuild/mozpack/chrome/manifest.py
|
+++ b/python/mozbuild/mozpack/chrome/manifest.py
|
||||||
@@ -31,16 +31,17 @@ class ManifestEntry(object):
|
@@ -33,16 +33,17 @@ class ManifestEntry(object):
|
||||||
'application',
|
'application',
|
||||||
'platformversion',
|
'platformversion',
|
||||||
'os',
|
'os',
|
||||||
@ -184,11 +189,11 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
|
|||||||
diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
|
diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
|
||||||
--- a/toolkit/components/downloads/moz.build
|
--- a/toolkit/components/downloads/moz.build
|
||||||
+++ b/toolkit/components/downloads/moz.build
|
+++ b/toolkit/components/downloads/moz.build
|
||||||
@@ -52,14 +52,15 @@ if not CONFIG['MOZ_SUITE']:
|
@@ -65,15 +65,16 @@ if not CONFIG['MOZ_SUITE']:
|
||||||
|
'nsDownloadManagerUI.js',
|
||||||
|
'nsDownloadManagerUI.manifest',
|
||||||
]
|
]
|
||||||
|
|
||||||
FAIL_ON_WARNINGS = True
|
|
||||||
|
|
||||||
FINAL_LIBRARY = 'xul'
|
FINAL_LIBRARY = 'xul'
|
||||||
|
|
||||||
LOCAL_INCLUDES += [
|
LOCAL_INCLUDES += [
|
||||||
@ -199,12 +204,13 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
|
|||||||
]
|
]
|
||||||
|
|
||||||
DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True
|
DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True
|
||||||
|
DEFINES['GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER'] = True
|
||||||
|
|
||||||
CXXFLAGS += CONFIG['TK_CFLAGS']
|
CXXFLAGS += CONFIG['TK_CFLAGS']
|
||||||
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
|
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
|
||||||
--- a/toolkit/components/downloads/nsDownloadManager.cpp
|
--- a/toolkit/components/downloads/nsDownloadManager.cpp
|
||||||
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
|
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
|
||||||
@@ -46,16 +46,20 @@
|
@@ -51,16 +51,20 @@
|
||||||
#ifdef XP_WIN
|
#ifdef XP_WIN
|
||||||
#include <shlobj.h>
|
#include <shlobj.h>
|
||||||
#include "nsWindowsHelpers.h"
|
#include "nsWindowsHelpers.h"
|
||||||
@ -225,7 +231,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
|
|||||||
#include "AndroidBridge.h"
|
#include "AndroidBridge.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -2716,16 +2720,25 @@ nsDownload::SetState(DownloadState aStat
|
@@ -2719,16 +2723,25 @@ nsDownload::SetState(DownloadState aStat
|
||||||
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
|
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
|
||||||
|
|
||||||
// Master pref to control this function.
|
// Master pref to control this function.
|
||||||
@ -251,7 +257,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
|
|||||||
int64_t goat = PR_Now() - mStartTime;
|
int64_t goat = PR_Now() - mStartTime;
|
||||||
showTaskbarAlert = goat > alertIntervalUSec;
|
showTaskbarAlert = goat > alertIntervalUSec;
|
||||||
|
|
||||||
@@ -2756,16 +2769,17 @@ nsDownload::SetState(DownloadState aStat
|
@@ -2759,16 +2772,17 @@ nsDownload::SetState(DownloadState aStat
|
||||||
NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
|
NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
|
||||||
message, !removeWhenDone,
|
message, !removeWhenDone,
|
||||||
mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
|
mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
|
||||||
@ -272,8 +278,8 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
|
|||||||
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
|
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
|
||||||
--- a/toolkit/content/jar.mn
|
--- a/toolkit/content/jar.mn
|
||||||
+++ b/toolkit/content/jar.mn
|
+++ b/toolkit/content/jar.mn
|
||||||
@@ -57,29 +57,33 @@ toolkit.jar:
|
@@ -64,29 +64,33 @@ toolkit.jar:
|
||||||
content/global/viewZoomOverlay.js (viewZoomOverlay.js)
|
content/global/viewZoomOverlay.js
|
||||||
*+ content/global/bindings/autocomplete.xml (widgets/autocomplete.xml)
|
*+ content/global/bindings/autocomplete.xml (widgets/autocomplete.xml)
|
||||||
content/global/bindings/browser.xml (widgets/browser.xml)
|
content/global/bindings/browser.xml (widgets/browser.xml)
|
||||||
content/global/bindings/button.xml (widgets/button.xml)
|
content/global/bindings/button.xml (widgets/button.xml)
|
||||||
@ -310,7 +316,7 @@ diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/di
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/toolkit/content/widgets/dialog-kde.xml
|
+++ b/toolkit/content/widgets/dialog-kde.xml
|
||||||
@@ -0,0 +1,455 @@
|
@@ -0,0 +1,460 @@
|
||||||
+<?xml version="1.0"?>
|
+<?xml version="1.0"?>
|
||||||
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
+<!-- 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
|
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@ -344,7 +350,7 @@ new file mode 100644
|
|||||||
+ <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
|
+ <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
|
||||||
+#elif XP_UNIX
|
+#elif XP_UNIX
|
||||||
+ >
|
+ >
|
||||||
+ <xul:button dlgtype="help" class="dialog-button" hidden="true"/>
|
+ <xul:button dlgtype="help" class="dialog-button" hidden="true"/>
|
||||||
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
|
||||||
+ <xul:spacer anonid="spacer" flex="1"/>
|
+ <xul:spacer anonid="spacer" flex="1"/>
|
||||||
+ <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
|
+ <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
|
||||||
@ -426,11 +432,16 @@ new file mode 100644
|
|||||||
+ sizeToContent();
|
+ sizeToContent();
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ var xOffset = (opener.outerWidth - window.outerWidth) / 2;
|
+ if (opener) {
|
||||||
+ var yOffset = opener.outerHeight / 5;
|
+ var xOffset = (opener.outerWidth - window.outerWidth) / 2;
|
||||||
|
+ var yOffset = opener.outerHeight / 5;
|
||||||
+
|
+
|
||||||
+ var newX = opener.screenX + xOffset;
|
+ var newX = opener.screenX + xOffset;
|
||||||
+ var newY = opener.screenY + yOffset;
|
+ var newY = opener.screenY + yOffset;
|
||||||
|
+ } else {
|
||||||
|
+ newX = (screen.availWidth - window.outerWidth) / 2;
|
||||||
|
+ newY = (screen.availHeight - window.outerHeight) / 2;
|
||||||
|
+ }
|
||||||
+
|
+
|
||||||
+ // ensure the window is fully onscreen (if smaller than the screen)
|
+ // ensure the window is fully onscreen (if smaller than the screen)
|
||||||
+ if (newX < screen.availLeft)
|
+ if (newX < screen.availLeft)
|
||||||
@ -770,7 +781,7 @@ diff --git a/toolkit/content/widgets/preferences-kde.xml b/toolkit/content/widge
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/toolkit/content/widgets/preferences-kde.xml
|
+++ b/toolkit/content/widgets/preferences-kde.xml
|
||||||
@@ -0,0 +1,1350 @@
|
@@ -0,0 +1,1403 @@
|
||||||
+<?xml version="1.0"?>
|
+<?xml version="1.0"?>
|
||||||
+
|
+
|
||||||
+<!DOCTYPE bindings [
|
+<!DOCTYPE bindings [
|
||||||
@ -1394,9 +1405,11 @@ new file mode 100644
|
|||||||
+ <constructor>
|
+ <constructor>
|
||||||
+ <![CDATA[
|
+ <![CDATA[
|
||||||
+ if (this.type != "child") {
|
+ if (this.type != "child") {
|
||||||
+ var psvc = Components.classes["@mozilla.org/preferences-service;1"]
|
+ if (!this._instantApplyInitialized) {
|
||||||
+ .getService(Components.interfaces.nsIPrefBranch);
|
+ let psvc = Components.classes["@mozilla.org/preferences-service;1"]
|
||||||
+ this.instantApply = psvc.getBoolPref("browser.preferences.instantApply");
|
+ .getService(Components.interfaces.nsIPrefBranch);
|
||||||
|
+ this.instantApply = psvc.getBoolPref("browser.preferences.instantApply");
|
||||||
|
+ }
|
||||||
+ if (this.instantApply) {
|
+ if (this.instantApply) {
|
||||||
+ var docElt = document.documentElement;
|
+ var docElt = document.documentElement;
|
||||||
+ var acceptButton = docElt.getButton("accept");
|
+ var acceptButton = docElt.getButton("accept");
|
||||||
@ -1466,8 +1479,13 @@ new file mode 100644
|
|||||||
+ ]]>
|
+ ]]>
|
||||||
+ </destructor>
|
+ </destructor>
|
||||||
+
|
+
|
||||||
|
+ <!-- Derived bindings can set this to true to cause us to skip
|
||||||
|
+ reading the browser.preferences.instantApply pref in the constructor.
|
||||||
|
+ Then they can set instantApply to their wished value. -->
|
||||||
|
+ <field name="_instantApplyInitialized">false</field>
|
||||||
|
+ <!-- Controls whether changed pref values take effect immediately. -->
|
||||||
+ <field name="instantApply">false</field>
|
+ <field name="instantApply">false</field>
|
||||||
+
|
+
|
||||||
+ <property name="preferencePanes"
|
+ <property name="preferencePanes"
|
||||||
+ onget="return this.getElementsByTagName('prefpane');"/>
|
+ onget="return this.getElementsByTagName('prefpane');"/>
|
||||||
+
|
+
|
||||||
@ -1949,6 +1967,10 @@ new file mode 100644
|
|||||||
+ <body>
|
+ <body>
|
||||||
+ <![CDATA[
|
+ <![CDATA[
|
||||||
+ // Write all values to preferences.
|
+ // Write all values to preferences.
|
||||||
|
+ if (this._deferredValueUpdateElements.size) {
|
||||||
|
+ this._finalizeDeferredElements();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
+ var preferences = this.preferences;
|
+ var preferences = this.preferences;
|
||||||
+ for (var i = 0; i < preferences.length; ++i) {
|
+ for (var i = 0; i < preferences.length; ++i) {
|
||||||
+ var preference = preferences[i];
|
+ var preference = preferences[i];
|
||||||
@ -2025,15 +2047,57 @@ new file mode 100644
|
|||||||
+ </body>
|
+ </body>
|
||||||
+ </method>
|
+ </method>
|
||||||
+
|
+
|
||||||
|
+ <field name="DeferredTask" readonly="true">
|
||||||
|
+ let targetObj = {};
|
||||||
|
+ Components.utils.import("resource://gre/modules/DeferredTask.jsm", targetObj);
|
||||||
|
+ targetObj.DeferredTask;
|
||||||
|
+ </field>
|
||||||
|
+ <method name="_deferredValueUpdate">
|
||||||
|
+ <parameter name="aElement"/>
|
||||||
|
+ <body>
|
||||||
|
+ <![CDATA[
|
||||||
|
+ delete aElement._deferredValueUpdateTask;
|
||||||
|
+ let preference = document.getElementById(aElement.getAttribute("preference"));
|
||||||
|
+ let prefVal = preference.getElementValue(aElement);
|
||||||
|
+ preference.value = prefVal;
|
||||||
|
+ this._deferredValueUpdateElements.delete(aElement);
|
||||||
|
+ ]]>
|
||||||
|
+ </body>
|
||||||
|
+ </method>
|
||||||
|
+ <field name="_deferredValueUpdateElements">
|
||||||
|
+ new Set();
|
||||||
|
+ </field>
|
||||||
|
+ <method name="_finalizeDeferredElements">
|
||||||
|
+ <body>
|
||||||
|
+ <![CDATA[
|
||||||
|
+ for (let el of this._deferredValueUpdateElements) {
|
||||||
|
+ if (el._deferredValueUpdateTask) {
|
||||||
|
+ el._deferredValueUpdateTask.finalize();
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ ]]>
|
||||||
|
+ </body>
|
||||||
|
+ </method>
|
||||||
+ <method name="userChangedValue">
|
+ <method name="userChangedValue">
|
||||||
+ <parameter name="aElement"/>
|
+ <parameter name="aElement"/>
|
||||||
+ <body>
|
+ <body>
|
||||||
+ <![CDATA[
|
+ <![CDATA[
|
||||||
+ var element = this.getPreferenceElement(aElement);
|
+ let element = this.getPreferenceElement(aElement);
|
||||||
+ if (element.hasAttribute("preference")) {
|
+ if (element.hasAttribute("preference")) {
|
||||||
+ var preference = document.getElementById(element.getAttribute("preference"));
|
+ if (element.getAttribute("delayprefsave") != "true") {
|
||||||
+ var prefVal = preference.getElementValue(element);
|
+ var preference = document.getElementById(element.getAttribute("preference"));
|
||||||
+ preference.value = prefVal;
|
+ var prefVal = preference.getElementValue(element);
|
||||||
|
+ preference.value = prefVal;
|
||||||
|
+ } else {
|
||||||
|
+ if (!element._deferredValueUpdateTask) {
|
||||||
|
+ element._deferredValueUpdateTask = new this.DeferredTask(this._deferredValueUpdate.bind(this, element), 1000);
|
||||||
|
+ this._deferredValueUpdateElements.add(element);
|
||||||
|
+ } else {
|
||||||
|
+ // Each time the preference is changed, restart the delay.
|
||||||
|
+ element._deferredValueUpdateTask.disarm();
|
||||||
|
+ }
|
||||||
|
+ element._deferredValueUpdateTask.arm();
|
||||||
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ ]]>
|
+ ]]>
|
||||||
+ </body>
|
+ </body>
|
||||||
@ -2124,16 +2188,15 @@ new file mode 100644
|
|||||||
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||||
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||||
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||||
@@ -14,16 +14,18 @@
|
@@ -15,16 +15,17 @@
|
||||||
#include "prenv.h"
|
|
||||||
#include "nsPrintfCString.h"
|
#include "nsPrintfCString.h"
|
||||||
|
#include "nsNetCID.h"
|
||||||
#include "nsNetUtil.h"
|
#include "nsNetUtil.h"
|
||||||
#include "nsISupportsPrimitives.h"
|
#include "nsISupportsPrimitives.h"
|
||||||
#include "nsIGSettingsService.h"
|
#include "nsIGSettingsService.h"
|
||||||
#include "nsInterfaceHashtable.h"
|
#include "nsInterfaceHashtable.h"
|
||||||
#include "mozilla/Attributes.h"
|
#include "mozilla/Attributes.h"
|
||||||
#include "nsIURI.h"
|
#include "nsIURI.h"
|
||||||
+#include "nsVoidArray.h"
|
|
||||||
+#include "nsKDEUtils.h"
|
+#include "nsKDEUtils.h"
|
||||||
|
|
||||||
class nsUnixSystemProxySettings final : public nsISystemProxySettings {
|
class nsUnixSystemProxySettings final : public nsISystemProxySettings {
|
||||||
@ -2143,7 +2206,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
|||||||
|
|
||||||
nsUnixSystemProxySettings()
|
nsUnixSystemProxySettings()
|
||||||
: mSchemeProxySettings(4)
|
: mSchemeProxySettings(4)
|
||||||
@@ -38,16 +40,17 @@ private:
|
@@ -39,16 +40,17 @@ private:
|
||||||
nsCOMPtr<nsIGSettingsService> mGSettings;
|
nsCOMPtr<nsIGSettingsService> mGSettings;
|
||||||
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
|
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
|
||||||
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection> mSchemeProxySettings;
|
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection> mSchemeProxySettings;
|
||||||
@ -2161,7 +2224,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
|||||||
nsUnixSystemProxySettings::GetMainThreadOnly(bool *aMainThreadOnly)
|
nsUnixSystemProxySettings::GetMainThreadOnly(bool *aMainThreadOnly)
|
||||||
{
|
{
|
||||||
// dbus prevents us from being threadsafe, but this routine should not block anyhow
|
// dbus prevents us from being threadsafe, but this routine should not block anyhow
|
||||||
@@ -504,16 +507,19 @@ nsUnixSystemProxySettings::GetProxyFromG
|
@@ -505,16 +507,19 @@ nsUnixSystemProxySettings::GetProxyFromG
|
||||||
|
|
||||||
nsresult
|
nsresult
|
||||||
nsUnixSystemProxySettings::GetProxyForURI(const nsACString & aSpec,
|
nsUnixSystemProxySettings::GetProxyForURI(const nsACString & aSpec,
|
||||||
@ -2181,7 +2244,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
|||||||
if (mGConf)
|
if (mGConf)
|
||||||
return GetProxyFromGConf(aScheme, aHost, aPort, aResult);
|
return GetProxyFromGConf(aScheme, aHost, aPort, aResult);
|
||||||
|
|
||||||
@@ -539,8 +545,34 @@ static const mozilla::Module::ContractID
|
@@ -540,8 +545,34 @@ static const mozilla::Module::ContractID
|
||||||
|
|
||||||
static const mozilla::Module kUnixProxyModule = {
|
static const mozilla::Module kUnixProxyModule = {
|
||||||
mozilla::Module::kVersion,
|
mozilla::Module::kVersion,
|
||||||
@ -2219,11 +2282,11 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
|||||||
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
|
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
|
||||||
--- a/toolkit/xre/moz.build
|
--- a/toolkit/xre/moz.build
|
||||||
+++ b/toolkit/xre/moz.build
|
+++ b/toolkit/xre/moz.build
|
||||||
@@ -45,17 +45,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
|
@@ -48,17 +48,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'ui
|
||||||
GENERATED_SOURCES += [
|
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
|
||||||
'moc_nsNativeAppSupportQt.cpp',
|
EXPORTS += ['nsQAppInstance.h']
|
||||||
]
|
|
||||||
SOURCES += [
|
SOURCES += [
|
||||||
|
'!moc_nsNativeAppSupportQt.cpp',
|
||||||
'nsNativeAppSupportQt.cpp',
|
'nsNativeAppSupportQt.cpp',
|
||||||
'nsQAppInstance.cpp',
|
'nsQAppInstance.cpp',
|
||||||
]
|
]
|
||||||
@ -2445,12 +2508,12 @@ new file mode 100644
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
+bool nsKDEUtils::commandBlockUi( const nsTArray<nsCString>& command, const GtkWindow* parent, nsTArray<nsCString>* output )
|
+bool nsKDEUtils::commandBlockUi( const nsTArray<nsCString>& command, GtkWindow* parent, nsTArray<nsCString>* output )
|
||||||
+ {
|
+ {
|
||||||
+ return self()->internalCommand( command, parent, true, output );
|
+ return self()->internalCommand( command, parent, true, output );
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+bool nsKDEUtils::internalCommand( const nsTArray<nsCString>& command, const GtkWindow* parent, bool blockUi,
|
+bool nsKDEUtils::internalCommand( const nsTArray<nsCString>& command, GtkWindow* parent, bool blockUi,
|
||||||
+ nsTArray<nsCString>* output )
|
+ nsTArray<nsCString>* output )
|
||||||
+ {
|
+ {
|
||||||
+ if( !startHelper())
|
+ if( !startHelper())
|
||||||
@ -2466,8 +2529,8 @@ new file mode 100644
|
|||||||
+ {
|
+ {
|
||||||
+ data.loop = g_main_loop_new( NULL, FALSE );
|
+ data.loop = g_main_loop_new( NULL, FALSE );
|
||||||
+ GtkWidget* window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
|
+ GtkWidget* window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
|
||||||
+ if( parent && parent->group )
|
+ if( parent && gtk_window_get_group(parent) )
|
||||||
+ gtk_window_group_add_window( parent->group, GTK_WINDOW( window ));
|
+ gtk_window_group_add_window( gtk_window_get_group(parent), GTK_WINDOW( window ));
|
||||||
+ gtk_widget_realize( window );
|
+ gtk_widget_realize( window );
|
||||||
+ gtk_widget_set_sensitive( window, TRUE );
|
+ gtk_widget_set_sensitive( window, TRUE );
|
||||||
+ gtk_grab_add( window );
|
+ gtk_grab_add( window );
|
||||||
@ -2620,7 +2683,7 @@ new file mode 100644
|
|||||||
+ /* Like command(), but additionally blocks the parent widget like if there was
|
+ /* Like command(), but additionally blocks the parent widget like if there was
|
||||||
+ a modal dialog shown and enters the event loop (i.e. there are still paint updates,
|
+ a modal dialog shown and enters the event loop (i.e. there are still paint updates,
|
||||||
+ this is for commands that take long). */
|
+ this is for commands that take long). */
|
||||||
+ static bool commandBlockUi( const nsTArray<nsCString>& command, const GtkWindow* parent, nsTArray<nsCString>* output = NULL );
|
+ static bool commandBlockUi( const nsTArray<nsCString>& command, GtkWindow* parent, nsTArray<nsCString>* output = NULL );
|
||||||
+
|
+
|
||||||
+ private:
|
+ private:
|
||||||
+ nsKDEUtils();
|
+ nsKDEUtils();
|
||||||
@ -2629,7 +2692,7 @@ new file mode 100644
|
|||||||
+ bool startHelper();
|
+ bool startHelper();
|
||||||
+ void closeHelper();
|
+ void closeHelper();
|
||||||
+ void feedCommand( const nsTArray<nsCString>& command );
|
+ void feedCommand( const nsTArray<nsCString>& command );
|
||||||
+ bool internalCommand( const nsTArray<nsCString>& command, const GtkWindow* parent, bool isParent,
|
+ bool internalCommand( const nsTArray<nsCString>& command, GtkWindow* parent, bool isParent,
|
||||||
+ nsTArray<nsCString>* output );
|
+ nsTArray<nsCString>* output );
|
||||||
+ FILE* commandFile;
|
+ FILE* commandFile;
|
||||||
+ FILE* replyFile;
|
+ FILE* replyFile;
|
||||||
@ -2639,7 +2702,7 @@ new file mode 100644
|
|||||||
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
||||||
--- a/uriloader/exthandler/moz.build
|
--- a/uriloader/exthandler/moz.build
|
||||||
+++ b/uriloader/exthandler/moz.build
|
+++ b/uriloader/exthandler/moz.build
|
||||||
@@ -68,17 +68,19 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
|
@@ -75,17 +75,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'ui
|
||||||
else:
|
else:
|
||||||
# These files can't be built in unified mode because they redefine LOG.
|
# These files can't be built in unified mode because they redefine LOG.
|
||||||
SOURCES += [
|
SOURCES += [
|
||||||
@ -2659,7 +2722,7 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
|||||||
'android/nsExternalSharingAppService.cpp',
|
'android/nsExternalSharingAppService.cpp',
|
||||||
'android/nsExternalURLHandlerService.cpp',
|
'android/nsExternalURLHandlerService.cpp',
|
||||||
'android/nsMIMEInfoAndroid.cpp',
|
'android/nsMIMEInfoAndroid.cpp',
|
||||||
@@ -123,16 +125,17 @@ include('/ipc/chromium/chromium-config.m
|
@@ -129,16 +131,17 @@ include('/ipc/chromium/chromium-config.m
|
||||||
|
|
||||||
FINAL_LIBRARY = 'xul'
|
FINAL_LIBRARY = 'xul'
|
||||||
|
|
||||||
@ -2681,7 +2744,7 @@ diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandl
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/uriloader/exthandler/unix/nsCommonRegistry.cpp
|
+++ b/uriloader/exthandler/unix/nsCommonRegistry.cpp
|
||||||
@@ -0,0 +1,54 @@
|
@@ -0,0 +1,53 @@
|
||||||
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
+/* -*- 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
|
+/* 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
|
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@ -2692,7 +2755,6 @@ new file mode 100644
|
|||||||
+#include "nsGNOMERegistry.h"
|
+#include "nsGNOMERegistry.h"
|
||||||
+#include "nsKDERegistry.h"
|
+#include "nsKDERegistry.h"
|
||||||
+#include "nsString.h"
|
+#include "nsString.h"
|
||||||
+#include "nsVoidArray.h"
|
|
||||||
+#include "nsKDEUtils.h"
|
+#include "nsKDEUtils.h"
|
||||||
+
|
+
|
||||||
+/* static */ bool
|
+/* static */ bool
|
||||||
@ -2851,7 +2913,7 @@ new file mode 100644
|
|||||||
+ if( nsKDEUtils::command( command, &output ) && output.Length() == 3 )
|
+ if( nsKDEUtils::command( command, &output ) && output.Length() == 3 )
|
||||||
+ {
|
+ {
|
||||||
+ nsCString mimetype = output[ 0 ];
|
+ nsCString mimetype = output[ 0 ];
|
||||||
+ nsRefPtr<nsMIMEInfoUnix> mimeInfo = new nsMIMEInfoUnix( mimetype );
|
+ RefPtr<nsMIMEInfoUnix> mimeInfo = new nsMIMEInfoUnix( mimetype );
|
||||||
+ NS_ENSURE_TRUE(mimeInfo, nullptr);
|
+ NS_ENSURE_TRUE(mimeInfo, nullptr);
|
||||||
+ nsCString description = output[ 1 ];
|
+ nsCString description = output[ 1 ];
|
||||||
+ mimeInfo->SetDescription(NS_ConvertUTF8toUTF16(description));
|
+ mimeInfo->SetDescription(NS_ConvertUTF8toUTF16(description));
|
||||||
@ -2954,8 +3016,8 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
|
|||||||
- *_retval = nsGNOMERegistry::HandlerExists(mSchemeOrType.get());
|
- *_retval = nsGNOMERegistry::HandlerExists(mSchemeOrType.get());
|
||||||
+ *_retval = nsCommonRegistry::HandlerExists(mSchemeOrType.get());
|
+ *_retval = nsCommonRegistry::HandlerExists(mSchemeOrType.get());
|
||||||
} else {
|
} else {
|
||||||
- nsRefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromType(mSchemeOrType);
|
- RefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromType(mSchemeOrType);
|
||||||
+ nsRefPtr<nsMIMEInfoBase> mimeInfo = nsCommonRegistry::GetFromType(mSchemeOrType);
|
+ RefPtr<nsMIMEInfoBase> mimeInfo = nsCommonRegistry::GetFromType(mSchemeOrType);
|
||||||
if (!mimeInfo) {
|
if (!mimeInfo) {
|
||||||
nsAutoCString ext;
|
nsAutoCString ext;
|
||||||
nsresult rv = GetPrimaryExtension(ext);
|
nsresult rv = GetPrimaryExtension(ext);
|
||||||
@ -3063,7 +3125,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
|||||||
|
|
||||||
#ifdef MOZ_WIDGET_GTK
|
#ifdef MOZ_WIDGET_GTK
|
||||||
LOG(("Looking in GNOME registry\n"));
|
LOG(("Looking in GNOME registry\n"));
|
||||||
nsRefPtr<nsMIMEInfoBase> gnomeInfo =
|
RefPtr<nsMIMEInfoBase> gnomeInfo =
|
||||||
- nsGNOMERegistry::GetFromExtension(aFileExt);
|
- nsGNOMERegistry::GetFromExtension(aFileExt);
|
||||||
+ nsCommonRegistry::GetFromExtension(aFileExt);
|
+ nsCommonRegistry::GetFromExtension(aFileExt);
|
||||||
if (gnomeInfo) {
|
if (gnomeInfo) {
|
||||||
@ -3083,8 +3145,8 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
|||||||
|
|
||||||
#ifdef MOZ_WIDGET_GTK
|
#ifdef MOZ_WIDGET_GTK
|
||||||
if (handler.IsEmpty()) {
|
if (handler.IsEmpty()) {
|
||||||
- nsRefPtr<nsMIMEInfoBase> gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType);
|
- RefPtr<nsMIMEInfoBase> gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType);
|
||||||
+ nsRefPtr<nsMIMEInfoBase> gnomeInfo = nsCommonRegistry::GetFromType(aMIMEType);
|
+ RefPtr<nsMIMEInfoBase> gnomeInfo = nsCommonRegistry::GetFromType(aMIMEType);
|
||||||
if (gnomeInfo) {
|
if (gnomeInfo) {
|
||||||
LOG(("Got MIMEInfo from GNOME registry without extensions; setting them "
|
LOG(("Got MIMEInfo from GNOME registry without extensions; setting them "
|
||||||
"to %s\n", NS_LossyConvertUTF16toASCII(extensions).get()));
|
"to %s\n", NS_LossyConvertUTF16toASCII(extensions).get()));
|
||||||
@ -3096,7 +3158,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
|||||||
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
||||||
--- a/widget/gtk/moz.build
|
--- a/widget/gtk/moz.build
|
||||||
+++ b/widget/gtk/moz.build
|
+++ b/widget/gtk/moz.build
|
||||||
@@ -79,16 +79,17 @@ else:
|
@@ -86,16 +86,17 @@ else:
|
||||||
include('/ipc/chromium/chromium-config.mozbuild')
|
include('/ipc/chromium/chromium-config.mozbuild')
|
||||||
|
|
||||||
FINAL_LIBRARY = 'xul'
|
FINAL_LIBRARY = 'xul'
|
||||||
@ -3152,7 +3214,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
|||||||
#define MAX_PREVIEW_SOURCE_SIZE 4096
|
#define MAX_PREVIEW_SOURCE_SIZE 4096
|
||||||
|
|
||||||
nsIFile *nsFilePicker::mPrevDisplayDirectory = nullptr;
|
nsIFile *nsFilePicker::mPrevDisplayDirectory = nullptr;
|
||||||
@@ -243,17 +245,19 @@ nsFilePicker::AppendFilters(int32_t aFil
|
@@ -246,17 +248,19 @@ nsFilePicker::AppendFilters(int32_t aFil
|
||||||
return nsBaseFilePicker::AppendFilters(aFilterMask);
|
return nsBaseFilePicker::AppendFilters(aFilterMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3173,7 +3235,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
|||||||
|
|
||||||
mFilters.AppendElement(filter);
|
mFilters.AppendElement(filter);
|
||||||
mFilterNames.AppendElement(name);
|
mFilterNames.AppendElement(name);
|
||||||
@@ -368,16 +372,32 @@ nsFilePicker::Show(int16_t *aReturn)
|
@@ -371,16 +375,32 @@ nsFilePicker::Show(int16_t *aReturn)
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsFilePicker::Open(nsIFilePickerShownCallback *aCallback)
|
nsFilePicker::Open(nsIFilePickerShownCallback *aCallback)
|
||||||
@ -3206,7 +3268,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
|||||||
|
|
||||||
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
|
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
|
||||||
const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE)
|
const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE)
|
||||||
@@ -556,8 +576,235 @@ nsFilePicker::Done(GtkWidget* file_choos
|
@@ -595,8 +615,235 @@ nsFilePicker::Done(GtkWidget* file_choos
|
||||||
if (mCallback) {
|
if (mCallback) {
|
||||||
mCallback->Done(result);
|
mCallback->Done(result);
|
||||||
mCallback = nullptr;
|
mCallback = nullptr;
|
||||||
@ -3445,8 +3507,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
|||||||
diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
|
diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
|
||||||
--- a/widget/gtk/nsFilePicker.h
|
--- a/widget/gtk/nsFilePicker.h
|
||||||
+++ b/widget/gtk/nsFilePicker.h
|
+++ b/widget/gtk/nsFilePicker.h
|
||||||
@@ -68,11 +68,17 @@ protected:
|
@@ -69,14 +69,20 @@ protected:
|
||||||
nsString mDefault;
|
|
||||||
nsString mDefaultExtension;
|
nsString mDefaultExtension;
|
||||||
|
|
||||||
nsTArray<nsCString> mFilters;
|
nsTArray<nsCString> mFilters;
|
||||||
@ -3454,19 +3515,23 @@ diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
static nsIFile *mPrevDisplayDirectory;
|
static nsIFile *mPrevDisplayDirectory;
|
||||||
+
|
|
||||||
+ bool kdeRunning();
|
+ bool kdeRunning();
|
||||||
+ bool getKdeRunning();
|
+ bool getKdeRunning();
|
||||||
+ NS_IMETHODIMP kdeFileDialog(PRInt16 *aReturn);
|
+ NS_IMETHODIMP kdeFileDialog(PRInt16 *aReturn);
|
||||||
+ NS_IMETHODIMP kdeAppsDialog(PRInt16 *aReturn);
|
+ NS_IMETHODIMP kdeAppsDialog(PRInt16 *aReturn);
|
||||||
+ nsCString kdeMakeFilter( int index );
|
+ nsCString kdeMakeFilter( int index );
|
||||||
|
+
|
||||||
|
#if (MOZ_WIDGET_GTK == 3)
|
||||||
|
GtkFileChooserWidget *mFileChooserDelegate;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
|
diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
|
||||||
--- a/xpcom/components/ManifestParser.cpp
|
--- a/xpcom/components/ManifestParser.cpp
|
||||||
+++ b/xpcom/components/ManifestParser.cpp
|
+++ b/xpcom/components/ManifestParser.cpp
|
||||||
@@ -34,16 +34,17 @@
|
@@ -35,16 +35,17 @@
|
||||||
|
|
||||||
#include "nsIConsoleService.h"
|
#include "nsIConsoleService.h"
|
||||||
#include "nsIScriptError.h"
|
#include "nsIScriptError.h"
|
||||||
@ -3484,7 +3549,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
#define XPTONLY_MANIFEST nullptr
|
#define XPTONLY_MANIFEST nullptr
|
||||||
#define XPTONLY_XPT nullptr
|
#define XPTONLY_XPT nullptr
|
||||||
#endif
|
#endif
|
||||||
@@ -489,16 +490,17 @@ ParseManifest(NSLocationType aType, File
|
@@ -494,16 +495,17 @@ ParseManifest(NSLocationType aType, File
|
||||||
NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
|
NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
|
||||||
NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
|
NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
|
||||||
NS_NAMED_LITERAL_STRING(kApplication, "application");
|
NS_NAMED_LITERAL_STRING(kApplication, "application");
|
||||||
@ -3502,7 +3567,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
NS_NAMED_LITERAL_STRING(kMain, "main");
|
NS_NAMED_LITERAL_STRING(kMain, "main");
|
||||||
NS_NAMED_LITERAL_STRING(kContent, "content");
|
NS_NAMED_LITERAL_STRING(kContent, "content");
|
||||||
|
|
||||||
@@ -549,44 +551,49 @@ ParseManifest(NSLocationType aType, File
|
@@ -554,44 +556,49 @@ ParseManifest(NSLocationType aType, File
|
||||||
CopyUTF8toUTF16(s, abi);
|
CopyUTF8toUTF16(s, abi);
|
||||||
abi.Insert(char16_t('_'), 0);
|
abi.Insert(char16_t('_'), 0);
|
||||||
abi.Insert(osTarget, 0);
|
abi.Insert(osTarget, 0);
|
||||||
@ -3526,7 +3591,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
#elif defined(MOZ_WIDGET_COCOA)
|
#elif defined(MOZ_WIDGET_COCOA)
|
||||||
SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor();
|
SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor();
|
||||||
SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor();
|
SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor();
|
||||||
nsTextFormatter::ssprintf(osVersion, NS_LITERAL_STRING("%ld.%ld").get(),
|
nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"),
|
||||||
majorVersion,
|
majorVersion,
|
||||||
minorVersion);
|
minorVersion);
|
||||||
+ desktop = NS_LITERAL_STRING("macosx");
|
+ desktop = NS_LITERAL_STRING("macosx");
|
||||||
@ -3546,13 +3611,13 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
+ desktop = NS_LITERAL_STRING("android");
|
+ desktop = NS_LITERAL_STRING("android");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (XRE_GetProcessType() == GeckoProcessType_Content) {
|
if (XRE_IsContentProcess()) {
|
||||||
process = kContent;
|
process = kContent;
|
||||||
} else {
|
} else {
|
||||||
process = kMain;
|
process = kMain;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -681,25 +688,27 @@ ParseManifest(NSLocationType aType, File
|
@@ -694,25 +701,27 @@ ParseManifest(NSLocationType aType, File
|
||||||
TriState stOsVersion = eUnspecified;
|
TriState stOsVersion = eUnspecified;
|
||||||
TriState stOs = eUnspecified;
|
TriState stOs = eUnspecified;
|
||||||
TriState stABI = eUnspecified;
|
TriState stABI = eUnspecified;
|
||||||
@ -3580,7 +3645,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MOZ_WIDGET_ANDROID)
|
#if defined(MOZ_WIDGET_ANDROID)
|
||||||
@@ -749,16 +758,17 @@ ParseManifest(NSLocationType aType, File
|
@@ -762,16 +771,17 @@ ParseManifest(NSLocationType aType, File
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ok ||
|
if (!ok ||
|
||||||
@ -3601,9 +3666,9 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
|
diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
|
||||||
--- a/xpcom/components/moz.build
|
--- a/xpcom/components/moz.build
|
||||||
+++ b/xpcom/components/moz.build
|
+++ b/xpcom/components/moz.build
|
||||||
@@ -48,12 +48,13 @@ FINAL_LIBRARY = 'xul'
|
@@ -47,12 +47,13 @@ FINAL_LIBRARY = 'xul'
|
||||||
GENERATED_INCLUDES += ['..']
|
|
||||||
LOCAL_INCLUDES += [
|
LOCAL_INCLUDES += [
|
||||||
|
'!..',
|
||||||
'../base',
|
'../base',
|
||||||
'../build',
|
'../build',
|
||||||
'../ds',
|
'../ds',
|
||||||
@ -3618,7 +3683,7 @@ diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
|
|||||||
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||||
--- a/xpcom/io/nsLocalFileUnix.cpp
|
--- a/xpcom/io/nsLocalFileUnix.cpp
|
||||||
+++ b/xpcom/io/nsLocalFileUnix.cpp
|
+++ b/xpcom/io/nsLocalFileUnix.cpp
|
||||||
@@ -44,16 +44,17 @@
|
@@ -47,16 +47,17 @@
|
||||||
#include "prproces.h"
|
#include "prproces.h"
|
||||||
#include "nsIDirectoryEnumerator.h"
|
#include "nsIDirectoryEnumerator.h"
|
||||||
#include "nsISimpleEnumerator.h"
|
#include "nsISimpleEnumerator.h"
|
||||||
@ -3636,7 +3701,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
#include "prmem.h"
|
#include "prmem.h"
|
||||||
#include "plbase64.h"
|
#include "plbase64.h"
|
||||||
|
|
||||||
@@ -1964,42 +1965,52 @@ nsLocalFile::SetPersistentDescriptor(con
|
@@ -1963,42 +1964,52 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||||
return InitWithNativePath(aPersistentDescriptor);
|
return InitWithNativePath(aPersistentDescriptor);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -3695,7 +3760,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
@@ -2007,16 +2018,22 @@ nsLocalFile::Reveal()
|
@@ -2006,16 +2017,22 @@ nsLocalFile::Reveal()
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
# Parent 5a29924228527f8882c83cf62d470963ea1ce62e
|
# Parent 5a29924228527f8882c83cf62d470963ea1ce62e
|
||||||
|
# Parent 55b6ae7fd3ebf28f960031801f1948dfc1bd80d2
|
||||||
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
|
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
|
||||||
|
|
||||||
diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp
|
diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp
|
||||||
--- a/intl/locale/nsLocaleService.cpp
|
--- a/intl/locale/nsLocaleService.cpp
|
||||||
+++ b/intl/locale/nsLocaleService.cpp
|
+++ b/intl/locale/nsLocaleService.cpp
|
||||||
@@ -122,16 +122,17 @@ nsLocaleService::nsLocaleService(void)
|
@@ -122,16 +122,17 @@ nsLocaleService::nsLocaleService(void)
|
||||||
nsRefPtr<nsLocale> resultLocale(new nsLocale());
|
RefPtr<nsLocale> resultLocale(new nsLocale());
|
||||||
NS_ENSURE_TRUE_VOID(resultLocale);
|
NS_ENSURE_TRUE_VOID(resultLocale);
|
||||||
|
|
||||||
#ifdef MOZ_WIDGET_QT
|
#ifdef MOZ_WIDGET_QT
|
||||||
@ -24,7 +25,7 @@ diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp
|
|||||||
|
|
||||||
for( i = 0; i < LocaleListLength; i++ ) {
|
for( i = 0; i < LocaleListLength; i++ ) {
|
||||||
nsresult result;
|
nsresult result;
|
||||||
@@ -150,16 +151,21 @@ nsLocaleService::nsLocaleService(void)
|
@@ -158,16 +159,21 @@ nsLocaleService::nsLocaleService(void)
|
||||||
} else {
|
} else {
|
||||||
CopyASCIItoUTF16(lang, platformLocale);
|
CopyASCIItoUTF16(lang, platformLocale);
|
||||||
result = nsPosixLocale::GetXPLocale(lang, xpLocale);
|
result = nsPosixLocale::GetXPLocale(lang, xpLocale);
|
||||||
|
25
mozilla-no-stdcxx-check.patch
Normal file
25
mozilla-no-stdcxx-check.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
|
# Parent e96e9b3997ea31024687aaa1e9aa5ccf78bc0ee9
|
||||||
|
|
||||||
|
diff --git a/config/config.mk b/config/config.mk
|
||||||
|
--- a/config/config.mk
|
||||||
|
+++ b/config/config.mk
|
||||||
|
@@ -653,17 +653,16 @@ ifeq ($(MOZ_WIDGET_TOOLKIT),android)
|
||||||
|
# of the linker command line), if libmozglue.so ends up after libc.so, all
|
||||||
|
# hell breaks loose, so better safe than sorry, and check it's actually the
|
||||||
|
# case.
|
||||||
|
CHECK_MOZGLUE_ORDER = @$(TOOLCHAIN_PREFIX)readelf -d $(1) | grep NEEDED | awk '{ libs[$$NF] = ++n } END { if (libs["[libmozglue.so]"] && libs["[libc.so]"] < libs["[libmozglue.so]"]) { print "libmozglue.so must be linked before libc.so"; exit 1 } }'
|
||||||
|
endif
|
||||||
|
|
||||||
|
define CHECK_BINARY
|
||||||
|
$(call CHECK_GLIBC,$(1))
|
||||||
|
-$(call CHECK_STDCXX,$(1))
|
||||||
|
$(call CHECK_TEXTREL,$(1))
|
||||||
|
$(call LOCAL_CHECKS,$(1))
|
||||||
|
$(call CHECK_MOZGLUE_ORDER,$(1))
|
||||||
|
endef
|
||||||
|
|
||||||
|
# autoconf.mk sets OBJ_SUFFIX to an error to avoid use before including
|
||||||
|
# this file
|
||||||
|
OBJ_SUFFIX := $(_OBJ_SUFFIX)
|
@ -1,21 +1,21 @@
|
|||||||
diff --git a/mail/installer/package-manifest.in b/mail/installer/package-manifest.in
|
diff --git a/mail/installer/package-manifest.in b/mail/installer/package-manifest.in
|
||||||
--- a/mail/installer/package-manifest.in
|
--- a/mail/installer/package-manifest.in
|
||||||
+++ b/mail/installer/package-manifest.in
|
+++ b/mail/installer/package-manifest.in
|
||||||
@@ -358,16 +358,17 @@
|
@@ -329,16 +329,17 @@
|
||||||
#ifdef XP_WIN32
|
@RESPATH@/components/mozldap.xpt
|
||||||
@BINPATH@/nsldap32v60@DLL_SUFFIX@
|
@RESPATH@/components/nsAbLDAPAttributeMap.js
|
||||||
@BINPATH@/nsldappr32v60@DLL_SUFFIX@
|
@RESPATH@/components/nsAbLDAPAutoCompleteSearch.js
|
||||||
@BINPATH@/nsldif32v60@DLL_SUFFIX@
|
@RESPATH@/components/nsLDAPProtocolHandler.js
|
||||||
#else
|
@RESPATH@/components/ldapComponents.manifest
|
||||||
@BINPATH@/@DLL_PREFIX@ldap60@DLL_SUFFIX@
|
@BINPATH@/@DLL_PREFIX@ldap60@DLL_SUFFIX@
|
||||||
@BINPATH@/@DLL_PREFIX@ldif60@DLL_SUFFIX@
|
@BINPATH@/@DLL_PREFIX@ldif60@DLL_SUFFIX@
|
||||||
@BINPATH@/@DLL_PREFIX@prldap60@DLL_SUFFIX@
|
@BINPATH@/@DLL_PREFIX@prldap60@DLL_SUFFIX@
|
||||||
+@BINPATH@/@DLL_PREFIX@ssldap60@DLL_SUFFIX@
|
+@BINPATH@/@DLL_PREFIX@ssldap60@DLL_SUFFIX@
|
||||||
#endif
|
|
||||||
|
|
||||||
; login manager
|
; download progress for jsdownloads
|
||||||
@RESPATH@/components/loginmgr.xpt
|
@RESPATH@/components/DownloadsStartup.js
|
||||||
@RESPATH@/components/nsLoginInfo.js
|
|
||||||
@RESPATH@/components/nsLoginManager.js
|
; Protocol/Content handling
|
||||||
@RESPATH@/components/nsLoginManagerPrompter.js
|
@RESPATH@/components/nsSMTPProtocolHandler.js
|
||||||
@RESPATH@/components/passwordmgr.manifest
|
@RESPATH@/components/nsSMTPProtocolHandler.manifest
|
||||||
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:5b6c0d3830272e87b1e576622811aae6d13a051f7377ba4865c8528aefe9cbde
|
|
||||||
size 174871280
|
|
3
thunderbird-45.0-source.tar.xz
Normal file
3
thunderbird-45.0-source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6ef27dfdcdf17b63a8617a1700ba8a6bb667d78939ce2cb960d649c93a5fa814
|
||||||
|
size 211293500
|
Loading…
Reference in New Issue
Block a user