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

Unified Diff: Source/core/accessibility/AXObjectCache.h

Issue 23983002: Expose InlineTextBoxes in the accessibility tree. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix include path Created 7 years, 2 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
Index: Source/core/accessibility/AXObjectCache.h
diff --git a/Source/core/accessibility/AXObjectCache.h b/Source/core/accessibility/AXObjectCache.h
index 52caa5c156fe2c2b85c3d54bca61243441895fb2..6463a3affaaa580eab5b4387cefe5075530f3188 100644
--- a/Source/core/accessibility/AXObjectCache.h
+++ b/Source/core/accessibility/AXObjectCache.h
@@ -28,6 +28,7 @@
#include "core/accessibility/AccessibilityObject.h"
#include "core/platform/Timer.h"
+#include "core/rendering/RenderText.h"
#include "wtf/Forward.h"
#include "wtf/HashMap.h"
#include "wtf/HashSet.h"
@@ -89,6 +90,7 @@ public:
AccessibilityObject* getOrCreate(RenderObject*);
AccessibilityObject* getOrCreate(Widget*);
AccessibilityObject* getOrCreate(Node*);
+ AccessibilityObject* getOrCreate(RenderText*, RenderText::AbstractInlineTextBox*);
// used for objects without backing elements
AccessibilityObject* getOrCreate(AccessibilityRole);
@@ -97,10 +99,12 @@ public:
AccessibilityObject* get(RenderObject*);
AccessibilityObject* get(Widget*);
AccessibilityObject* get(Node*);
+ AccessibilityObject* get(RenderText::AbstractInlineTextBox*);
void remove(RenderObject*);
void remove(Node*);
void remove(Widget*);
+ void remove(RenderText::AbstractInlineTextBox*);
void remove(AXID);
void detachWrapper(AccessibilityObject*);
@@ -131,9 +135,13 @@ public:
#if HAVE(ACCESSIBILITY)
static void enableAccessibility() { gAccessibilityEnabled = true; }
static bool accessibilityEnabled() { return gAccessibilityEnabled; }
+ static void setInlineTextBoxAccessibility(bool flag) { gInlineTextBoxAccessibility = flag; }
+ static bool inlineTextBoxAccessibility() { return gInlineTextBoxAccessibility; }
#else
static void enableAccessibility() { }
+ static void setInlineTextBoxAccessibility(bool) { }
static bool accessibilityEnabled() { return false; }
+ static bool inlineTextBoxAccessibility() { return false; }
#endif
void removeAXID(AccessibilityObject*);
@@ -207,9 +215,11 @@ private:
HashMap<RenderObject*, AXID> m_renderObjectMapping;
HashMap<Widget*, AXID> m_widgetObjectMapping;
HashMap<Node*, AXID> m_nodeObjectMapping;
+ HashMap<RenderText::AbstractInlineTextBox*, AXID> m_inlineTextBoxObjectMapping;
HashSet<Node*> m_textMarkerNodes;
OwnPtr<AXComputedObjectAttributeCache> m_computedObjectAttributeCache;
static bool gAccessibilityEnabled;
+ static bool gInlineTextBoxAccessibility;
HashSet<AXID> m_idsInUse;
@@ -235,10 +245,12 @@ inline AccessibilityObject* AXObjectCache::focusedUIElementForPage(const Page*)
inline AccessibilityObject* AXObjectCache::get(RenderObject*) { return 0; }
inline AccessibilityObject* AXObjectCache::get(Node*) { return 0; }
inline AccessibilityObject* AXObjectCache::get(Widget*) { return 0; }
+inline AccessibilityObject* AXObjectCache::get(InlineTextBox*) { return 0; }
inline AccessibilityObject* AXObjectCache::getOrCreate(AccessibilityRole) { return 0; }
inline AccessibilityObject* AXObjectCache::getOrCreate(RenderObject*) { return 0; }
inline AccessibilityObject* AXObjectCache::getOrCreate(Node*) { return 0; }
inline AccessibilityObject* AXObjectCache::getOrCreate(Widget*) { return 0; }
+inline AccessibilityObject* AXObjectCache::getOrCreate(RenderText::AbstractInlineTextBox*) { return 0; }
inline AccessibilityObject* AXObjectCache::rootObject() { return 0; }
inline Element* AXObjectCache::rootAXEditableElement(Node*) { return 0; }
inline bool nodeHasRole(Node*, const String&) { return false; }
@@ -274,6 +286,7 @@ inline void AXObjectCache::remove(AXID) { }
inline void AXObjectCache::remove(RenderObject*) { }
inline void AXObjectCache::remove(Node*) { }
inline void AXObjectCache::remove(Widget*) { }
+inline void AXObjectCache::remove(RenderText::AbstractInlineTextBox*) { }
inline void AXObjectCache::selectedChildrenChanged(RenderObject*) { }
inline void AXObjectCache::selectedChildrenChanged(Node*) { }
#endif

Powered by Google App Engine
This is Rietveld 408576698