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 |