mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-07 18:04:46 +00:00
Bug 1110211 - a11y update for Gtk3. r=glandium
This commit is contained in:
parent
83a6796724
commit
b2519b99c7
@ -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& aModule)
|
||||
}
|
||||
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;
|
||||
|
@ -189,6 +189,7 @@ asm/signal.h
|
||||
ASRegistry.h
|
||||
assert.h
|
||||
atk/atk.h
|
||||
atk-bridge.h
|
||||
atlcom.h
|
||||
atlconv.h
|
||||
atlctl.cpp
|
||||
|
@ -4426,7 +4426,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
|
||||
|
Loading…
Reference in New Issue
Block a user