forked from pool/MozillaThunderbird
- update to Thunderbird 11.0 (bnc#750044)
* MFSA 2012-13/CVE-2012-0455 (bmo#704354) XSS with Drag and Drop and Javascript: URL * MFSA 2012-14/CVE-2012-0456/CVE-2012-0457 (bmo#711653, #720103) SVG issues found with Address Sanitizer * MFSA 2012-15/CVE-2012-0451 (bmo#717511) XSS with multiple Content Security Policy headers * MFSA 2012-16/CVE-2012-0458 Escalation of privilege with Javascript: URL as home page * MFSA 2012-17/CVE-2012-0459 (bmo#723446) Crash when accessing keyframe cssText after dynamic modification * MFSA 2012-18/CVE-2012-0460 (bmo#727303) window.fullScreen writeable by untrusted content * MFSA 2012-19/CVE-2012-0461/CVE-2012-0462/CVE-2012-0464/ CVE-2012-0463 Miscellaneous memory safety hazards - update enigmail to 1.4 - added KDE integration patches (bnc#749440) - update enigmail to 1.3.99 (1.4a1pre) OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=162
This commit is contained in:
parent
a00d12f930
commit
2f435219ac
@ -1,3 +1,30 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 9 20:42:21 UTC 2012 - wr@rosenauer.org
|
||||||
|
|
||||||
|
- update to Thunderbird 11.0 (bnc#750044)
|
||||||
|
* MFSA 2012-13/CVE-2012-0455 (bmo#704354)
|
||||||
|
XSS with Drag and Drop and Javascript: URL
|
||||||
|
* MFSA 2012-14/CVE-2012-0456/CVE-2012-0457 (bmo#711653, #720103)
|
||||||
|
SVG issues found with Address Sanitizer
|
||||||
|
* MFSA 2012-15/CVE-2012-0451 (bmo#717511)
|
||||||
|
XSS with multiple Content Security Policy headers
|
||||||
|
* MFSA 2012-16/CVE-2012-0458
|
||||||
|
Escalation of privilege with Javascript: URL as home page
|
||||||
|
* MFSA 2012-17/CVE-2012-0459 (bmo#723446)
|
||||||
|
Crash when accessing keyframe cssText after dynamic modification
|
||||||
|
* MFSA 2012-18/CVE-2012-0460 (bmo#727303)
|
||||||
|
window.fullScreen writeable by untrusted content
|
||||||
|
* MFSA 2012-19/CVE-2012-0461/CVE-2012-0462/CVE-2012-0464/
|
||||||
|
CVE-2012-0463
|
||||||
|
Miscellaneous memory safety hazards
|
||||||
|
- update enigmail to 1.4
|
||||||
|
- added KDE integration patches (bnc#749440)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 27 17:15:05 CET 2012 - jslaby@suse.de
|
||||||
|
|
||||||
|
- update enigmail to 1.3.99 (1.4a1pre)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Feb 16 10:54:42 UTC 2012 - wr@rosenauer.org
|
Thu Feb 16 10:54:42 UTC 2012 - wr@rosenauer.org
|
||||||
|
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%define with_kde 1
|
||||||
|
|
||||||
Name: MozillaThunderbird
|
Name: MozillaThunderbird
|
||||||
BuildRequires: Mesa-devel
|
BuildRequires: Mesa-devel
|
||||||
BuildRequires: autoconf213
|
BuildRequires: autoconf213
|
||||||
@ -28,50 +30,56 @@ 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.8.9
|
BuildRequires: mozilla-nspr-devel >= 4.9.0
|
||||||
BuildRequires: mozilla-nss-devel >= 3.13.1
|
BuildRequires: mozilla-nss-devel >= 3.13.3
|
||||||
BuildRequires: nss-shared-helper-devel
|
BuildRequires: nss-shared-helper-devel
|
||||||
BuildRequires: python
|
BuildRequires: python
|
||||||
BuildRequires: startup-notification-devel
|
BuildRequires: startup-notification-devel
|
||||||
BuildRequires: unzip
|
BuildRequires: unzip
|
||||||
BuildRequires: update-desktop-files
|
BuildRequires: update-desktop-files
|
||||||
|
BuildRequires: xorg-x11-libXt-devel
|
||||||
BuildRequires: yasm
|
BuildRequires: yasm
|
||||||
BuildRequires: zip
|
BuildRequires: zip
|
||||||
%define mainversion 10.0.2
|
%define mainversion 11.0
|
||||||
Version: %{mainversion}
|
Version: %{mainversion}
|
||||||
Release: 0
|
Release: 0
|
||||||
%define releasedate 2012021500
|
%define releasedate 2012031200
|
||||||
Provides: thunderbird = %{version}
|
Provides: thunderbird = %{version}
|
||||||
|
%if %{with_kde}
|
||||||
|
# this is needed to match this package with the kde4 helper package without the main package
|
||||||
|
# having a hard requirement on the kde4 package
|
||||||
|
%define kde_helper_version 6
|
||||||
|
Provides: mozilla-kde4-version = %{kde_helper_version}
|
||||||
|
%endif
|
||||||
Summary: The Stand-Alone Mozilla Mail Component
|
Summary: The Stand-Alone Mozilla Mail Component
|
||||||
License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
|
License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
|
||||||
Group: Productivity/Networking/Email/Clients
|
Group: Productivity/Networking/Email/Clients
|
||||||
Url: http://www.mozilla.org/products/thunderbird/
|
Url: http://www.mozilla.org/products/thunderbird/
|
||||||
Source: thunderbird-%{version}-source.tar.bz2
|
Source: thunderbird-%{version}-source.tar.bz2
|
||||||
Source1: MozillaThunderbird.desktop
|
Source1: thunderbird.desktop
|
||||||
Source2: add-plugins.sh.in
|
Source2: add-plugins.sh.in
|
||||||
Source3: mozilla.sh.in
|
Source3: mozilla.sh.in
|
||||||
Source4: l10n-%{version}.tar.bz2
|
Source4: l10n-%{version}.tar.bz2
|
||||||
#Source5: shipped-locales
|
#Source5: shipped-locales
|
||||||
Source6: suse-default-prefs.js
|
Source6: suse-default-prefs.js
|
||||||
Source7: find-external-requires.sh
|
Source7: find-external-requires.sh
|
||||||
Source8: MozillaThunderbird-rpmlintrc
|
Source8: thunderbird-rpmlintrc
|
||||||
Source9: enigmail-1.3.5.tar.gz
|
Source9: enigmail-1.4.tar.gz
|
||||||
Source10: create-tar.sh
|
Source10: create-tar.sh
|
||||||
Source11: compare-locales.tar.bz2
|
Source11: compare-locales.tar.bz2
|
||||||
|
Source12: kde.js
|
||||||
# Gecko/Toolkit
|
# Gecko/Toolkit
|
||||||
Patch1: mozilla-shared-nss-db.patch
|
Patch1: mozilla-shared-nss-db.patch
|
||||||
Patch2: mozilla-language.patch
|
Patch2: mozilla-language.patch
|
||||||
Patch3: mozilla-linux3.patch
|
Patch3: mozilla-linux3.patch
|
||||||
Patch4: mozilla-dump_syms-static.patch
|
Patch4: mozilla-dump_syms-static.patch
|
||||||
Patch5: mozilla-disable-neon-option.patch
|
Patch5: mozilla-disable-neon-option.patch
|
||||||
Patch6: mozilla-a11y.patch
|
Patch6: mozilla-nongnome-proxies.patch
|
||||||
Patch7: mozilla-bmo703534.patch
|
Patch7: mozilla-kde.patch
|
||||||
Patch8: mozilla-yarr-pcre.patch
|
|
||||||
# Thunderbird/mail
|
# Thunderbird/mail
|
||||||
Patch10: tb-ssldap.patch
|
Patch10: tb-ssldap.patch
|
||||||
Patch11: tb-develdirs.patch
|
Patch11: tb-develdirs.patch
|
||||||
Patch12: thunderbird-shared-nss-db.patch
|
Patch12: thunderbird-shared-nss-db.patch
|
||||||
Patch13: tb-no-update-channel.patch
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
PreReq: coreutils fileutils textutils /bin/sh
|
PreReq: coreutils fileutils textutils /bin/sh
|
||||||
### build options
|
### build options
|
||||||
@ -90,6 +98,7 @@ PreReq: coreutils fileutils textutils /bin/sh
|
|||||||
%global __find_provides %provfind
|
%global __find_provides %provfind
|
||||||
Requires: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr)
|
Requires: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr)
|
||||||
Requires: mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss)
|
Requires: mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss)
|
||||||
|
Conflicts: thunderbird-esr
|
||||||
%define progname thunderbird
|
%define progname thunderbird
|
||||||
%define progdir %{_prefix}/%_lib/thunderbird
|
%define progdir %{_prefix}/%_lib/thunderbird
|
||||||
%define libgssapi libgssapi_krb5.so.2
|
%define libgssapi libgssapi_krb5.so.2
|
||||||
@ -124,7 +133,7 @@ of MozillaThunderbird.
|
|||||||
Summary: Extra translations for MozillaThunderbird
|
Summary: Extra translations for MozillaThunderbird
|
||||||
License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
|
License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
|
||||||
Group: System/Localization
|
Group: System/Localization
|
||||||
Provides: locale(%{name}:be;bn_BD;br;el;et;eu;fy_NL;ga_IE;gd;gl;he;id;is;lt;nn_NO;rm;si;sk;sl;sq;ta_LK;tr;uk;vi)
|
Provides: locale(%{name}:ast;be;bg;bn_BD;br;el;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}
|
PreReq: %{name} = %{mainversion}
|
||||||
Obsoletes: %{name}-translations < %{version}-%{release}
|
Obsoletes: %{name}-translations < %{version}-%{release}
|
||||||
|
|
||||||
@ -159,7 +168,7 @@ symbols meant for upload to Mozilla's crash collector database.
|
|||||||
|
|
||||||
%if %build_enigmail
|
%if %build_enigmail
|
||||||
%package -n enigmail
|
%package -n enigmail
|
||||||
Version: 1.3.5+%{mainversion}
|
Version: 1.4.0+%{mainversion}
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: OpenPGP addon for Thunderbird and SeaMonkey
|
Summary: OpenPGP addon for Thunderbird and SeaMonkey
|
||||||
License: MPL-1.1 or GPL-2.0+
|
License: MPL-1.1 or GPL-2.0+
|
||||||
@ -171,6 +180,7 @@ Requires: pinentry-gui
|
|||||||
%else
|
%else
|
||||||
Requires: pinentry-dialog
|
Requires: pinentry-dialog
|
||||||
%endif
|
%endif
|
||||||
|
Conflicts: thunderbird-esr
|
||||||
|
|
||||||
%description -n enigmail
|
%description -n enigmail
|
||||||
This package contains the Enigmail OpenPGP Addon for Thunderbird and SeaMonkey.
|
This package contains the Enigmail OpenPGP Addon for Thunderbird and SeaMonkey.
|
||||||
@ -190,14 +200,14 @@ pushd mozilla
|
|||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch5 -p1
|
%patch5 -p1
|
||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
|
%if %{with_kde}
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
%patch8 -p1
|
%endif
|
||||||
popd
|
popd
|
||||||
# comm-central patches
|
# comm-central patches
|
||||||
%patch10 -p1
|
%patch10 -p1
|
||||||
%patch11 -p1
|
%patch11 -p1
|
||||||
%patch12 -p1
|
%patch12 -p1
|
||||||
%patch13 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# no need to add build time to binaries
|
# no need to add build time to binaries
|
||||||
@ -206,6 +216,13 @@ DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
|
|||||||
TIME="\"$(date -d "${modified}" "+%%R")\""
|
TIME="\"$(date -d "${modified}" "+%%R")\""
|
||||||
find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
|
find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
|
||||||
#
|
#
|
||||||
|
%if %{with_kde}
|
||||||
|
kdehelperversion=$(cat mozilla/toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
|
||||||
|
if test "$kdehelperversion" != %{kde_helper_version}; then
|
||||||
|
echo fix kde helper version in the .spec file
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
%endif
|
||||||
export SUSE_ASNEEDED=0
|
export SUSE_ASNEEDED=0
|
||||||
export MOZ_BUILD_DATE=%{releasedate}
|
export MOZ_BUILD_DATE=%{releasedate}
|
||||||
export MOZILLA_OFFICIAL=1
|
export MOZILLA_OFFICIAL=1
|
||||||
@ -288,6 +305,13 @@ make -C mail/installer STRIP=/bin/true
|
|||||||
mkdir -p $RPM_BUILD_ROOT%{progdir}
|
mkdir -p $RPM_BUILD_ROOT%{progdir}
|
||||||
cp -rf $RPM_BUILD_DIR/obj/mozilla/dist/thunderbird/* \
|
cp -rf $RPM_BUILD_DIR/obj/mozilla/dist/thunderbird/* \
|
||||||
$RPM_BUILD_ROOT%{progdir}
|
$RPM_BUILD_ROOT%{progdir}
|
||||||
|
%if %{with_kde}
|
||||||
|
# install kde.js
|
||||||
|
install -m 644 %{SOURCE12} $RPM_BUILD_ROOT%{progdir}/defaults/pref/kde.js
|
||||||
|
# make sure that instantApply is true by default
|
||||||
|
# (TODO: mozilla-kde.patch needs to be improved to really not load kde.js in non-KDE envs)
|
||||||
|
echo 'pref("browser.preferences.instantApply", true);' > $RPM_BUILD_ROOT%{progdir}/defaults/pref/all-thunderbird.js
|
||||||
|
%endif
|
||||||
# build additional locales
|
# build additional locales
|
||||||
%if %localize
|
%if %localize
|
||||||
%if 0%{?SOURCE5:1}
|
%if 0%{?SOURCE5:1}
|
||||||
@ -297,7 +321,7 @@ rm -f %{_tmppath}/translations.*
|
|||||||
touch %{_tmppath}/translations.{common,other}
|
touch %{_tmppath}/translations.{common,other}
|
||||||
for locale in $(awk '{ print $1; }' ../thunderbird/mail/locales/all-locales); do
|
for locale in $(awk '{ print $1; }' ../thunderbird/mail/locales/all-locales); do
|
||||||
case $locale in
|
case $locale in
|
||||||
ja-JP-mac|en-US) #|ta-LK|tr)
|
ja-JP-mac|en-US|hy-AM)
|
||||||
# locales not to be included in translations package
|
# locales not to be included in translations package
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:5146b9128bef1f4a9fb0fa64ca2df6e0042b8428db561f19ba5fdbc96c69202f
|
oid sha256:6aea105faabd49760a63a704c50ce1b1731308ec7e1848acd4354235ebbc7861
|
||||||
size 25679
|
size 29345
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
CHANNEL="release"
|
CHANNEL="release"
|
||||||
BRANCH="releases/comm-$CHANNEL"
|
BRANCH="releases/comm-$CHANNEL"
|
||||||
RELEASE_TAG="THUNDERBIRD_10_0_2_RELEASE"
|
RELEASE_TAG="THUNDERBIRD_11_0_RELEASE"
|
||||||
VERSION="10.0.2"
|
VERSION="11.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:932a0206e9598eb10056f94622e9c0a64afc93542b43694568df810208a1e3b2
|
|
||||||
size 1348362
|
|
3
enigmail-1.4.tar.gz
Normal file
3
enigmail-1.4.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c63990dad45d6bce3e691f75aa226a203f6fbbc2397415df72b289230e2c982a
|
||||||
|
size 1323467
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:f403e73eea221c77e235741462d28b1eb5782b7d5258552a9be417d8a9402bac
|
|
||||||
size 24781851
|
|
3
l10n-11.0.tar.bz2
Normal file
3
l10n-11.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1ce2b06615e6ce019793883dc062a3853e6fd544ee023d199f78462a55517d42
|
||||||
|
size 25447962
|
@ -1,415 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# User Michael Gorse <mgorse@suse.com>
|
|
||||||
# Parent 2c115988d04c0a0a8cb75b3a597ecdb2c4c001c9
|
|
||||||
a11y only enabled from Gnome 2's GConf setting
|
|
||||||
https://bugzilla.novell.com/show_bug.cgi?id=732898
|
|
||||||
https://bugzilla.mozilla.org/show_bug.cgi?id=693343
|
|
||||||
|
|
||||||
diff --git a/accessible/src/atk/Makefile.in b/accessible/src/atk/Makefile.in
|
|
||||||
--- a/accessible/src/atk/Makefile.in
|
|
||||||
+++ b/accessible/src/atk/Makefile.in
|
|
||||||
@@ -87,15 +87,19 @@ EXPORTS = \
|
|
||||||
# we want to force the creation of a static lib.
|
|
||||||
FORCE_STATIC_LIB = 1
|
|
||||||
|
|
||||||
include $(topsrcdir)/config/rules.mk
|
|
||||||
|
|
||||||
CFLAGS += $(MOZ_GTK2_CFLAGS)
|
|
||||||
CXXFLAGS += $(MOZ_GTK2_CFLAGS)
|
|
||||||
|
|
||||||
+ifdef MOZ_ENABLE_DBUS
|
|
||||||
+CXXFLAGS += $(MOZ_DBUS_CFLAGS)
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
LOCAL_INCLUDES += \
|
|
||||||
-I$(srcdir) \
|
|
||||||
-I$(srcdir)/../base \
|
|
||||||
-I$(srcdir)/../html \
|
|
||||||
-I$(srcdir)/../xul \
|
|
||||||
-I$(topsrcdir)/other-licenses/atk-1.0 \
|
|
||||||
$(NULL)
|
|
||||||
diff --git a/accessible/src/atk/nsApplicationAccessibleWrap.cpp b/accessible/src/atk/nsApplicationAccessibleWrap.cpp
|
|
||||||
--- a/accessible/src/atk/nsApplicationAccessibleWrap.cpp
|
|
||||||
+++ b/accessible/src/atk/nsApplicationAccessibleWrap.cpp
|
|
||||||
@@ -47,29 +47,29 @@
|
|
||||||
#include "nsIPrefBranch.h"
|
|
||||||
#include "nsIServiceManager.h"
|
|
||||||
#include "nsAutoPtr.h"
|
|
||||||
#include "nsAccessibilityService.h"
|
|
||||||
#include "AtkSocketAccessible.h"
|
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
|
||||||
#include <atk/atk.h>
|
|
||||||
+#ifdef MOZ_ENABLE_DBUS
|
|
||||||
+#include <dbus/dbus.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+using namespace mozilla::a11y;
|
|
||||||
|
|
||||||
typedef GType (* AtkGetTypeType) (void);
|
|
||||||
GType g_atk_hyperlink_impl_type = G_TYPE_INVALID;
|
|
||||||
static bool sATKChecked = false;
|
|
||||||
static PRLibrary *sATKLib = nsnull;
|
|
||||||
static const char sATKLibName[] = "libatk-1.0.so.0";
|
|
||||||
static const char sATKHyperlinkImplGetTypeSymbol[] =
|
|
||||||
"atk_hyperlink_impl_get_type";
|
|
||||||
-static const char sAccEnv [] = "GNOME_ACCESSIBILITY";
|
|
||||||
-static const char sSysPrefService [] =
|
|
||||||
- "@mozilla.org/system-preference-service;1";
|
|
||||||
-static const char sAccessibilityKey [] =
|
|
||||||
- "config.use_system_prefs.accessibility";
|
|
||||||
|
|
||||||
/* gail function pointer */
|
|
||||||
static guint (* gail_add_global_event_listener) (GSignalEmissionHook listener,
|
|
||||||
const gchar *event_type);
|
|
||||||
static void (* gail_remove_global_event_listener) (guint remove_listener);
|
|
||||||
static void (* gail_remove_key_event_listener) (guint remove_listener);
|
|
||||||
static AtkObject * (*gail_get_root) (void);
|
|
||||||
|
|
||||||
@@ -609,36 +609,17 @@ toplevel_event_watcher(GSignalInvocation
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
|
||||||
nsApplicationAccessibleWrap::Init()
|
|
||||||
{
|
|
||||||
- // XXX following code is copied from widget/src/gtk2/nsWindow.cpp
|
|
||||||
- // we should put it to somewhere that can be used from both modules
|
|
||||||
- // see bug 390761
|
|
||||||
-
|
|
||||||
- // check if accessibility enabled/disabled by environment variable
|
|
||||||
- bool isGnomeATEnabled = false;
|
|
||||||
- const char *envValue = PR_GetEnv(sAccEnv);
|
|
||||||
- if (envValue) {
|
|
||||||
- isGnomeATEnabled = !!atoi(envValue);
|
|
||||||
- } else {
|
|
||||||
- //check gconf-2 setting
|
|
||||||
- nsresult rv;
|
|
||||||
- nsCOMPtr<nsIPrefBranch> sysPrefService =
|
|
||||||
- do_GetService(sSysPrefService, &rv);
|
|
||||||
- if (NS_SUCCEEDED(rv) && sysPrefService) {
|
|
||||||
- sysPrefService->GetBoolPref(sAccessibilityKey, &isGnomeATEnabled);
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (isGnomeATEnabled) {
|
|
||||||
+ if (ShouldA11yBeEnabled()) {
|
|
||||||
// load and initialize gail library
|
|
||||||
nsresult rv = LoadGtkModule(sGail);
|
|
||||||
if (NS_SUCCEEDED(rv)) {
|
|
||||||
(*sGail.init)();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
MAI_LOG_DEBUG(("Fail to load lib: %s\n", sGail.libName));
|
|
||||||
}
|
|
||||||
@@ -877,8 +858,129 @@ LoadGtkModule(GnomeAccessibilityModule&
|
|
||||||
aModule.init ? aModule.shutdownName : aModule.initName,
|
|
||||||
aModule.libName));
|
|
||||||
PR_UnloadLibrary(aModule.lib);
|
|
||||||
aModule.lib = NULL;
|
|
||||||
return NS_ERROR_FAILURE;
|
|
||||||
}
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+namespace mozilla {
|
|
||||||
+namespace a11y {
|
|
||||||
+
|
|
||||||
+#ifdef MOZ_ENABLE_DBUS
|
|
||||||
+ static DBusPendingCall *a11yPendingCall = NULL;
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+void
|
|
||||||
+PreInit()
|
|
||||||
+{
|
|
||||||
+ static bool sChecked = false;
|
|
||||||
+ if (sChecked)
|
|
||||||
+ return;
|
|
||||||
+ sChecked = true;
|
|
||||||
+ DBusError error;
|
|
||||||
+ dbus_error_init(&error);
|
|
||||||
+ DBusConnection* bus = dbus_bus_get(DBUS_BUS_SESSION, &error);
|
|
||||||
+ if (!bus)
|
|
||||||
+ return;
|
|
||||||
+ dbus_connection_set_exit_on_disconnect(bus, false);
|
|
||||||
+
|
|
||||||
+ DBusMessage *message;
|
|
||||||
+ message = dbus_message_new_method_call("org.a11y.Bus", "/org/a11y/bus",
|
|
||||||
+ "org.freedesktop.DBus.Properties",
|
|
||||||
+ "Get");
|
|
||||||
+ if (!message)
|
|
||||||
+ goto dbus_done;
|
|
||||||
+
|
|
||||||
+ static const char* iface = "org.a11y.Status";
|
|
||||||
+ static const char* member = "IsEnabled";
|
|
||||||
+ dbus_message_append_args(message, DBUS_TYPE_STRING, &iface,
|
|
||||||
+ DBUS_TYPE_STRING, &member, DBUS_TYPE_INVALID);
|
|
||||||
+ dbus_connection_send_with_reply(bus, message, &a11yPendingCall, 1000);
|
|
||||||
+
|
|
||||||
+dbus_done:
|
|
||||||
+ if (message)
|
|
||||||
+ dbus_message_unref(message);
|
|
||||||
+ if (bus)
|
|
||||||
+ dbus_connection_unref(bus);
|
|
||||||
+ dbus_error_free(&error);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+bool
|
|
||||||
+ShouldA11yBeEnabled()
|
|
||||||
+{
|
|
||||||
+ static bool sChecked = false, sShouldEnable = false;
|
|
||||||
+ if (sChecked)
|
|
||||||
+ return sShouldEnable;
|
|
||||||
+
|
|
||||||
+ sChecked = true;
|
|
||||||
+
|
|
||||||
+ // check if accessibility enabled/disabled by environment variable
|
|
||||||
+ static const char sAccEnv [] = "GNOME_ACCESSIBILITY";
|
|
||||||
+ const char* envValue = PR_GetEnv(sAccEnv);
|
|
||||||
+ if (envValue)
|
|
||||||
+ return sShouldEnable = !!atoi(envValue);
|
|
||||||
+
|
|
||||||
+#ifdef MOZ_ENABLE_DBUS
|
|
||||||
+ PreInit();
|
|
||||||
+ bool dbusSuccess = false;
|
|
||||||
+ DBusMessage *reply = nsnull;
|
|
||||||
+ if (a11yPendingCall) {
|
|
||||||
+ dbus_pending_call_block(a11yPendingCall);
|
|
||||||
+ reply = dbus_pending_call_steal_reply(a11yPendingCall);
|
|
||||||
+ dbus_pending_call_unref(a11yPendingCall);
|
|
||||||
+ a11yPendingCall = nsnull;
|
|
||||||
+ }
|
|
||||||
+ if (!reply ||
|
|
||||||
+ dbus_message_get_type(reply) != DBUS_MESSAGE_TYPE_METHOD_RETURN ||
|
|
||||||
+ strcmp(dbus_message_get_signature (reply), "v"))
|
|
||||||
+ goto dbus_done;
|
|
||||||
+
|
|
||||||
+ DBusMessageIter iter, iter_variant, iter_struct;
|
|
||||||
+ dbus_bool_t dResult;
|
|
||||||
+ dbus_message_iter_init(reply, &iter);
|
|
||||||
+ dbus_message_iter_recurse (&iter, &iter_variant);
|
|
||||||
+ switch (dbus_message_iter_get_arg_type(&iter_variant)) {
|
|
||||||
+ case DBUS_TYPE_STRUCT:
|
|
||||||
+ // at-spi2-core 2.2.0-2.2.1 had a bug where it returned a struct
|
|
||||||
+ dbus_message_iter_recurse(&iter_variant, &iter_struct);
|
|
||||||
+ if (dbus_message_iter_get_arg_type(&iter_struct) == DBUS_TYPE_BOOLEAN) {
|
|
||||||
+ dbus_message_iter_get_basic(&iter_struct, &dResult);
|
|
||||||
+ sShouldEnable = dResult;
|
|
||||||
+ dbusSuccess = true;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ break;
|
|
||||||
+ case DBUS_TYPE_BOOLEAN:
|
|
||||||
+ dbus_message_iter_get_basic(&iter_variant, &dResult);
|
|
||||||
+ sShouldEnable = dResult;
|
|
||||||
+ dbusSuccess = true;
|
|
||||||
+ break;
|
|
||||||
+ default:
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ dbus_done:
|
|
||||||
+ if (reply)
|
|
||||||
+ dbus_message_unref(reply);
|
|
||||||
+
|
|
||||||
+ if (dbusSuccess)
|
|
||||||
+ return sShouldEnable;
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+ //check gconf-2 setting
|
|
||||||
+ nsresult rv = NS_OK;
|
|
||||||
+ static const char sSysPrefService [] =
|
|
||||||
+ "@mozilla.org/system-preference-service;1";
|
|
||||||
+ static const char sAccessibilityKey [] =
|
|
||||||
+ "config.use_system_prefs.accessibility";
|
|
||||||
+ nsCOMPtr<nsIPrefBranch> sysPrefService =
|
|
||||||
+ do_GetService(sSysPrefService, &rv);
|
|
||||||
+ if (NS_SUCCEEDED(rv) && sysPrefService)
|
|
||||||
+ sysPrefService->GetBoolPref(sAccessibilityKey, &sShouldEnable);
|
|
||||||
+
|
|
||||||
+ return sShouldEnable;
|
|
||||||
+}
|
|
||||||
+} // namespace a11y
|
|
||||||
+} // namespace mozilla
|
|
||||||
+
|
|
||||||
diff --git a/accessible/src/base/nsAccessibilityService.h b/accessible/src/base/nsAccessibilityService.h
|
|
||||||
--- a/accessible/src/base/nsAccessibilityService.h
|
|
||||||
+++ b/accessible/src/base/nsAccessibilityService.h
|
|
||||||
@@ -46,16 +46,33 @@
|
|
||||||
|
|
||||||
#include "mozilla/a11y/FocusManager.h"
|
|
||||||
|
|
||||||
#include "nsIObserver.h"
|
|
||||||
|
|
||||||
namespace mozilla {
|
|
||||||
namespace a11y {
|
|
||||||
|
|
||||||
+#ifdef MOZ_ACCESSIBILITY_ATK
|
|
||||||
+/**
|
|
||||||
+ * + * Perform initialization that should be done as soon as possible, in
|
|
||||||
+ * order
|
|
||||||
+ * + * to minimize startup time.
|
|
||||||
+ * + * XXX: this function and the next defined in
|
|
||||||
+ * nsApplicationAccessibleWrap.cpp
|
|
||||||
+ * + */
|
|
||||||
+void PreInit();
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * + * Is platform accessibility enabled.
|
|
||||||
+ * + * Only used on linux with atk for now.
|
|
||||||
+ * + */
|
|
||||||
+bool ShouldA11yBeEnabled();
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
/**
|
|
||||||
* Return focus manager.
|
|
||||||
*/
|
|
||||||
FocusManager* FocusMgr();
|
|
||||||
|
|
||||||
} // namespace a11y
|
|
||||||
} // namespace mozilla
|
|
||||||
|
|
||||||
diff --git a/widget/src/gtk2/nsWindow.cpp b/widget/src/gtk2/nsWindow.cpp
|
|
||||||
--- a/widget/src/gtk2/nsWindow.cpp
|
|
||||||
+++ b/widget/src/gtk2/nsWindow.cpp
|
|
||||||
@@ -105,29 +105,21 @@
|
|
||||||
#include "nsIStringBundle.h"
|
|
||||||
#include "nsGfxCIID.h"
|
|
||||||
#include "nsIObserverService.h"
|
|
||||||
|
|
||||||
#include "nsIdleService.h"
|
|
||||||
#include "nsIPropertyBag2.h"
|
|
||||||
|
|
||||||
#ifdef ACCESSIBILITY
|
|
||||||
-#include "nsIAccessibilityService.h"
|
|
||||||
+#include "nsAccessibilityService.h"
|
|
||||||
#include "nsIAccessibleDocument.h"
|
|
||||||
-#include "prenv.h"
|
|
||||||
-#include "stdlib.h"
|
|
||||||
|
|
||||||
using namespace mozilla;
|
|
||||||
|
|
||||||
-static bool sAccessibilityChecked = false;
|
|
||||||
-/* static */
|
|
||||||
-bool nsWindow::sAccessibilityEnabled = false;
|
|
||||||
-static const char sSysPrefService [] = "@mozilla.org/system-preference-service;1";
|
|
||||||
-static const char sAccEnv [] = "GNOME_ACCESSIBILITY";
|
|
||||||
-static const char sAccessibilityKey [] = "config.use_system_prefs.accessibility";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* For SetIcon */
|
|
||||||
#include "nsAppDirectoryServiceDefs.h"
|
|
||||||
#include "nsXPIDLString.h"
|
|
||||||
#include "nsIFile.h"
|
|
||||||
#include "nsILocalFile.h"
|
|
||||||
|
|
||||||
@@ -1111,19 +1103,18 @@ nsWindow::Show(bool aState)
|
|
||||||
NativeResize(mBounds.x, mBounds.y, mBounds.width, mBounds.height,
|
|
||||||
false);
|
|
||||||
} else if (mNeedsResize) {
|
|
||||||
NativeResize(mBounds.width, mBounds.height, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef ACCESSIBILITY
|
|
||||||
- if (aState && sAccessibilityEnabled) {
|
|
||||||
+ if (aState && a11y::ShouldA11yBeEnabled())
|
|
||||||
CreateRootAccessible();
|
|
||||||
- }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
NativeShow(aState);
|
|
||||||
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
NS_IMETHODIMP
|
|
||||||
@@ -3885,16 +3876,21 @@ nsWindow::Create(nsIWidget *aPare
|
|
||||||
nsIWidget *baseParent = aInitData &&
|
|
||||||
(aInitData->mWindowType == eWindowType_dialog ||
|
|
||||||
aInitData->mWindowType == eWindowType_toplevel ||
|
|
||||||
aInitData->mWindowType == eWindowType_invisible) ?
|
|
||||||
nsnull : aParent;
|
|
||||||
|
|
||||||
NS_ASSERTION(!mWindowGroup, "already have window group (leaking it)");
|
|
||||||
|
|
||||||
+#ifdef ACCESSIBILITY
|
|
||||||
+ // Send a DBus message to check whether a11y is enabled
|
|
||||||
+ a11y::PreInit();
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
// Ensure that the toolkit is created.
|
|
||||||
nsGTKToolkit::GetToolkit();
|
|
||||||
|
|
||||||
// initialize all the common bits of this class
|
|
||||||
BaseCreate(baseParent, aRect, aHandleEventFunction, aContext, aInitData);
|
|
||||||
|
|
||||||
// Do we need to listen for resizes?
|
|
||||||
bool listenForResizes = false;;
|
|
||||||
@@ -4278,43 +4274,16 @@ nsWindow::Create(nsIWidget *aPare
|
|
||||||
LOG(("\tmGdkWindow %p %lx\n", (void *)mGdkWindow,
|
|
||||||
gdk_x11_window_get_xid(mGdkWindow)));
|
|
||||||
}
|
|
||||||
|
|
||||||
// resize so that everything is set to the right dimensions
|
|
||||||
if (!mIsTopLevel)
|
|
||||||
Resize(mBounds.x, mBounds.y, mBounds.width, mBounds.height, false);
|
|
||||||
|
|
||||||
-#ifdef ACCESSIBILITY
|
|
||||||
- nsresult rv;
|
|
||||||
- if (!sAccessibilityChecked) {
|
|
||||||
- sAccessibilityChecked = true;
|
|
||||||
-
|
|
||||||
- //check if accessibility enabled/disabled by environment variable
|
|
||||||
- const char *envValue = PR_GetEnv(sAccEnv);
|
|
||||||
- if (envValue) {
|
|
||||||
- sAccessibilityEnabled = atoi(envValue) != 0;
|
|
||||||
- LOG(("Accessibility Env %s=%s\n", sAccEnv, envValue));
|
|
||||||
- }
|
|
||||||
- //check gconf-2 setting
|
|
||||||
- else {
|
|
||||||
- nsCOMPtr<nsIPrefBranch> sysPrefService =
|
|
||||||
- do_GetService(sSysPrefService, &rv);
|
|
||||||
- if (NS_SUCCEEDED(rv) && sysPrefService) {
|
|
||||||
-
|
|
||||||
- // do the work to get gconf setting.
|
|
||||||
- // will be done soon later.
|
|
||||||
- sysPrefService->GetBoolPref(sAccessibilityKey,
|
|
||||||
- &sAccessibilityEnabled);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
#ifdef MOZ_DFB
|
|
||||||
if (!mDFB) {
|
|
||||||
DirectFBCreate( &mDFB );
|
|
||||||
|
|
||||||
D_ASSUME( mDFB != NULL );
|
|
||||||
|
|
||||||
if (mDFB)
|
|
||||||
mDFB->GetDisplayLayer( mDFB, DLID_PRIMARY, &mDFBLayer );
|
|
||||||
@@ -6504,19 +6473,18 @@ nsWindow::DispatchAccessibleEvent()
|
|
||||||
DispatchEvent(&event, status);
|
|
||||||
|
|
||||||
return event.mAccessible;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
nsWindow::DispatchEventToRootAccessible(PRUint32 aEventType)
|
|
||||||
{
|
|
||||||
- if (!sAccessibilityEnabled) {
|
|
||||||
+ if (!a11y::ShouldA11yBeEnabled())
|
|
||||||
return;
|
|
||||||
- }
|
|
||||||
|
|
||||||
nsCOMPtr<nsIAccessibilityService> accService =
|
|
||||||
do_GetService("@mozilla.org/accessibilityService;1");
|
|
||||||
if (!accService) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get the root document accessible and fire event to it.
|
|
@ -1,29 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# User Mike Hommey <mh+mozilla@glandium.org>
|
|
||||||
# Date 1321613368 -3600
|
|
||||||
# Node ID 15cf58eb7923d34de7e61df80fa5f8a18a995abf
|
|
||||||
# Parent aeb035da53283c56370992f254e4f79d7dd180f8
|
|
||||||
Bug 703534 - Fix build failure on platforms without YARR JIT. r=luke
|
|
||||||
target: M11
|
|
||||||
|
|
||||||
diff --git a/js/src/jscompartment.cpp b/js/src/jscompartment.cpp
|
|
||||||
--- a/js/src/jscompartment.cpp
|
|
||||||
+++ b/js/src/jscompartment.cpp
|
|
||||||
@@ -45,17 +45,16 @@
|
|
||||||
#include "jsiter.h"
|
|
||||||
#include "jsmath.h"
|
|
||||||
#include "jsproxy.h"
|
|
||||||
#include "jsscope.h"
|
|
||||||
#include "jstracer.h"
|
|
||||||
#include "jswatchpoint.h"
|
|
||||||
#include "jswrapper.h"
|
|
||||||
#include "assembler/wtf/Platform.h"
|
|
||||||
-#include "assembler/jit/ExecutableAllocator.h"
|
|
||||||
#include "yarr/BumpPointerAllocator.h"
|
|
||||||
#include "methodjit/MethodJIT.h"
|
|
||||||
#include "methodjit/PolyIC.h"
|
|
||||||
#include "methodjit/MonoIC.h"
|
|
||||||
#include "vm/Debugger.h"
|
|
||||||
|
|
||||||
#include "jsgcinlines.h"
|
|
||||||
#include "jsscopeinlines.h"
|
|
@ -1,12 +1,12 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# User Joop Boonen <joop.boonen@opensuse.org>
|
# User Joop Boonen <joop.boonen@opensuse.org>
|
||||||
# Parent be20a0ae420eb2b3584ce2c5d241e2817bac8593
|
# Parent 5f38d3aa0414fe0ac7ff1f0b47da44069e7ccdda
|
||||||
Add configure option to allow disabling of neon.
|
Add configure option to allow disabling of neon.
|
||||||
|
|
||||||
diff --git a/configure.in b/configure.in
|
diff --git a/configure.in b/configure.in
|
||||||
--- a/configure.in
|
--- a/configure.in
|
||||||
+++ b/configure.in
|
+++ b/configure.in
|
||||||
@@ -1674,41 +1674,47 @@ if test -n "$all_flags"; then
|
@@ -1726,41 +1726,47 @@ if test -n "$all_flags"; then
|
||||||
ASFLAGS="$ASFLAGS $all_flags"
|
ASFLAGS="$ASFLAGS $all_flags"
|
||||||
if test -n "$thumb_flag"; then
|
if test -n "$thumb_flag"; then
|
||||||
LDFLAGS="$LDFLAGS $thumb_flag"
|
LDFLAGS="$LDFLAGS $thumb_flag"
|
||||||
@ -20,26 +20,6 @@ diff --git a/configure.in b/configure.in
|
|||||||
- # We try to link so that this also fails when
|
- # We try to link so that this also fails when
|
||||||
- # building with LTO.
|
- # building with LTO.
|
||||||
- AC_TRY_LINK([],
|
- AC_TRY_LINK([],
|
||||||
- [asm("uqadd8 r1, r1, r2");],
|
|
||||||
- result="yes", result="no")
|
|
||||||
- AC_MSG_RESULT("$result")
|
|
||||||
- if test "$result" = "yes"; then
|
|
||||||
- AC_DEFINE(HAVE_ARM_SIMD)
|
|
||||||
- HAVE_ARM_SIMD=1
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- AC_MSG_CHECKING(for ARM NEON support in compiler)
|
|
||||||
- # We try to link so that this also fails when
|
|
||||||
- # building with LTO.
|
|
||||||
- AC_TRY_LINK([],
|
|
||||||
- [asm(".fpu neon\n vadd.i8 d0, d0, d0");],
|
|
||||||
- result="yes", result="no")
|
|
||||||
- AC_MSG_RESULT("$result")
|
|
||||||
- if test "$result" = "yes"; then
|
|
||||||
- AC_DEFINE(HAVE_ARM_NEON)
|
|
||||||
- HAVE_ARM_NEON=1
|
|
||||||
- fi
|
|
||||||
-fi # CPU_ARCH = arm
|
|
||||||
+MOZ_ARG_DISABLE_BOOL(neon,
|
+MOZ_ARG_DISABLE_BOOL(neon,
|
||||||
+[ --disable-neon Disable neon extensions],
|
+[ --disable-neon Disable neon extensions],
|
||||||
+ NS_DISABLE_NEON=1,
|
+ NS_DISABLE_NEON=1,
|
||||||
@ -50,24 +30,36 @@ diff --git a/configure.in b/configure.in
|
|||||||
+ # We try to link so that this also fails when
|
+ # We try to link so that this also fails when
|
||||||
+ # building with LTO.
|
+ # building with LTO.
|
||||||
+ AC_TRY_LINK([],
|
+ AC_TRY_LINK([],
|
||||||
+ [asm("uqadd8 r1, r1, r2");],
|
[asm("uqadd8 r1, r1, r2");],
|
||||||
+ result="yes", result="no")
|
result="yes", result="no")
|
||||||
|
- AC_MSG_RESULT("$result")
|
||||||
|
- if test "$result" = "yes"; then
|
||||||
+ AC_MSG_RESULT("$result")
|
+ AC_MSG_RESULT("$result")
|
||||||
+ if test "$result" = "yes"; then
|
+ if test "$result" = "yes"; then
|
||||||
+ AC_DEFINE(HAVE_ARM_SIMD)
|
AC_DEFINE(HAVE_ARM_SIMD)
|
||||||
+ HAVE_ARM_SIMD=1
|
HAVE_ARM_SIMD=1
|
||||||
|
- fi
|
||||||
|
-
|
||||||
|
- AC_MSG_CHECKING(for ARM NEON support in compiler)
|
||||||
|
- # We try to link so that this also fails when
|
||||||
|
- # building with LTO.
|
||||||
|
- AC_TRY_LINK([],
|
||||||
+ fi
|
+ fi
|
||||||
+
|
+
|
||||||
+ AC_MSG_CHECKING(for ARM NEON support in compiler)
|
+ AC_MSG_CHECKING(for ARM NEON support in compiler)
|
||||||
+ # We try to link so that this also fails when
|
+ # We try to link so that this also fails when
|
||||||
+ # building with LTO.
|
+ # building with LTO.
|
||||||
+ AC_TRY_LINK([],
|
+ AC_TRY_LINK([],
|
||||||
+ [asm(".fpu neon\n vadd.i8 d0, d0, d0");],
|
[asm(".fpu neon\n vadd.i8 d0, d0, d0");],
|
||||||
+ result="yes", result="no")
|
result="yes", result="no")
|
||||||
|
- AC_MSG_RESULT("$result")
|
||||||
|
- if test "$result" = "yes"; then
|
||||||
+ AC_MSG_RESULT("$result")
|
+ AC_MSG_RESULT("$result")
|
||||||
+ if test "$result" = "yes"; then
|
+ if test "$result" = "yes"; then
|
||||||
+ AC_DEFINE(HAVE_ARM_NEON)
|
AC_DEFINE(HAVE_ARM_NEON)
|
||||||
+ HAVE_ARM_NEON=1
|
HAVE_ARM_NEON=1
|
||||||
|
- fi
|
||||||
|
-fi # CPU_ARCH = arm
|
||||||
+ fi
|
+ fi
|
||||||
+ fi # CPU_ARCH = arm
|
+ fi # CPU_ARCH = arm
|
||||||
+fi
|
+fi
|
||||||
@ -75,14 +67,14 @@ diff --git a/configure.in b/configure.in
|
|||||||
AC_SUBST(HAVE_ARM_SIMD)
|
AC_SUBST(HAVE_ARM_SIMD)
|
||||||
AC_SUBST(HAVE_ARM_NEON)
|
AC_SUBST(HAVE_ARM_NEON)
|
||||||
|
|
||||||
dnl ========================================================
|
dnl =================================================================
|
||||||
dnl Android libstdc++, placed here so it can use MOZ_ARCH
|
dnl Set up and test static assertion macros used to avoid AC_TRY_RUN,
|
||||||
dnl computed above.
|
dnl which is bad when cross compiling.
|
||||||
dnl ========================================================
|
dnl =================================================================
|
||||||
diff --git a/js/src/configure.in b/js/src/configure.in
|
diff --git a/js/src/configure.in b/js/src/configure.in
|
||||||
--- a/js/src/configure.in
|
--- a/js/src/configure.in
|
||||||
+++ b/js/src/configure.in
|
+++ b/js/src/configure.in
|
||||||
@@ -1604,41 +1604,47 @@ if test -n "$all_flags"; then
|
@@ -1664,41 +1664,47 @@ if test -n "$all_flags"; then
|
||||||
ASFLAGS="$ASFLAGS $all_flags"
|
ASFLAGS="$ASFLAGS $all_flags"
|
||||||
if test -n "$thumb_flag"; then
|
if test -n "$thumb_flag"; then
|
||||||
LDFLAGS="$LDFLAGS $thumb_flag"
|
LDFLAGS="$LDFLAGS $thumb_flag"
|
||||||
@ -96,26 +88,6 @@ diff --git a/js/src/configure.in b/js/src/configure.in
|
|||||||
- # We try to link so that this also fails when
|
- # We try to link so that this also fails when
|
||||||
- # building with LTO.
|
- # building with LTO.
|
||||||
- AC_TRY_LINK([],
|
- AC_TRY_LINK([],
|
||||||
- [asm("uqadd8 r1, r1, r2");],
|
|
||||||
- result="yes", result="no")
|
|
||||||
- AC_MSG_RESULT("$result")
|
|
||||||
- if test "$result" = "yes"; then
|
|
||||||
- AC_DEFINE(HAVE_ARM_SIMD)
|
|
||||||
- HAVE_ARM_SIMD=1
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- AC_MSG_CHECKING(for ARM NEON support in compiler)
|
|
||||||
- # We try to link so that this also fails when
|
|
||||||
- # building with LTO.
|
|
||||||
- AC_TRY_LINK([],
|
|
||||||
- [asm(".fpu neon\n vadd.i8 d0, d0, d0");],
|
|
||||||
- result="yes", result="no")
|
|
||||||
- AC_MSG_RESULT("$result")
|
|
||||||
- if test "$result" = "yes"; then
|
|
||||||
- AC_DEFINE(HAVE_ARM_NEON)
|
|
||||||
- HAVE_ARM_NEON=1
|
|
||||||
- fi
|
|
||||||
-fi # CPU_ARCH = arm
|
|
||||||
+MOZ_ARG_DISABLE_BOOL(neon,
|
+MOZ_ARG_DISABLE_BOOL(neon,
|
||||||
+[ --disable-neon Disable neon extensions],
|
+[ --disable-neon Disable neon extensions],
|
||||||
+ NS_DISABLE_NEON=1,
|
+ NS_DISABLE_NEON=1,
|
||||||
@ -126,24 +98,36 @@ diff --git a/js/src/configure.in b/js/src/configure.in
|
|||||||
+ # We try to link so that this also fails when
|
+ # We try to link so that this also fails when
|
||||||
+ # building with LTO.
|
+ # building with LTO.
|
||||||
+ AC_TRY_LINK([],
|
+ AC_TRY_LINK([],
|
||||||
+ [asm("uqadd8 r1, r1, r2");],
|
[asm("uqadd8 r1, r1, r2");],
|
||||||
+ result="yes", result="no")
|
result="yes", result="no")
|
||||||
|
- AC_MSG_RESULT("$result")
|
||||||
|
- if test "$result" = "yes"; then
|
||||||
+ AC_MSG_RESULT("$result")
|
+ AC_MSG_RESULT("$result")
|
||||||
+ if test "$result" = "yes"; then
|
+ if test "$result" = "yes"; then
|
||||||
+ AC_DEFINE(HAVE_ARM_SIMD)
|
AC_DEFINE(HAVE_ARM_SIMD)
|
||||||
+ HAVE_ARM_SIMD=1
|
HAVE_ARM_SIMD=1
|
||||||
|
- fi
|
||||||
|
-
|
||||||
|
- AC_MSG_CHECKING(for ARM NEON support in compiler)
|
||||||
|
- # We try to link so that this also fails when
|
||||||
|
- # building with LTO.
|
||||||
|
- AC_TRY_LINK([],
|
||||||
+ fi
|
+ fi
|
||||||
+
|
+
|
||||||
+ AC_MSG_CHECKING(for ARM NEON support in compiler)
|
+ AC_MSG_CHECKING(for ARM NEON support in compiler)
|
||||||
+ # We try to link so that this also fails when
|
+ # We try to link so that this also fails when
|
||||||
+ # building with LTO.
|
+ # building with LTO.
|
||||||
+ AC_TRY_LINK([],
|
+ AC_TRY_LINK([],
|
||||||
+ [asm(".fpu neon\n vadd.i8 d0, d0, d0");],
|
[asm(".fpu neon\n vadd.i8 d0, d0, d0");],
|
||||||
+ result="yes", result="no")
|
result="yes", result="no")
|
||||||
|
- AC_MSG_RESULT("$result")
|
||||||
|
- if test "$result" = "yes"; then
|
||||||
+ AC_MSG_RESULT("$result")
|
+ AC_MSG_RESULT("$result")
|
||||||
+ if test "$result" = "yes"; then
|
+ if test "$result" = "yes"; then
|
||||||
+ AC_DEFINE(HAVE_ARM_NEON)
|
AC_DEFINE(HAVE_ARM_NEON)
|
||||||
+ HAVE_ARM_NEON=1
|
HAVE_ARM_NEON=1
|
||||||
|
- fi
|
||||||
|
-fi # CPU_ARCH = arm
|
||||||
+ fi
|
+ fi
|
||||||
+ fi # CPU_ARCH = arm
|
+ fi # CPU_ARCH = arm
|
||||||
+fi
|
+fi
|
||||||
@ -151,7 +135,7 @@ diff --git a/js/src/configure.in b/js/src/configure.in
|
|||||||
AC_SUBST(HAVE_ARM_SIMD)
|
AC_SUBST(HAVE_ARM_SIMD)
|
||||||
AC_SUBST(HAVE_ARM_NEON)
|
AC_SUBST(HAVE_ARM_NEON)
|
||||||
|
|
||||||
dnl ========================================================
|
dnl =================================================================
|
||||||
dnl Android libstdc++, placed here so it can use MOZ_ARCH
|
dnl Set up and test static assertion macros used to avoid AC_TRY_RUN,
|
||||||
dnl computed above.
|
dnl which is bad when cross compiling.
|
||||||
dnl ========================================================
|
dnl =================================================================
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# Parent e589abb2c4d6aaa6083d254416211ac90360dbdd
|
# Parent 364802dc5df3b480143a54d318ceef74f32453fb
|
||||||
NO-BUG: Ignore a hack which is not needed in distribution build environments.
|
NO-BUG: Ignore a hack which is not needed in distribution build environments.
|
||||||
|
|
||||||
diff --git a/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in b/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
|
diff --git a/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in b/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
|
||||||
--- a/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
|
--- a/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
|
||||||
+++ b/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
|
+++ b/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
|
||||||
@@ -59,11 +59,11 @@ HOST_LIBS += \
|
@@ -58,11 +58,11 @@ HOST_LIBS += \
|
||||||
|
$(DEPTH)/toolkit/crashreporter/google-breakpad/src/common/dwarf/$(LIB_PREFIX)host_breakpad_dwarf_s.$(LIB_SUFFIX) \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
# force C++ linking
|
# force C++ linking
|
||||||
CPP_PROG_LINK = 1
|
CPP_PROG_LINK = 1
|
||||||
FORCE_USE_PIC = 1
|
|
||||||
|
|
||||||
#XXX: bug 554854 causes us to be unable to run binaries on the build slaves
|
#XXX: bug 554854 causes us to be unable to run binaries on the build slaves
|
||||||
# due to them having an older libstdc++
|
# due to them having an older libstdc++
|
||||||
|
3882
mozilla-kde.patch
Normal file
3882
mozilla-kde.patch
Normal file
File diff suppressed because it is too large
Load Diff
38
mozilla-nongnome-proxies.patch
Normal file
38
mozilla-nongnome-proxies.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
From: Wolfgang Rosenauer
|
||||||
|
Subject: Do not use gconf for proxy settings if not running within Gnome
|
||||||
|
|
||||||
|
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||||
|
===================================================================
|
||||||
|
RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
|
||||||
|
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
|
||||||
|
@@ -71,18 +71,24 @@ private:
|
||||||
|
nsresult SetProxyResultFromGSettings(const char* aKeyBase, const char* aType, nsACString& aResult);
|
||||||
|
};
|
||||||
|
|
||||||
|
NS_IMPL_ISUPPORTS1(nsUnixSystemProxySettings, nsISystemProxySettings)
|
||||||
|
|
||||||
|
nsresult
|
||||||
|
nsUnixSystemProxySettings::Init()
|
||||||
|
{
|
||||||
|
- mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
||||||
|
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
||||||
|
+ // If this is a GNOME session, load gconf and try to use its preferences.
|
||||||
|
+ // If gconf is not available (which would be stupid) we'll proceed as if
|
||||||
|
+ // this was not a GNOME session, using *_PROXY environment variables.
|
||||||
|
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
|
||||||
|
+ if (sessionType && !strcmp(sessionType, "gnome")) {
|
||||||
|
+ mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
||||||
|
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
||||||
|
+ }
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
nsUnixSystemProxySettings::IsProxyMode(const char* aMode)
|
||||||
|
{
|
||||||
|
nsCAutoString mode;
|
||||||
|
return NS_SUCCEEDED(mGConf->GetString(NS_LITERAL_CSTRING("/system/proxy/mode"), mode)) &&
|
@ -7,7 +7,7 @@ References:
|
|||||||
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
||||||
--- a/config/autoconf.mk.in
|
--- a/config/autoconf.mk.in
|
||||||
+++ b/config/autoconf.mk.in
|
+++ b/config/autoconf.mk.in
|
||||||
@@ -567,16 +567,20 @@ MOZ_LIBNOTIFY_LIBS = @MOZ_LIBNOTIFY_LIBS
|
@@ -581,16 +581,20 @@ MOZ_LIBNOTIFY_LIBS = @MOZ_LIBNOTIFY_LIBS
|
||||||
MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNOTIFY@
|
MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNOTIFY@
|
||||||
|
|
||||||
MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@
|
MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@
|
||||||
@ -31,7 +31,7 @@ diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
|||||||
diff --git a/configure.in b/configure.in
|
diff --git a/configure.in b/configure.in
|
||||||
--- a/configure.in
|
--- a/configure.in
|
||||||
+++ b/configure.in
|
+++ b/configure.in
|
||||||
@@ -8093,16 +8093,31 @@ AC_SUBST(QCMS_LIBS)
|
@@ -8213,16 +8213,31 @@ AC_SUBST(QCMS_LIBS)
|
||||||
|
|
||||||
dnl ========================================================
|
dnl ========================================================
|
||||||
dnl HarfBuzz
|
dnl HarfBuzz
|
||||||
@ -55,23 +55,23 @@ diff --git a/configure.in b/configure.in
|
|||||||
+AC_SUBST(NSSHELPER_LIBS)
|
+AC_SUBST(NSSHELPER_LIBS)
|
||||||
+
|
+
|
||||||
+dnl ========================================================
|
+dnl ========================================================
|
||||||
dnl OTS
|
dnl SIL Graphite
|
||||||
dnl ========================================================
|
|
||||||
MOZ_OTS_LIBS='$(DEPTH)/gfx/ots/src/$(LIB_PREFIX)mozots.$(LIB_SUFFIX)'
|
|
||||||
AC_SUBST(MOZ_OTS_LIBS)
|
|
||||||
|
|
||||||
dnl ========================================================
|
|
||||||
dnl Skia
|
|
||||||
dnl ========================================================
|
dnl ========================================================
|
||||||
|
if test "$MOZ_GRAPHITE"; then
|
||||||
|
MOZ_GRAPHITE_LIBS='$(DEPTH)/gfx/graphite2/src/$(LIB_PREFIX)mozgraphite2.$(LIB_SUFFIX)'
|
||||||
|
AC_DEFINE(MOZ_GRAPHITE)
|
||||||
|
else
|
||||||
|
MOZ_GRAPHITE_LIBS=
|
||||||
|
fi
|
||||||
diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in
|
diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in
|
||||||
--- a/security/manager/ssl/src/Makefile.in
|
--- a/security/manager/ssl/src/Makefile.in
|
||||||
+++ b/security/manager/ssl/src/Makefile.in
|
+++ b/security/manager/ssl/src/Makefile.in
|
||||||
@@ -114,12 +114,14 @@ CSRCS += md4.c
|
@@ -118,12 +118,14 @@ EXTRA_DEPS = $(NSS_DEP_LIBS)
|
||||||
|
DEFINES += \
|
||||||
|
-DNSS_ENABLE_ECC \
|
||||||
EXTRA_DEPS = $(NSS_DEP_LIBS)
|
-DDLL_PREFIX=\"$(DLL_PREFIX)\" \
|
||||||
|
-DDLL_SUFFIX=\"$(DLL_SUFFIX)\" \
|
||||||
DEFINES += -DNSS_ENABLE_ECC
|
$(NULL)
|
||||||
|
|
||||||
# Use local includes because they are inserted before INCLUDES
|
# Use local includes because they are inserted before INCLUDES
|
||||||
# so that Mozilla's nss.h is used, not glibc's
|
# so that Mozilla's nss.h is used, not glibc's
|
||||||
@ -104,12 +104,12 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
|
|||||||
#include "nsNSSComponent.h"
|
#include "nsNSSComponent.h"
|
||||||
#include "nsNSSCallbacks.h"
|
#include "nsNSSCallbacks.h"
|
||||||
#include "nsNSSIOLayer.h"
|
#include "nsNSSIOLayer.h"
|
||||||
#include "nsSSLThread.h"
|
|
||||||
#include "nsCertVerificationThread.h"
|
#include "nsCertVerificationThread.h"
|
||||||
|
|
||||||
#include "nsNetUtil.h"
|
#include "nsNetUtil.h"
|
||||||
#include "nsAppDirectoryServiceDefs.h"
|
#include "nsAppDirectoryServiceDefs.h"
|
||||||
@@ -1725,18 +1732,34 @@ nsNSSComponent::InitializeNSS(bool showW
|
#include "nsDirectoryService.h"
|
||||||
|
@@ -1733,18 +1740,34 @@ nsNSSComponent::InitializeNSS(bool showW
|
||||||
ConfigureInternalPKCS11Token();
|
ConfigureInternalPKCS11Token();
|
||||||
|
|
||||||
// The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs
|
// The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs
|
||||||
@ -149,7 +149,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
|
|||||||
diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
|
diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
|
||||||
--- a/toolkit/library/Makefile.in
|
--- a/toolkit/library/Makefile.in
|
||||||
+++ b/toolkit/library/Makefile.in
|
+++ b/toolkit/library/Makefile.in
|
||||||
@@ -126,17 +126,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
|
@@ -471,17 +471,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
@ -1,285 +0,0 @@
|
|||||||
From: Mike Hommey <mh@glandium.org>
|
|
||||||
Date: Sat, 24 Dec 2011 09:56:58 +0100
|
|
||||||
Subject: Bug 691898 - Use YARR interpreter instead of PCRE on platforms where
|
|
||||||
YARR JIT is not supported
|
|
||||||
|
|
||||||
---
|
|
||||||
js/src/Makefile.in | 21 +++++++++++++--------
|
|
||||||
js/src/vm/RegExpObject-inl.h | 28 ++++++----------------------
|
|
||||||
js/src/vm/RegExpObject.cpp | 36 ------------------------------------
|
|
||||||
js/src/vm/RegExpObject.h | 27 ++++++---------------------
|
|
||||||
js/src/yarr/wtfbridge.h | 2 --
|
|
||||||
5 files changed, 25 insertions(+), 89 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/js/src/Makefile.in b/js/src/Makefile.in
|
|
||||||
index fc48cbd..49f0bdc 100644
|
|
||||||
--- a/js/src/Makefile.in
|
|
||||||
+++ b/js/src/Makefile.in
|
|
||||||
@@ -416,15 +416,20 @@ CPPSRCS += checks.cc \
|
|
||||||
|
|
||||||
ifeq (,$(filter arm% sparc %86 x86_64,$(TARGET_CPU)))
|
|
||||||
|
|
||||||
-VPATH += $(srcdir)/yarr/pcre \
|
|
||||||
+VPATH += $(srcdir)/assembler \
|
|
||||||
+ $(srcdir)/assembler/wtf \
|
|
||||||
+ $(srcdir)/yarr \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
CPPSRCS += \
|
|
||||||
- pcre_compile.cpp \
|
|
||||||
- pcre_exec.cpp \
|
|
||||||
- pcre_tables.cpp \
|
|
||||||
- pcre_xclass.cpp \
|
|
||||||
- pcre_ucp_searchfuncs.cpp \
|
|
||||||
+ Assertions.cpp \
|
|
||||||
+ OSAllocatorOS2.cpp \
|
|
||||||
+ OSAllocatorPosix.cpp \
|
|
||||||
+ OSAllocatorWin.cpp \
|
|
||||||
+ PageBlock.cpp \
|
|
||||||
+ YarrInterpreter.cpp \
|
|
||||||
+ YarrPattern.cpp \
|
|
||||||
+ YarrSyntaxChecker.cpp \
|
|
||||||
$(NULL)
|
|
||||||
else
|
|
||||||
|
|
||||||
@@ -1015,10 +1020,10 @@ endif
|
|
||||||
# Needed to "configure" it correctly. Unfortunately these
|
|
||||||
# flags wind up being applied to all code in js/src, not just
|
|
||||||
# the code in js/src/assembler.
|
|
||||||
-CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1
|
|
||||||
+CXXFLAGS += -DUSE_SYSTEM_MALLOC=1
|
|
||||||
|
|
||||||
ifneq (,$(ENABLE_YARR_JIT)$(ENABLE_TRACEJIT)$(ENABLE_METHODJIT))
|
|
||||||
-CXXFLAGS += -DENABLE_JIT=1
|
|
||||||
+CXXFLAGS += -DENABLE_JIT=1 -DENABLE_ASSEMBLER=1
|
|
||||||
endif
|
|
||||||
|
|
||||||
INCLUDES += -I$(srcdir)/assembler -I$(srcdir)/yarr
|
|
||||||
diff --git a/js/src/vm/RegExpObject-inl.h b/js/src/vm/RegExpObject-inl.h
|
|
||||||
index 5f7817d..91108a7 100644
|
|
||||||
--- a/js/src/vm/RegExpObject-inl.h
|
|
||||||
+++ b/js/src/vm/RegExpObject-inl.h
|
|
||||||
@@ -327,6 +327,7 @@ RegExpPrivate::create(JSContext *cx, JSString *source, RegExpFlag flags, TokenSt
|
|
||||||
return RetType(self);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if ENABLE_YARR_JIT
|
|
||||||
/* This function should be deleted once bad Android platforms phase out. See bug 604774. */
|
|
||||||
inline bool
|
|
||||||
RegExpPrivateCode::isJITRuntimeEnabled(JSContext *cx)
|
|
||||||
@@ -337,12 +338,12 @@ RegExpPrivateCode::isJITRuntimeEnabled(JSContext *cx)
|
|
||||||
return true;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
inline bool
|
|
||||||
RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream *ts,
|
|
||||||
uintN *parenCount, RegExpFlag flags)
|
|
||||||
{
|
|
||||||
-#if ENABLE_YARR_JIT
|
|
||||||
/* Parse the pattern. */
|
|
||||||
ErrorCode yarrError;
|
|
||||||
YarrPattern yarrPattern(pattern, bool(flags & IgnoreCaseFlag), bool(flags & MultilineFlag),
|
|
||||||
@@ -359,7 +360,7 @@ RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream *
|
|
||||||
* case we have to bytecode compile it.
|
|
||||||
*/
|
|
||||||
|
|
||||||
-#ifdef JS_METHODJIT
|
|
||||||
+#if ENABLE_YARR_JIT && defined(JS_METHODJIT)
|
|
||||||
if (isJITRuntimeEnabled(cx) && !yarrPattern.m_containsBackreferences) {
|
|
||||||
if (!cx->compartment->ensureJaegerCompartmentExists(cx))
|
|
||||||
return false;
|
|
||||||
@@ -371,21 +372,11 @@ RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream *
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if ENABLE_YARR_JIT
|
|
||||||
codeBlock.setFallBack(true);
|
|
||||||
+#endif
|
|
||||||
byteCode = byteCompile(yarrPattern, cx->compartment->regExpAllocator).get();
|
|
||||||
return true;
|
|
||||||
-#else /* !defined(ENABLE_YARR_JIT) */
|
|
||||||
- int error = 0;
|
|
||||||
- compiled = jsRegExpCompile(pattern.chars(), pattern.length(),
|
|
||||||
- ignoreCase() ? JSRegExpIgnoreCase : JSRegExpDoNotIgnoreCase,
|
|
||||||
- multiline() ? JSRegExpMultiline : JSRegExpSingleLine,
|
|
||||||
- parenCount, &error);
|
|
||||||
- if (error) {
|
|
||||||
- reportPCREError(cx, error);
|
|
||||||
- return false;
|
|
||||||
- }
|
|
||||||
- return true;
|
|
||||||
-#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool
|
|
||||||
@@ -431,19 +422,12 @@ RegExpPrivateCode::execute(JSContext *cx, const jschar *chars, size_t start, siz
|
|
||||||
else
|
|
||||||
result = JSC::Yarr::execute(codeBlock, chars, start, length, output);
|
|
||||||
#else
|
|
||||||
- result = jsRegExpExecute(cx, compiled, chars, length, start, output, outputCount);
|
|
||||||
+ result = JSC::Yarr::interpret(byteCode, chars, start, length, output);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (result == -1)
|
|
||||||
return Success_NotFound;
|
|
||||||
|
|
||||||
-#if !ENABLE_YARR_JIT
|
|
||||||
- if (result < 0) {
|
|
||||||
- reportPCREError(cx, result);
|
|
||||||
- return Error;
|
|
||||||
- }
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
JS_ASSERT(result >= 0);
|
|
||||||
return Success;
|
|
||||||
}
|
|
||||||
diff --git a/js/src/vm/RegExpObject.cpp b/js/src/vm/RegExpObject.cpp
|
|
||||||
index f75c6a5..7631dd5 100644
|
|
||||||
--- a/js/src/vm/RegExpObject.cpp
|
|
||||||
+++ b/js/src/vm/RegExpObject.cpp
|
|
||||||
@@ -251,7 +251,6 @@ Class js::RegExpClass = {
|
|
||||||
NULL /* trace */
|
|
||||||
};
|
|
||||||
|
|
||||||
-#if ENABLE_YARR_JIT
|
|
||||||
void
|
|
||||||
RegExpPrivateCode::reportYarrError(JSContext *cx, TokenStream *ts, ErrorCode error)
|
|
||||||
{
|
|
||||||
@@ -283,41 +282,6 @@ RegExpPrivateCode::reportYarrError(JSContext *cx, TokenStream *ts, ErrorCode err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-#else /* !ENABLE_YARR_JIT */
|
|
||||||
-
|
|
||||||
-void
|
|
||||||
-RegExpPrivateCode::reportPCREError(JSContext *cx, int error)
|
|
||||||
-{
|
|
||||||
-#define REPORT(msg_) \
|
|
||||||
- JS_ReportErrorFlagsAndNumberUC(cx, JSREPORT_ERROR, js_GetErrorMessage, NULL, msg_); \
|
|
||||||
- return
|
|
||||||
- switch (error) {
|
|
||||||
- case -2: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
|
|
||||||
- case 0: JS_NOT_REACHED("Precondition violation: an error must have occurred.");
|
|
||||||
- case 1: REPORT(JSMSG_TRAILING_SLASH);
|
|
||||||
- case 2: REPORT(JSMSG_TRAILING_SLASH);
|
|
||||||
- case 3: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
|
|
||||||
- case 4: REPORT(JSMSG_BAD_QUANTIFIER);
|
|
||||||
- case 5: REPORT(JSMSG_BAD_QUANTIFIER);
|
|
||||||
- case 6: REPORT(JSMSG_BAD_CLASS_RANGE);
|
|
||||||
- case 7: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
|
|
||||||
- case 8: REPORT(JSMSG_BAD_CLASS_RANGE);
|
|
||||||
- case 9: REPORT(JSMSG_BAD_QUANTIFIER);
|
|
||||||
- case 10: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN);
|
|
||||||
- case 11: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
|
|
||||||
- case 12: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN);
|
|
||||||
- case 13: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
|
|
||||||
- case 14: REPORT(JSMSG_MISSING_PAREN);
|
|
||||||
- case 15: REPORT(JSMSG_BAD_BACKREF);
|
|
||||||
- case 16: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
|
|
||||||
- case 17: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
|
|
||||||
- default:
|
|
||||||
- JS_NOT_REACHED("Precondition violation: unknown PCRE error code.");
|
|
||||||
- }
|
|
||||||
-#undef REPORT
|
|
||||||
-}
|
|
||||||
-#endif /* ENABLE_YARR_JIT */
|
|
||||||
-
|
|
||||||
bool
|
|
||||||
js::ParseRegExpFlags(JSContext *cx, JSString *flagStr, RegExpFlag *flagsOut)
|
|
||||||
{
|
|
||||||
diff --git a/js/src/vm/RegExpObject.h b/js/src/vm/RegExpObject.h
|
|
||||||
index 1449d56..279f3c0 100644
|
|
||||||
--- a/js/src/vm/RegExpObject.h
|
|
||||||
+++ b/js/src/vm/RegExpObject.h
|
|
||||||
@@ -49,8 +49,6 @@
|
|
||||||
#include "yarr/Yarr.h"
|
|
||||||
#if ENABLE_YARR_JIT
|
|
||||||
#include "yarr/YarrJIT.h"
|
|
||||||
-#else
|
|
||||||
-#include "yarr/pcre/pcre.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace js {
|
|
||||||
@@ -153,48 +151,39 @@ ResetRegExpObject(JSContext *cx, AlreadyIncRefed<RegExpPrivate> rep);
|
|
||||||
/* Abstracts away the gross |RegExpPrivate| backend details. */
|
|
||||||
class RegExpPrivateCode
|
|
||||||
{
|
|
||||||
-#if ENABLE_YARR_JIT
|
|
||||||
typedef JSC::Yarr::BytecodePattern BytecodePattern;
|
|
||||||
typedef JSC::Yarr::ErrorCode ErrorCode;
|
|
||||||
+ typedef JSC::Yarr::YarrPattern YarrPattern;
|
|
||||||
+#if ENABLE_YARR_JIT
|
|
||||||
typedef JSC::Yarr::JSGlobalData JSGlobalData;
|
|
||||||
typedef JSC::Yarr::YarrCodeBlock YarrCodeBlock;
|
|
||||||
- typedef JSC::Yarr::YarrPattern YarrPattern;
|
|
||||||
|
|
||||||
/* Note: Native code is valid only if |codeBlock.isFallBack() == false|. */
|
|
||||||
YarrCodeBlock codeBlock;
|
|
||||||
- BytecodePattern *byteCode;
|
|
||||||
-#else
|
|
||||||
- JSRegExp *compiled;
|
|
||||||
#endif
|
|
||||||
+ BytecodePattern *byteCode;
|
|
||||||
|
|
||||||
public:
|
|
||||||
RegExpPrivateCode()
|
|
||||||
:
|
|
||||||
#if ENABLE_YARR_JIT
|
|
||||||
codeBlock(),
|
|
||||||
- byteCode(NULL)
|
|
||||||
-#else
|
|
||||||
- compiled(NULL)
|
|
||||||
#endif
|
|
||||||
+ byteCode(NULL)
|
|
||||||
{ }
|
|
||||||
|
|
||||||
~RegExpPrivateCode() {
|
|
||||||
#if ENABLE_YARR_JIT
|
|
||||||
codeBlock.release();
|
|
||||||
+#endif
|
|
||||||
if (byteCode)
|
|
||||||
Foreground::delete_<BytecodePattern>(byteCode);
|
|
||||||
-#else
|
|
||||||
- if (compiled)
|
|
||||||
- jsRegExpFree(compiled);
|
|
||||||
-#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
#if ENABLE_YARR_JIT
|
|
||||||
static inline bool isJITRuntimeEnabled(JSContext *cx);
|
|
||||||
- void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error);
|
|
||||||
-#else
|
|
||||||
- void reportPCREError(JSContext *cx, int error);
|
|
||||||
#endif
|
|
||||||
+ void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error);
|
|
||||||
|
|
||||||
inline bool compile(JSContext *cx, JSLinearString &pattern, TokenStream *ts, uintN *parenCount,
|
|
||||||
RegExpFlag flags);
|
|
||||||
@@ -205,11 +194,7 @@ class RegExpPrivateCode
|
|
||||||
int *output, size_t outputCount);
|
|
||||||
|
|
||||||
static size_t getOutputSize(size_t pairCount) {
|
|
||||||
-#if ENABLE_YARR_JIT
|
|
||||||
return pairCount * 2;
|
|
||||||
-#else
|
|
||||||
- return pairCount * 3; /* Should be x2, but PCRE has... needs. */
|
|
||||||
-#endif
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
diff --git a/js/src/yarr/wtfbridge.h b/js/src/yarr/wtfbridge.h
|
|
||||||
index ac41d08..fb8eb86 100644
|
|
||||||
--- a/js/src/yarr/wtfbridge.h
|
|
||||||
+++ b/js/src/yarr/wtfbridge.h
|
|
||||||
@@ -49,9 +49,7 @@
|
|
||||||
#include "jsprvtd.h"
|
|
||||||
#include "vm/String.h"
|
|
||||||
#include "assembler/wtf/Platform.h"
|
|
||||||
-#if ENABLE_YARR_JIT
|
|
||||||
#include "assembler/jit/ExecutableAllocator.h"
|
|
||||||
-#endif
|
|
||||||
|
|
||||||
namespace JSC { namespace Yarr {
|
|
||||||
|
|
@ -72,7 +72,7 @@ fi
|
|||||||
|
|
||||||
mozilla_lib=`file $MOZ_PROGRAM`
|
mozilla_lib=`file $MOZ_PROGRAM`
|
||||||
LIB=lib
|
LIB=lib
|
||||||
echo $mozilla_lib | grep -q -E 'x86-64|s390x|64-bit.PowerPC' && LIB=lib64
|
echo $mozilla_lib | grep -q -E 'ELF.64-bit.*(x86-64|S/390|PowerPC)' && LIB=lib64
|
||||||
|
|
||||||
BROWSER_PLUGIN_DIR=/usr/$LIB/browser-plugins
|
BROWSER_PLUGIN_DIR=/usr/$LIB/browser-plugins
|
||||||
if [ ! -d $BROWSER_PLUGIN_DIR ]; then
|
if [ ! -d $BROWSER_PLUGIN_DIR ]; then
|
||||||
@ -84,9 +84,6 @@ export MOZILLA_FIVE_HOME
|
|||||||
LD_LIBRARY_PATH=$MOZ_DIST_LIB${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
|
LD_LIBRARY_PATH=$MOZ_DIST_LIB${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
|
||||||
export LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH
|
||||||
|
|
||||||
# ignore composite extension (needed for Flash)
|
|
||||||
export XLIB_SKIP_ARGB_VISUALS=1
|
|
||||||
|
|
||||||
# needed for SUN Java under Xorg >= 7.2
|
# needed for SUN Java under Xorg >= 7.2
|
||||||
export LIBXCB_ALLOW_SLOPPY_LOCK=1
|
export LIBXCB_ALLOW_SLOPPY_LOCK=1
|
||||||
|
|
||||||
@ -102,6 +99,9 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# disable Gnome crash dialog (doesn't make sense anyway)
|
||||||
|
export GNOME_DISABLE_CRASH_DIALOG=1
|
||||||
|
|
||||||
moz_debug=0
|
moz_debug=0
|
||||||
script_args=""
|
script_args=""
|
||||||
pass_arg_count=0
|
pass_arg_count=0
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
|
||||||
# Parent b4176bad9f5de3ac410a170c287bed24c54ab13e
|
|
||||||
Don't show the update channel if the updater is disabled
|
|
||||||
|
|
||||||
diff --git a/mail/base/content/aboutDialog.js b/mail/base/content/aboutDialog.js
|
|
||||||
--- a/mail/base/content/aboutDialog.js
|
|
||||||
+++ b/mail/base/content/aboutDialog.js
|
|
||||||
@@ -72,21 +72,21 @@ function init(aEvent)
|
|
||||||
if (/a\d+(pre)?$/.test(version)) {
|
|
||||||
let buildID = Services.appinfo.appBuildID;
|
|
||||||
let buildDate = buildID.slice(0,4) + "-" + buildID.slice(4,6) + "-" + buildID.slice(6,8);
|
|
||||||
document.getElementById("version").value += " (" + buildDate + ")";
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef MOZ_UPDATER
|
|
||||||
gAppUpdater = new appUpdater();
|
|
||||||
-#endif
|
|
||||||
|
|
||||||
let defaults = Services.prefs.getDefaultBranch("");
|
|
||||||
let channelLabel = document.getElementById("currentChannel");
|
|
||||||
channelLabel.value = defaults.getCharPref("app.update.channel");
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#ifdef XP_MACOSX
|
|
||||||
// it may not be sized at this point, and we need its width to calculate its position
|
|
||||||
window.sizeToContent();
|
|
||||||
window.moveTo((screen.availWidth / 2) - (window.outerWidth / 2), screen.availHeight / 5);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/mail/base/content/aboutDialog.xul b/mail/base/content/aboutDialog.xul
|
|
||||||
--- a/mail/base/content/aboutDialog.xul
|
|
||||||
+++ b/mail/base/content/aboutDialog.xul
|
|
||||||
@@ -107,19 +107,21 @@
|
|
||||||
<label>&update.noUpdatesFound;</label>
|
|
||||||
</hbox>
|
|
||||||
<hbox id="manualUpdate" align="center">
|
|
||||||
<label>&update.manual.start;</label><label id="manualLink" class="text-link">&update.manual.linkText;</label><label>&update.manual.end;</label>
|
|
||||||
</hbox>
|
|
||||||
</deck>
|
|
||||||
#endif
|
|
||||||
</vbox>
|
|
||||||
+#ifdef MOZ_UPDATER
|
|
||||||
<description class="text-blurb" id="currentChannelText">
|
|
||||||
&channel.description.start;<label id="currentChannel"/>&channel.description.end;
|
|
||||||
</description>
|
|
||||||
+#endif
|
|
||||||
<description class="text-blurb" id="communityDesc">
|
|
||||||
&community.start2;<label class="text-link" onclick="openURL('http://www.mozilla.org/');" oncommand="openUILink(this.getAttribute('href'), event);">&community.mozillaLink;</label>&community.middle2;<label class="text-link" onclick="openAboutTab('about:credits');">&community.creditsLink;</label>&community.end2;
|
|
||||||
</description>
|
|
||||||
<description class="text-blurb" id="contributeDesc">
|
|
||||||
&contribute.start;<label class="text-link" onclick="openURL('http://www.mozilla.org/contribute/');">&contribute.getInvolvedLink;</label>&contribute.end;
|
|
||||||
</description>
|
|
||||||
</vbox>
|
|
||||||
</vbox>
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:a48c1ab194527e4db27c3f3891c1be78ba6acac40306ad51ca02196326726173
|
|
||||||
size 97498871
|
|
3
thunderbird-11.0-source.tar.bz2
Normal file
3
thunderbird-11.0-source.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:3e303dc8860273759f4f5719ce3771e251322e220276a344d598cf1db43678de
|
||||||
|
size 101418826
|
Loading…
Reference in New Issue
Block a user