1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
diff -up firefox-35.0/mozilla-release/accessible/atk/Platform.cpp.1110211 firefox-35.0/mozilla-release/accessible/atk/Platform.cpp
--- firefox-35.0/mozilla-release/accessible/atk/Platform.cpp.1110211 2015-01-06 06:11:41.000000000 +0100
+++ firefox-35.0/mozilla-release/accessible/atk/Platform.cpp 2015-01-06 12:24:02.508105586 +0100
@@ -18,6 +18,9 @@
#include <dbus/dbus.h>
#endif
#include <gtk/gtk.h>
+#if (MOZ_WIDGET_GTK == 3)
+#include <atk-bridge.h>
+#endif
using namespace mozilla;
using namespace mozilla::a11y;
@@ -43,6 +46,7 @@ static gulong sToplevel_hide_hook = 0;
GType g_atk_hyperlink_impl_type = G_TYPE_INVALID;
+#if (MOZ_WIDGET_GTK == 2)
struct GnomeAccessibilityModule
{
const char *libName;
@@ -119,6 +123,7 @@ LoadGtkModule(GnomeAccessibilityModule&
}
return NS_OK;
}
+#endif // (MOZ_WIDGET_GTK == 2)
void
a11y::PlatformInit()
@@ -158,20 +163,26 @@ a11y::PlatformInit()
}
}
+#if (MOZ_WIDGET_GTK == 2)
// Load and initialize gail library.
nsresult rv = LoadGtkModule(sGail);
if (NS_SUCCEEDED(rv))
(*sGail.init)();
+#endif
// Initialize the MAI Utility class, it will overwrite gail_util.
g_type_class_unref(g_type_class_ref(mai_util_get_type()));
// Init atk-bridge now
PR_SetEnv("NO_AT_BRIDGE=0");
+#if (MOZ_WIDGET_GTK == 2)
rv = LoadGtkModule(sAtkBridge);
if (NS_SUCCEEDED(rv)) {
(*sAtkBridge.init)();
}
+#else
+ atk_bridge_adaptor_init(nullptr, nullptr);
+#endif
if (!sToplevel_event_hook_added) {
sToplevel_event_hook_added = true;
@@ -199,6 +210,7 @@ a11y::PlatformShutdown()
sToplevel_hide_hook);
}
+#if (MOZ_WIDGET_GTK == 2)
if (sAtkBridge.lib) {
// Do not shutdown/unload atk-bridge,
// an exit function registered will take care of it
@@ -220,6 +232,7 @@ a11y::PlatformShutdown()
sGail.init = nullptr;
sGail.shutdown = nullptr;
}
+#endif
// if (sATKLib) {
// PR_UnloadLibrary(sATKLib);
// sATKLib = nullptr;
diff -up firefox-35.0/mozilla-release/config/system-headers.1110211 firefox-35.0/mozilla-release/config/system-headers
--- firefox-35.0/mozilla-release/config/system-headers.1110211 2015-01-06 06:11:48.000000000 +0100
+++ firefox-35.0/mozilla-release/config/system-headers 2015-01-06 12:24:02.508105586 +0100
@@ -189,6 +189,7 @@ asm/signal.h
ASRegistry.h
assert.h
atk/atk.h
+atk-bridge.h
atlcom.h
atlconv.h
atlctl.cpp
diff -up firefox-35.0/mozilla-release/configure.in.1110211 firefox-35.0/mozilla-release/configure.in
--- firefox-35.0/mozilla-release/configure.in.1110211 2015-01-06 12:24:02.509105590 +0100
+++ firefox-35.0/mozilla-release/configure.in 2015-01-06 12:24:49.419274706 +0100
@@ -4364,7 +4364,7 @@ fi
if test "$COMPILE_ENVIRONMENT"; then
if test "$MOZ_ENABLE_GTK3"; then
- PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 $GDK_PACKAGES)
+ PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 atk-bridge-2.0 $GDK_PACKAGES)
MOZ_GTK3_CFLAGS="-I${_topsrcdir}/widget/gtk/compat-gtk3 $MOZ_GTK3_CFLAGS"
dnl Contrary to MOZ_GTK2_LIBS, MOZ_GTK3_LIBS needs to be literally added to TK_LIBS instead
dnl of a make reference because of how TK_LIBS is mangled in toolkit/library/moz.build
|