diff options
Diffstat (limited to 'chromium/ui/accessibility/platform/ax_platform_node.h')
-rw-r--r-- | chromium/ui/accessibility/platform/ax_platform_node.h | 21 |
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 |