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