Index: third_party/WebKit/Source/modules/accessibility/AXObject.h |
diff --git a/third_party/WebKit/Source/modules/accessibility/AXObject.h b/third_party/WebKit/Source/modules/accessibility/AXObject.h |
index 4f65993d5d4821f97beeb88d55fcbb1a51d82350..7dd79000574c6135ea7ed3ccf486a3e39e013c52 100644 |
--- a/third_party/WebKit/Source/modules/accessibility/AXObject.h |
+++ b/third_party/WebKit/Source/modules/accessibility/AXObject.h |
@@ -324,6 +324,35 @@ enum TextUnderElementMode { |
// present |
}; |
+enum class AXBoolAttribute { |
+ AriaModal, |
+}; |
+ |
+enum class AXStringAttribute { |
+ AriaKeyShortcuts, |
+ AriaRoleDescription, |
+}; |
+ |
+enum class AXObjectAttribute { |
+ AriaActiveDescendant, |
+ AriaErrorMessage, |
+}; |
+ |
+enum class AXObjectVectorAttribute { |
+ AriaControls, |
+ AriaDetails, |
+ AriaFlowTo, |
+}; |
+ |
+class AXSparseAttributeMap { |
+ public: |
+ virtual void addBoolAttribute(AXBoolAttribute, bool) = 0; |
+ virtual void addStringAttribute(AXStringAttribute, const String&) = 0; |
+ virtual void addObjectAttribute(AXObjectAttribute, AXObject*) = 0; |
+ virtual void addObjectVectorAttribute(AXObjectVectorAttribute, |
+ HeapVector<Member<AXObject>>&) = 0; |
+}; |
+ |
// The source of the accessible name of an element. This is needed |
// because on some platforms this determines how the accessible name |
// is exposed. |
@@ -570,6 +599,8 @@ class MODULES_EXPORT AXObject : public GarbageCollectedFinalized<AXObject> { |
AXID axObjectID() const { return m_id; } |
+ virtual void getSparseAXAttributes(AXSparseAttributeMap&) const {} |
+ |
// Determine subclass type. |
virtual bool isAXNodeObject() const { return false; } |
virtual bool isAXLayoutObject() const { return false; } |
@@ -824,8 +855,6 @@ class MODULES_EXPORT AXObject : public GarbageCollectedFinalized<AXObject> { |
// ARIA attributes. |
virtual AXObject* activeDescendant() { return nullptr; } |
virtual String ariaAutoComplete() const { return String(); } |
- virtual void ariaFlowToElements(AXObjectVector&) const {} |
- virtual void ariaControlsElements(AXObjectVector&) const {} |
virtual void ariaOwnsElements(AXObjectVector& owns) const {} |
virtual void ariaDescribedbyElements(AXObjectVector&) const {} |
virtual void ariaLabelledbyElements(AXObjectVector&) const {} |