forked from pool/MozillaFirefox
- update to Firefox 9
- Fix accessibility under GNOME 3 (bnc#732898) OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=243
This commit is contained in:
parent
8c4a34d482
commit
02a5839fe7
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3ca29edc09eda06374e682f7976d07d79ce7af4878a48cf277b20970f07d6995
|
||||
size 25675
|
||||
oid sha256:86aad371f237cfd3930eacbd490eb46a3761dc7da695cd2b63e209e2470e032e
|
||||
size 25677
|
||||
|
@ -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
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:52ec651f4a7a0a22f317b5d3cf45e6b7817deea686178715ec8d87cf45732257
|
||||
size 70118504
|
3
firefox-9.0-source.tar.bz2
Normal file
3
firefox-9.0-source.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:25ca90b9c783a3f98b64133129ff2defa87e219700e56e08e1a5326b8a539bd9
|
||||
size 74055226
|
@ -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
|
||||
+<?xml version="1.0"?>
|
||||
+# -*- Mode: HTML -*-
|
||||
@ -237,7 +237,6 @@ new file mode 100644
|
||||
+ noautohide="true"
|
||||
+ titlebar="normal"
|
||||
+ close="true"
|
||||
+ onpopuphiding="InspectorUI.closeInspectorUI();"
|
||||
+ label="&inspectPanelTitle.label;">
|
||||
+ <hbox id="tree-panel-resizer-box" align="end">
|
||||
+ <spacer flex="1" />
|
||||
@ -962,7 +961,7 @@ new file mode 100644
|
||||
+ contentcontextmenu="contentAreaContextMenu"
|
||||
+ autocompletepopup="PopupAutoComplete"
|
||||
+ onclick="return contentAreaClick(event, false);"/>
|
||||
+ <statuspanel id="statusbar-display" label=""/>
|
||||
+ <statuspanel id="statusbar-display" inactive="true"/>
|
||||
+ </vbox>
|
||||
+ <vbox id="browser-border-end" hidden="true" layer="true"/>
|
||||
+ </hbox>
|
||||
@ -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
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:92ddf4da3dcdcf5882a2f90aabb013217dc958007ba6babf6ab13ffe5c64fc4a
|
||||
size 44202509
|
3
l10n-9.0.tar.bz2
Normal file
3
l10n-9.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4fc1e1ef26f76befda68849f5f5a24940fbfcf62bed4c2c02a9a4acbbb353593
|
||||
size 44579683
|
417
mozilla-a11y.patch
Normal file
417
mozilla-a11y.patch
Normal file
@ -0,0 +1,417 @@
|
||||
# HG changeset patch
|
||||
# User Michael Gorse <mgorse@suse.com>
|
||||
# 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 <gtk/gtk.h>
|
||||
#include <atk/atk.h>
|
||||
+#include <dbus/dbus.h>
|
||||
+
|
||||
+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<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 +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<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
|
||||
@@ -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<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 +6472,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.
|
@ -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 @@
|
||||
+<?xml version="1.0"?>
|
||||
+
|
||||
+<!DOCTYPE bindings [
|
||||
@ -1975,6 +1975,8 @@ new file mode 100644
|
||||
+ <handler event="command">
|
||||
+ // 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);
|
||||
+ </handler>
|
||||
+ <handler event="select">
|
||||
@ -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)) {
|
||||
|
@ -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) \
|
||||
|
@ -1,20 +1,20 @@
|
||||
From: Hans Petter Jansson <hpj@copyleft.no>
|
||||
Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
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
|
||||
|
@ -1,2 +1,2 @@
|
||||
REV=d03b51a9b2bd
|
||||
REV=34852484d0ae
|
||||
REPO=http://hg.mozilla.org/releases/mozilla-release
|
||||
|
Loading…
Reference in New Issue
Block a user