Supervised user whitelists: Cleanup
[chromium-blink-merge.git] / ui / accessibility / platform / ax_platform_node_auralinux.h
blob8f86bc71d8d2bdfd9d377e3a064dc8a31a56f99a
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_
8 #include <atk/atk.h>
10 #include "ui/accessibility/ax_export.h"
11 #include "ui/accessibility/platform/ax_platform_node_base.h"
13 namespace ui {
15 // Implements accessibility on Aura Linux using ATK.
16 class AXPlatformNodeAuraLinux : public AXPlatformNodeBase {
17 public:
18 AXPlatformNodeAuraLinux();
20 // Set or get the root-level Application object that's the parent of all
21 // top-level windows.
22 AX_EXPORT static void SetApplication(AXPlatformNode* application);
23 static AXPlatformNode* application() { return application_; }
25 AtkRole GetAtkRole();
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;
38 private:
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
45 // top-level windows.
46 static AXPlatformNode* application_;
48 DISALLOW_COPY_AND_ASSIGN(AXPlatformNodeAuraLinux);
51 } // namespace ui
53 #endif // UI_ACCESSIBILITY_AX_PLATFORM_NODE_AURALINUX_H_