1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef UI_ACCESSIBILITY_AX_PLATFORM_NODE_AURALINUX_H_
6 #define UI_ACCESSIBILITY_AX_PLATFORM_NODE_AURALINUX_H_
10 #include "ui/accessibility/ax_export.h"
11 #include "ui/accessibility/platform/ax_platform_node_base.h"
15 // Implements accessibility on Aura Linux using ATK.
16 class AXPlatformNodeAuraLinux
: public AXPlatformNodeBase
{
18 AXPlatformNodeAuraLinux();
20 // Set or get the root-level Application object that's the parent of all
22 AX_EXPORT
static void SetApplication(AXPlatformNode
* application
);
23 static AXPlatformNode
* application() { return application_
; }
26 void GetAtkState(AtkStateSet
* state_set
);
27 void GetAtkRelations(AtkRelationSet
* atk_relation_set
);
29 // AXPlatformNode overrides.
30 void Destroy() override
;
31 gfx::NativeViewAccessible
GetNativeViewAccessible() override
;
32 void NotifyAccessibilityEvent(ui::AXEvent event_type
) override
;
34 // AXPlatformNodeBase overrides.
35 void Init(AXPlatformNodeDelegate
* delegate
) override
;
36 int GetIndexInParent() override
;
39 ~AXPlatformNodeAuraLinux() override
;
41 // We own a reference to this ref-counted object.
42 AtkObject
* atk_object_
;
44 // The root-level Application object that's the parent of all
46 static AXPlatformNode
* application_
;
48 DISALLOW_COPY_AND_ASSIGN(AXPlatformNodeAuraLinux
);
53 #endif // UI_ACCESSIBILITY_AX_PLATFORM_NODE_AURALINUX_H_