summaryrefslogtreecommitdiff
path: root/chromium/ui/accessibility/platform/ax_platform_node.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/accessibility/platform/ax_platform_node.h')
-rw-r--r--chromium/ui/accessibility/platform/ax_platform_node.h21
1 files changed, 17 insertions, 4 deletions
diff --git a/chromium/ui/accessibility/platform/ax_platform_node.h b/chromium/ui/accessibility/platform/ax_platform_node.h
index 7204c23aa88..8aa38ad0a82 100644
--- a/chromium/ui/accessibility/platform/ax_platform_node.h
+++ b/chromium/ui/accessibility/platform/ax_platform_node.h
@@ -5,9 +5,12 @@
#ifndef UI_ACCESSIBILITY_PLATFORM_AX_PLATFORM_NODE_H_
#define UI_ACCESSIBILITY_PLATFORM_AX_PLATFORM_NODE_H_
+#include "base/lazy_instance.h"
+#include "base/observer_list.h"
#include "build/build_config.h"
#include "ui/accessibility/ax_enums.h"
#include "ui/accessibility/ax_export.h"
+#include "ui/accessibility/ax_mode_observer.h"
#include "ui/gfx/native_widget_types.h"
namespace ui {
@@ -30,6 +33,15 @@ class AX_EXPORT AXPlatformNode {
static AXPlatformNode* FromNativeViewAccessible(
gfx::NativeViewAccessible accessible);
+ // Register and unregister to receive notifications about AXMode changes
+ // for this node.
+ static void AddAXModeObserver(AXModeObserver* observer);
+ static void RemoveAXModeObserver(AXModeObserver* observer);
+
+ // Helper static function to notify all global observers about
+ // the addition of an AXMode flag.
+ static void NotifyAddAXModeFlags(AXMode mode_flags);
+
// Call Destroy rather than deleting this, because the subclass may
// use reference counting.
virtual void Destroy();
@@ -41,7 +53,7 @@ class AX_EXPORT AXPlatformNode {
// Fire a platform-specific notification that an event has occurred on
// this object.
- virtual void NotifyAccessibilityEvent(ui::AXEvent event_type) = 0;
+ virtual void NotifyAccessibilityEvent(AXEvent event_type) = 0;
// Return this object's delegate.
virtual AXPlatformNodeDelegate* GetDelegate() const = 0;
@@ -50,9 +62,10 @@ class AX_EXPORT AXPlatformNode {
AXPlatformNode();
virtual ~AXPlatformNode();
- virtual AXPlatformNode* GetFromUniqueId(int32_t unique_id);
-
- int32_t unique_id_;
+ private:
+ // Global ObserverList for AXMode changes.
+ static base::LazyInstance<base::ObserverList<AXModeObserver>>::Leaky
+ ax_mode_observers_;
};
} // namespace ui