summaryrefslogtreecommitdiffstats
path: root/WebCore/accessibility/AXObjectCache.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/accessibility/AXObjectCache.h')
-rw-r--r--WebCore/accessibility/AXObjectCache.h19
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)