Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Unified Diff: ui/accessibility/platform/ax_platform_node_base.h

Issue 909143003: Re-land: Implement NativeViewAccessibilityWin using AXPlatformNodeWin. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update GN build Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/accessibility/platform/ax_platform_node.cc ('k') | ui/accessibility/platform/ax_platform_node_base.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/accessibility/platform/ax_platform_node_base.h
diff --git a/ui/accessibility/platform/ax_platform_node_base.h b/ui/accessibility/platform/ax_platform_node_base.h
index fcc0f5c5918ac3f9c46dc2485d72e402d8e0590b..7555ec0fc800de064fa4ed610a41726ff515a0fd 100644
--- a/ui/accessibility/platform/ax_platform_node_base.h
+++ b/ui/accessibility/platform/ax_platform_node_base.h
@@ -12,6 +12,7 @@
namespace ui {
+struct AXNodeData;
class AXPlatformNodeDelegate;
class AXPlatformNodeBase : public AXPlatformNode {
@@ -19,20 +20,56 @@ class AXPlatformNodeBase : public AXPlatformNode {
virtual void Init(AXPlatformNodeDelegate* delegate);
// These are simple wrappers to our delegate.
- AXRole GetRole() const;
+ const AXNodeData& GetData() const;
gfx::Rect GetBoundsInScreen() const;
gfx::NativeViewAccessible GetParent();
int GetChildCount();
gfx::NativeViewAccessible ChildAtIndex(int index);
- // AXPlatformNode
+ // This needs to be implemented for each platform.
+ virtual int GetIndexInParent() = 0;
+
+ // AXPlatformNode.
void Destroy() override;
gfx::NativeViewAccessible GetNativeViewAccessible() override;
+ AXPlatformNodeDelegate* GetDelegate() const override;
+
+ // Helpers.
+ AXPlatformNodeBase* GetPreviousSibling();
+ AXPlatformNodeBase* GetNextSibling();
+ bool IsDescendant(AXPlatformNodeBase* descendant);
+
+ bool HasBoolAttribute(ui::AXBoolAttribute attr) const;
+ bool GetBoolAttribute(ui::AXBoolAttribute attr) const;
+ bool GetBoolAttribute(ui::AXBoolAttribute attr, bool* value) const;
+
+ bool HasFloatAttribute(ui::AXFloatAttribute attr) const;
+ float GetFloatAttribute(ui::AXFloatAttribute attr) const;
+ bool GetFloatAttribute(ui::AXFloatAttribute attr, float* value) const;
+
+ bool HasIntAttribute(ui::AXIntAttribute attribute) const;
+ int GetIntAttribute(ui::AXIntAttribute attribute) const;
+ bool GetIntAttribute(ui::AXIntAttribute attribute, int* value) const;
+
+ bool HasStringAttribute(
+ ui::AXStringAttribute attribute) const;
+ const std::string& GetStringAttribute(ui::AXStringAttribute attribute) const;
+ bool GetStringAttribute(ui::AXStringAttribute attribute,
+ std::string* value) const;
+ bool GetString16Attribute(ui::AXStringAttribute attribute,
+ base::string16* value) const;
+ base::string16 GetString16Attribute(
+ ui::AXStringAttribute attribute) const;
protected:
AXPlatformNodeBase();
~AXPlatformNodeBase() override;
+ // Cast a gfx::NativeViewAccessible to an AXPlatformNodeBase if it is one,
+ // or return NULL if it's not an instance of this class.
+ static AXPlatformNodeBase* FromNativeViewAccessible(
+ gfx::NativeViewAccessible accessible);
+
AXPlatformNodeDelegate* delegate_; // Weak. Owns this.
private:
« no previous file with comments | « ui/accessibility/platform/ax_platform_node.cc ('k') | ui/accessibility/platform/ax_platform_node_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698