#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include <atk/atk.h>
#include <map>
#include <memory>
#include <set>
#include <string>
#include <utility>
#if defined(USE_GIO)
#include <gio/gio.h>
#endif
#include "base/environment.h"
#include "base/memory/singleton.h"
#include "base/no_destructor.h"
#include "ui/accessibility/platform/atk_util_auralinux.h"
#include "ui/accessibility/platform/ax_platform.h"
#include "ui/accessibility/platform/ax_platform_node.h"
#include "ui/accessibility/platform/ax_platform_node_auralinux.h"
namespace {
const char* kAccessibilityEnabledVariables[] = …;
struct AtkUtilAuraLinux { … };
struct AtkUtilAuraLinuxClass { … };
G_DEFINE_TYPE(…)
static void atk_util_auralinux_init(AtkUtilAuraLinux *ax_util) { … }
static AtkObject* AtkUtilAuraLinuxGetRoot() { … }
KeySnoopFuncMap;
static KeySnoopFuncMap& GetActiveKeySnoopFunctions() { … }
AXPlatformNodeSet;
static AXPlatformNodeSet& GetNodesWithPostponedEvents() { … }
static void RunPostponedEvents() { … }
static guint AtkUtilAuraLinuxAddKeyEventListener(
AtkKeySnoopFunc key_snoop_function,
gpointer data) { … }
static void AtkUtilAuraLinuxRemoveKeyEventListener(guint listener_id) { … }
static void atk_util_auralinux_class_init(AtkUtilAuraLinuxClass *klass) { … }
}
namespace ui {
AtkUtilAuraLinux* AtkUtilAuraLinux::GetInstance() { … }
bool AtkUtilAuraLinux::ShouldEnableAccessibility() { … }
void AtkUtilAuraLinux::InitializeAsync() { … }
void AtkUtilAuraLinux::InitializeForTesting() { … }
__attribute__((no_sanitize("cfi-icall")))
DiscardAtkKeyEvent AtkUtilAuraLinux::HandleAtkKeyEvent(
AtkKeyEventStruct* key_event) { … }
bool AtkUtilAuraLinux::IsAtSpiReady() { … }
void AtkUtilAuraLinux::SetAtSpiReady(bool ready) { … }
void AtkUtilAuraLinux::PostponeEventsFor(AXPlatformNodeAuraLinux* node) { … }
void AtkUtilAuraLinux::CancelPostponedEventsFor(AXPlatformNodeAuraLinux* node) { … }
}