diff options
Diffstat (limited to 'WebCore/accessibility/AXObjectCache.h')
-rw-r--r-- | WebCore/accessibility/AXObjectCache.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/WebCore/accessibility/AXObjectCache.h b/WebCore/accessibility/AXObjectCache.h index 7a808dd..96ded44 100644 --- a/WebCore/accessibility/AXObjectCache.h +++ b/WebCore/accessibility/AXObjectCache.h @@ -42,13 +42,12 @@ class WebCoreTextMarker; namespace WebCore { + class Document; + class Node; + class Page; class RenderObject; class String; class VisiblePosition; - class AccessibilityObject; - class Node; - - typedef unsigned AXID; struct TextMarkerData { AXID axID; @@ -59,9 +58,11 @@ namespace WebCore { class AXObjectCache { public: - AXObjectCache(); + AXObjectCache(const Document*); ~AXObjectCache(); - + + static AccessibilityObject* focusedUIElementForPage(const Page*); + // to be used with render objects AccessibilityObject* getOrCreate(RenderObject*); @@ -94,11 +95,13 @@ namespace WebCore { void removeAXID(AccessibilityObject*); bool isIDinUse(AXID id) const { return m_idsInUse.contains(id); } + AXID platformGenerateAXID() const; + AccessibilityObject* objectFromAXID(AXID id) const { return m_objects.get(id).get(); } // Text marker utilities. static void textMarkerDataForVisiblePosition(TextMarkerData&, const VisiblePosition&); static VisiblePosition visiblePositionForTextMarkerData(TextMarkerData&); - + private: HashMap<AXID, RefPtr<AccessibilityObject> > m_objects; HashMap<RenderObject*, AXID> m_renderObjectMapping; @@ -113,6 +116,8 @@ namespace WebCore { AXID getAXID(AccessibilityObject*); bool nodeIsAriaType(Node* node, String role); + + const Document* m_document; }; #if !HAVE(ACCESSIBILITY) |