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 #endif #include +#if (MOZ_WIDGET_GTK == 3) +#include +#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