// Copyright 2021 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_ACCESSIBILITY_PLATFORM_INSPECT_AX_EVENT_RECORDER_AURALINUX_H_ #define UI_ACCESSIBILITY_PLATFORM_INSPECT_AX_EVENT_RECORDER_AURALINUX_H_ #include <atk/atk.h> #include <atspi/atspi.h> #include "base/component_export.h" #include "base/memory/raw_ptr.h" #include "base/process/process_handle.h" #include "ui/accessibility/platform/inspect/ax_event_recorder.h" #include "ui/accessibility/platform/inspect/ax_inspect.h" namespace ui { class AXPlatformTreeManager; // This class has two distinct event recording code paths. When we are // recording events in-process (typically this is used for // DumpAccessibilityEvents tests), we use ATK's global event handlers. Since // ATK doesn't support intercepting events from other processes, if we have a // non-zero PID or an accessibility application name pattern, we use AT-SPI2 // directly to intercept events. // TODO(crbug.com/40722484) AT-SPI2 should be capable of intercepting events // in-process as well, thus it should be possible to remove the ATK code path // entirely. class COMPONENT_EXPORT(AX_PLATFORM) AXEventRecorderAuraLinux : public AXEventRecorder { … }; } // namespace ui #endif // UI_ACCESSIBILITY_PLATFORM_INSPECT_AX_EVENT_RECORDER_AURALINUX_H_