diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes
index 5a00f17d..4b33b862 100644
--- a/MozillaFirefox.changes
+++ b/MozillaFirefox.changes
@@ -1,3 +1,13 @@
+-------------------------------------------------------------------
+Sun Dec 18 09:52:08 UTC 2011 - wr@rosenauer.org
+
+- update to Firefox 9
+
+-------------------------------------------------------------------
+Sun Nov 27 03:51:54 UTC 2011 - mgorse@suse.com
+
+- Fix accessibility under GNOME 3 (bnc#732898)
+
-------------------------------------------------------------------
Sat Nov 12 15:16:38 UTC 2011 - dvaleev@suse.com
diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec
index 383989ed..aa7a3258 100644
--- a/MozillaFirefox.spec
+++ b/MozillaFirefox.spec
@@ -16,26 +16,37 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
-
-%define major 8
+%define major 9
%define mainver %major.0
Name: MozillaFirefox
-BuildRequires: Mesa-devel autoconf213 dbus-1-glib-devel fdupes gcc-c++ libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python startup-notification-devel unzip update-desktop-files yasm zip
+BuildRequires: Mesa-devel
+BuildRequires: autoconf213
+BuildRequires: dbus-1-glib-devel
+BuildRequires: fdupes
+BuildRequires: gcc-c++
+BuildRequires: libcurl-devel
+BuildRequires: libgnomeui-devel
+BuildRequires: libidl-devel
+BuildRequires: libnotify-devel
+BuildRequires: python
+BuildRequires: startup-notification-devel
+BuildRequires: unzip
+BuildRequires: update-desktop-files
+BuildRequires: yasm
+BuildRequires: zip
%if %suse_version > 1110
BuildRequires: libiw-devel
BuildRequires: libproxy-devel
%else
BuildRequires: wireless-tools
%endif
-BuildRequires: mozilla-nspr-devel >= 4.8.8
-BuildRequires: mozilla-nss-devel >= 3.12.10
+BuildRequires: mozilla-nspr-devel >= 4.8.9
+BuildRequires: mozilla-nss-devel >= 3.13.1
BuildRequires: nss-shared-helper-devel
-License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
Version: %{mainver}
-Release: 1
-%define releasedate 2011110500
+Release: 0
+%define releasedate 2011121600
Provides: web_browser
Provides: firefox = %{version}-%{release}
Provides: firefox = %{mainver}
@@ -44,8 +55,9 @@ Provides: firefox = %{mainver}
%define kde_helper_version 6
Provides: mozilla-kde4-version = %{kde_helper_version}
Summary: Mozilla Firefox Web Browser
-Url: http://www.mozilla.org/
+License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
Group: Productivity/Networking/Web/Browsers
+Url: http://www.mozilla.org/
Source: firefox-%{version}-source.tar.bz2
Source1: MozillaFirefox.desktop
Source2: MozillaFirefox-rpmlintrc
@@ -74,6 +86,7 @@ Patch10: mozilla-dump_syms-static.patch
Patch11: mozilla-sle11.patch
Patch12: mozilla-linux3.patch
Patch13: mozilla-ppc64.patch
+Patch14: mozilla-a11y.patch
# Firefox/browser
Patch31: firefox-browser-css.patch
Patch32: firefox-cross-desktop.patch
@@ -117,7 +130,6 @@ compliance and performance. Its functionality can be enhanced via a
plethora of extensions.
%package devel
-License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
Summary: Devel package for Firefox
Group: Development/Tools/Other
Provides: firefox-devel = %{version}-%{release}
@@ -132,9 +144,8 @@ Development files for Firefox to make packaging of addons easier.
%package translations-common
Summary: Common translations for MozillaFirefox
-License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
-Provides: locale(%{name}:ar;ca;cs;da;de;en_GB;es_AR;es_CL;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
Group: System/Localization
+Provides: locale(%{name}:ar;ca;cs;da;de;en_GB;es_AR;es_CL;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
Requires: %{name} = %{version}
Obsoletes: %{name}-translations < %{version}-%{release}
@@ -144,9 +155,8 @@ of MozillaFirefox.
%package translations-other
Summary: Extra translations for MozillaFirefox
-License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
-Provides: locale(%{name}:af;ak;ast;be;bg;bn_BD;bn_IN;br;bs;cy;el;en_ZA;eo;es_MX;et;eu;fa;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;kn;ku;lg;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;vi;zu)
Group: System/Localization
+Provides: locale(%{name}:af;ak;ast;be;bg;bn_BD;bn_IN;br;bs;cy;el;en_ZA;eo;es_MX;et;eu;fa;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;kn;ku;lg;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;vi;zu)
Requires: %{name} = %{version}
Obsoletes: %{name}-translations < %{version}-%{release}
@@ -156,7 +166,6 @@ of MozillaFirefox.
%endif
%package branding-upstream
-License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
Summary: Upstream branding for MozillaFirefox
Group: Productivity/Networking/Web/Browsers
Provides: %{name}-branding = 5.0
@@ -179,7 +188,6 @@ This package provides upstream look and feel for MozillaFirefox.
%if %crashreporter
%package buildsymbols
-License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
Summary: Breakpad buildsymbols for %{name}
Group: Development/Debug
@@ -206,6 +214,7 @@ cd $RPM_BUILD_DIR/mozilla
%endif
%patch12 -p1
%patch13 -p1
+%patch14 -p1
#
%patch31 -p1
%patch32 -p1
@@ -308,6 +317,9 @@ mkdir -p $RPM_BUILD_ROOT%{progdir}/searchplugins
# install kde.js
%if %suse_version >= 1110
install -m 644 %{SOURCE6} $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/firefox.js
%endif
# install add-plugins.sh
sed "s:%%PROGDIR:%{progdir}:g" \
@@ -350,7 +362,10 @@ find $RPM_BUILD_ROOT%{progdir} \
-name "*.jsm" -o \
-name "*.rdf" -o \
-name "*.properties" -o \
- -name "*.dtd" | xargs chmod a-x
+ -name "*.dtd" -o \
+ -name "*.txt" -o \
+ -name "*.xml" -o \
+ -name "*.css" | xargs chmod a-x
# overwrite the mozilla start-script and link it to /usr/bin
mkdir --parents $RPM_BUILD_ROOT/usr/bin
sed "s:%%PREFIX:%{_prefix}:g
diff --git a/compare-locales.tar.bz2 b/compare-locales.tar.bz2
index 94d2caf5..51a355fa 100644
--- a/compare-locales.tar.bz2
+++ b/compare-locales.tar.bz2
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:3ca29edc09eda06374e682f7976d07d79ce7af4878a48cf277b20970f07d6995
-size 25675
+oid sha256:86aad371f237cfd3930eacbd490eb46a3761dc7da695cd2b63e209e2470e032e
+size 25677
diff --git a/create-tar.sh b/create-tar.sh
index a7ff1681..2befb3cd 100644
--- a/create-tar.sh
+++ b/create-tar.sh
@@ -2,8 +2,8 @@
CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_8_0_RELEASE"
-VERSION="8.0"
+RELEASE_TAG="FIREFOX_9_0_RELEASE"
+VERSION="9.0"
# mozilla
hg clone http://hg.mozilla.org/$BRANCH mozilla
diff --git a/firefox-8.0-source.tar.bz2 b/firefox-8.0-source.tar.bz2
deleted file mode 100644
index 0167c3e3..00000000
--- a/firefox-8.0-source.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:52ec651f4a7a0a22f317b5d3cf45e6b7817deea686178715ec8d87cf45732257
-size 70118504
diff --git a/firefox-9.0-source.tar.bz2 b/firefox-9.0-source.tar.bz2
new file mode 100644
index 00000000..1200f634
--- /dev/null
+++ b/firefox-9.0-source.tar.bz2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:25ca90b9c783a3f98b64133129ff2defa87e219700e56e08e1a5326b8a539bd9
+size 74055226
diff --git a/firefox-kde.patch b/firefox-kde.patch
index 123fa8ff..3640a92d 100644
--- a/firefox-kde.patch
+++ b/firefox-kde.patch
@@ -2,7 +2,7 @@ diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1055 @@
+@@ -0,0 +1,1054 @@
+#filter substitution
+
+# -*- Mode: HTML -*-
@@ -237,7 +237,6 @@ new file mode 100644
+ noautohide="true"
+ titlebar="normal"
+ close="true"
-+ onpopuphiding="InspectorUI.closeInspectorUI();"
+ label="&inspectPanelTitle.label;">
+
+
@@ -962,7 +961,7 @@ new file mode 100644
+ contentcontextmenu="contentAreaContextMenu"
+ autocompletepopup="PopupAutoComplete"
+ onclick="return contentAreaClick(event, false);"/>
-+
++
+
+
+
@@ -1075,11 +1074,11 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn
* content/browser/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
* content/browser/content.js (content/content.js)
* content/browser/fullscreen-video.xhtml (content/fullscreen-video.xhtml)
- * content/browser/inspector.html (content/inspector.html)
* content/browser/pageinfo/pageInfo.xul (content/pageinfo/pageInfo.xul)
* content/browser/pageinfo/pageInfo.js (content/pageinfo/pageInfo.js)
* content/browser/pageinfo/pageInfo.css (content/pageinfo/pageInfo.css)
* content/browser/pageinfo/pageInfo.xml (content/pageinfo/pageInfo.xml)
+ * content/browser/pageinfo/feeds.js (content/pageinfo/feeds.js)
diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
--- a/browser/components/build/nsModule.cpp
+++ b/browser/components/build/nsModule.cpp
@@ -1100,9 +1099,9 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
#if !defined(XP_OS2)
#include "nsOperaProfileMigrator.h"
#endif
- #include "nsSeamonkeyProfileMigrator.h"
#if defined(XP_WIN) && !defined(__MINGW32__)
-@@ -72,18 +72,16 @@ using namespace mozilla::browser;
+ #include "nsIEProfileMigrator.h"
+@@ -71,18 +71,16 @@ using namespace mozilla::browser;
/////////////////////////////////////////////////////////////////////////////
@@ -1119,10 +1118,10 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
NS_GENERIC_FACTORY_CONSTRUCTOR(nsOperaProfileMigrator)
#endif
NS_GENERIC_FACTORY_CONSTRUCTOR(nsProfileMigrator)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsSeamonkeyProfileMigrator)
#if defined(XP_WIN) && !defined(__MINGW32__)
-@@ -117,17 +115,17 @@ NS_DEFINE_NAMED_CID(NS_OPERAPROFILEMIGRA
- NS_DEFINE_NAMED_CID(NS_SEAMONKEYPROFILEMIGRATOR_CID);
+ NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEProfileMigrator)
+@@ -114,17 +112,17 @@ NS_DEFINE_NAMED_CID(NS_OPERAPROFILEMIGRA
+ #endif
NS_DEFINE_NAMED_CID(NS_PRIVATE_BROWSING_SERVICE_WRAPPER_CID);
static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
@@ -1582,7 +1581,7 @@ new file mode 100644
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -434,16 +434,17 @@
+@@ -424,16 +424,17 @@
#endif
#endif
diff --git a/l10n-8.0.tar.bz2 b/l10n-8.0.tar.bz2
deleted file mode 100644
index f609d152..00000000
--- a/l10n-8.0.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:92ddf4da3dcdcf5882a2f90aabb013217dc958007ba6babf6ab13ffe5c64fc4a
-size 44202509
diff --git a/l10n-9.0.tar.bz2 b/l10n-9.0.tar.bz2
new file mode 100644
index 00000000..84c3dbef
--- /dev/null
+++ b/l10n-9.0.tar.bz2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4fc1e1ef26f76befda68849f5f5a24940fbfcf62bed4c2c02a9a4acbbb353593
+size 44579683
diff --git a/mozilla-a11y.patch b/mozilla-a11y.patch
new file mode 100644
index 00000000..eea7faf8
--- /dev/null
+++ b/mozilla-a11y.patch
@@ -0,0 +1,417 @@
+# HG changeset patch
+# User Michael Gorse
+# Parent d02253d1e8217008dfa26e6e2a901b6a8b75e989
+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,27 @@
+ #include "nsIPrefBranch.h"
+ #include "nsIServiceManager.h"
+ #include "nsAutoPtr.h"
+ #include "nsAccessibilityService.h"
+ #include "AtkSocketAccessible.h"
+
+ #include
+ #include
++#include
++
++using namespace mozilla::a11y;
+
+ typedef GType (* AtkGetTypeType) (void);
+ GType g_atk_hyperlink_impl_type = G_TYPE_INVALID;
+-static bool sATKChecked = false;
++static PRBool sATKChecked = PR_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 +607,17 @@ toplevel_event_watcher(GSignalInvocation
+ }
+
+ return TRUE;
+ }
+
+ PRBool
+ 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
+- PRBool isGnomeATEnabled = PR_FALSE;
+- const char *envValue = PR_GetEnv(sAccEnv);
+- if (envValue) {
+- isGnomeATEnabled = !!atoi(envValue);
+- } else {
+- //check gconf-2 setting
+- nsresult rv;
+- nsCOMPtr 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 +856,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 PRBool 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);
++}
++
++PRBool
++ShouldA11yBeEnabled()
++{
++ static PRBool sChecked = PR_FALSE, sShouldEnable = PR_FALSE;
++ if (sChecked)
++ return sShouldEnable;
++
++ sChecked = PR_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();
++ PRBool dbusSuccess = PR_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 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
+@@ -41,16 +41,36 @@
+
+ #include "nsIAccessibilityService.h"
+
+ #include "a11yGeneric.h"
+ #include "nsAccDocManager.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.
++ */
++PRBool ShouldA11yBeEnabled();
++#endif
++
++} // namespace a11y
++} // namespace mozilla
++
+ class nsAccessibilityService : public nsAccDocManager,
+ public nsIAccessibilityService,
+ public nsIObserver
+ {
+ public:
+ virtual ~nsAccessibilityService();
+
+ NS_DECL_ISUPPORTS_INHERITED
+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
+@@ -103,29 +103,20 @@
+ #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 PRBool sAccessibilityChecked = PR_FALSE;
+-/* static */
+-PRBool nsWindow::sAccessibilityEnabled = PR_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"
+
+@@ -1109,19 +1100,18 @@ nsWindow::Show(PRBool aState)
+ NativeResize(mBounds.x, mBounds.y, mBounds.width, mBounds.height,
+ PR_FALSE);
+ } else if (mNeedsResize) {
+ NativeResize(mBounds.width, mBounds.height, PR_FALSE);
+ }
+ }
+
+ #ifdef ACCESSIBILITY
+- if (aState && sAccessibilityEnabled) {
++ if (aState && a11y::ShouldA11yBeEnabled())
+ CreateRootAccessible();
+- }
+ #endif
+
+ NativeShow(aState);
+
+ return NS_OK;
+ }
+
+ NS_IMETHODIMP
+@@ -3887,16 +3877,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
++
+ // initialize all the common bits of this class
+ BaseCreate(baseParent, aRect, aHandleEventFunction, aContext,
+ aAppShell, aToolkit, aInitData);
+
+ // Do we need to listen for resizes?
+ PRBool listenForResizes = PR_FALSE;;
+ if (aNativeParent || (aInitData && aInitData->mListenForResizes))
+ listenForResizes = PR_TRUE;
+@@ -4278,43 +4273,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, PR_FALSE);
+
+-#ifdef ACCESSIBILITY
+- nsresult rv;
+- if (!sAccessibilityChecked) {
+- sAccessibilityChecked = PR_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 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 +6472,18 @@ nsWindow::DispatchAccessibleEvent()
+ DispatchEvent(&event, status);
+
+ return event.mAccessible;
+ }
+
+ void
+ nsWindow::DispatchEventToRootAccessible(PRUint32 aEventType)
+ {
+- if (!sAccessibilityEnabled) {
++ if (!a11y::ShouldA11yBeEnabled())
+ return;
+- }
+
+ nsCOMPtr accService =
+ do_GetService("@mozilla.org/accessibilityService;1");
+ if (!accService) {
+ return;
+ }
+
+ // Get the root document accessible and fire event to it.
diff --git a/mozilla-kde.patch b/mozilla-kde.patch
index b13cfeab..9ae2762a 100644
--- a/mozilla-kde.patch
+++ b/mozilla-kde.patch
@@ -709,7 +709,7 @@ diff --git a/toolkit/content/widgets/preferences-kde.xml b/toolkit/content/widge
new file mode 100644
--- /dev/null
+++ b/toolkit/content/widgets/preferences-kde.xml
-@@ -0,0 +1,1371 @@
+@@ -0,0 +1,1373 @@
+
+
+
+ // This "command" event handler tracks changes made to preferences by
+ // the user in this window.
++ if (event.sourceEvent)
++ event = event.sourceEvent;
+ this.userChangedValue(event.target);
+
+
@@ -2192,12 +2194,12 @@ diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in
+EXPORTS += nsKDEUtils.h
else
ifeq ($(MOZ_WIDGET_TOOLKIT),qt)
+ MOCSRCS += moc_nsNativeAppSupportQt.cpp
+ $(NULL)
+ CPPSRCS += $(MOCSRCS)
CPPSRCS += nsNativeAppSupportQt.cpp
CPPSRCS += nsQAppInstance.cpp
EXPORTS += nsQAppInstance.h
- else
- CPPSRCS += nsNativeAppSupportDefault.cpp
- endif
diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
new file mode 100644
--- /dev/null
@@ -3615,7 +3617,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
info.dwMinorVersion);
}
+ desktop = NS_LITERAL_STRING("win");
- #elif defined(XP_MACOSX)
+ #elif defined(MOZ_WIDGET_COCOA)
SInt32 majorVersion, minorVersion;
if ((Gestalt(gestaltSystemVersionMajor, &majorVersion) == noErr) &&
(Gestalt(gestaltSystemVersionMinor, &minorVersion) == noErr)) {
diff --git a/mozilla-ppc64.patch b/mozilla-ppc64.patch
index 8c3c4a93..c82ff58a 100644
--- a/mozilla-ppc64.patch
+++ b/mozilla-ppc64.patch
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent 87e43d08cce58b76e1910946c36c6465bb4c74e6
+# Parent 928a29c4a79c9041d6b9f68e24de8f5aab15cc5d
From: upstream
Subject: Fix PPC64 build
https://bugzilla.mozilla.org/show_bug.cgi?id=670719
@@ -8,7 +8,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=654056
diff --git a/ipc/chromium/src/build/build_config.h b/ipc/chromium/src/build/build_config.h
--- a/ipc/chromium/src/build/build_config.h
+++ b/ipc/chromium/src/build/build_config.h
-@@ -52,16 +52,19 @@
+@@ -54,16 +54,19 @@
#define ARCH_CPU_X86_FAMILY 1
#define ARCH_CPU_X86 1
#define ARCH_CPU_32_BITS 1
@@ -23,53 +23,8 @@ diff --git a/ipc/chromium/src/build/build_config.h b/ipc/chromium/src/build/buil
#elif defined(__ppc__) || defined(__powerpc__)
#define ARCH_CPU_PPC 1
#define ARCH_CPU_32_BITS 1
+ #elif defined(__sparc64__)
+ #define ARCH_CPU_SPARC 1
+ #define ARCH_CPU_64_BITS 1
#else
#error Please add support for your architecture in build/build_config.h
- #endif
-
- // Type detection for wchar_t.
-diff --git a/js/src/Makefile.in b/js/src/Makefile.in
---- a/js/src/Makefile.in
-+++ b/js/src/Makefile.in
-@@ -433,16 +433,18 @@ CPPSRCS += \
- YarrPattern.cpp \
- YarrSyntaxChecker.cpp \
- $(NULL)
- else
-
- ###############################################
- # BEGIN include sources for the Nitro assembler
- #
-+ENABLE_YARR_JIT = 1
-+
- VPATH += $(srcdir)/assembler \
- $(srcdir)/assembler/wtf \
- $(srcdir)/assembler/jit \
- $(srcdir)/assembler/assembler \
- $(srcdir)/methodjit \
- $(srcdir)/yarr \
- $(NONE)
-
-@@ -1076,17 +1078,21 @@ endif
-
- ###############################################
- # BEGIN kludges for the Nitro assembler
- #
-
- # 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 -DENABLE_JIT=1
-+CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1
-+
-+ifneq (,$(ENABLE_YARR_JIT)$(ENABLE_TRACEJIT)$(ENABLE_METHODJIT))
-+CXXFLAGS += -DENABLE_JIT=1
-+endif
-
- INCLUDES += -I$(srcdir)/assembler -I$(srcdir)/yarr
-
- ifdef ENABLE_METHODJIT
- # Build a standalone test program that exercises the assembler
- # sources a bit.
- TESTMAIN_OBJS = \
- Assertions.$(OBJ_SUFFIX) \
diff --git a/mozilla-shared-nss-db.patch b/mozilla-shared-nss-db.patch
index f619dcda..1616c267 100644
--- a/mozilla-shared-nss-db.patch
+++ b/mozilla-shared-nss-db.patch
@@ -1,20 +1,20 @@
From: Hans Petter Jansson
Wolfgang Rosenauer
Subject: use libnsssharedhelper if available at compile time
- (can be disabled by exporting MOZ_XRE_NO_NSSHELPER=1)
+ (can be disabled by exporting MOZ_FF_NO_NSSHELPER=1)
References:
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
--- a/config/autoconf.mk.in
+++ b/config/autoconf.mk.in
-@@ -577,16 +577,20 @@ MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS
+@@ -571,16 +571,20 @@ MOZ_LIBNOTIFY_LIBS = @MOZ_LIBNOTIFY_LIBS
+ MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNOTIFY@
+
+ MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GLIB_GMODULE_LIBS = @GLIB_GMODULE_LIBS@
- LIBIDL_CFLAGS = @LIBIDL_CFLAGS@
- LIBIDL_LIBS = @LIBIDL_LIBS@
- STATIC_LIBIDL = @STATIC_LIBIDL@
+MOZ_ENABLE_NSSHELPER = @MOZ_ENABLE_NSSHELPER@
+NSSHELPER_CFLAGS = @NSSHELPER_CFLAGS@
@@ -31,7 +31,7 @@ diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
-@@ -8680,16 +8680,31 @@ AC_SUBST(QCMS_LIBS)
+@@ -8016,16 +8016,31 @@ AC_SUBST(QCMS_LIBS)
dnl ========================================================
dnl HarfBuzz
@@ -66,7 +66,7 @@ diff --git a/configure.in b/configure.in
diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in
--- a/security/manager/ssl/src/Makefile.in
+++ b/security/manager/ssl/src/Makefile.in
-@@ -114,12 +114,14 @@ CSRCS += md4.c
+@@ -113,12 +113,14 @@ CSRCS += md4.c
EXTRA_DEPS = $(NSS_DEP_LIBS)
@@ -109,7 +109,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
#include "nsNetUtil.h"
#include "nsAppDirectoryServiceDefs.h"
-@@ -1748,18 +1755,34 @@ nsNSSComponent::InitializeNSS(PRBool sho
+@@ -1727,18 +1734,34 @@ nsNSSComponent::InitializeNSS(PRBool sho
ConfigureInternalPKCS11Token();
// The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs
@@ -122,11 +122,11 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
- SECMOD_DB, init_flags);
+ SECStatus init_rv = SECFailure;
+#ifdef MOZ_ENABLE_NSSHELPER
-+ if (PR_GetEnv("MOZ_XRE_NO_NSSHELPER")) {
++ if (PR_GetEnv("MOZ_FF_NO_NSSHELPER")) {
+ init_rv = ::NSS_Initialize(profileStr.get(), "", "",
+ SECMOD_DB, init_flags);
+ } else {
-+ init_rv = ::nsshelp_open_db ("mozilla-xul", profileStr.get(), init_flags);
++ init_rv = ::nsshelp_open_db ("Firefox", profileStr.get(), init_flags);
+
+ if (init_rv != SECSuccess) {
+ PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS using nsshelp_open_db in %s\n", profileStr.get()));
@@ -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
--- a/toolkit/library/Makefile.in
+++ b/toolkit/library/Makefile.in
-@@ -139,17 +139,17 @@ ifdef MOZ_DEBUG
+@@ -138,17 +138,17 @@ ifdef MOZ_DEBUG
EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
endif
endif
diff --git a/source-stamp.txt b/source-stamp.txt
index 115cce93..f8e2f89d 100644
--- a/source-stamp.txt
+++ b/source-stamp.txt
@@ -1,2 +1,2 @@
-REV=d03b51a9b2bd
+REV=34852484d0ae
REPO=http://hg.mozilla.org/releases/mozilla-release