OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2003, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2003, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
101 AXObject* get(Widget*); | 101 AXObject* get(Widget*); |
102 AXObject* get(Node*); | 102 AXObject* get(Node*); |
103 AXObject* get(AbstractInlineTextBox*); | 103 AXObject* get(AbstractInlineTextBox*); |
104 | 104 |
105 void remove(RenderObject*); | 105 void remove(RenderObject*); |
106 void remove(Node*); | 106 void remove(Node*); |
107 void remove(Widget*); | 107 void remove(Widget*); |
108 void remove(AbstractInlineTextBox*); | 108 void remove(AbstractInlineTextBox*); |
109 void remove(AXID); | 109 void remove(AXID); |
110 | 110 |
111 void clearWeakMembers(Visitor*); | |
112 | |
111 void detachWrapper(AXObject*); | 113 void detachWrapper(AXObject*); |
112 void attachWrapper(AXObject*); | 114 void attachWrapper(AXObject*); |
113 void childrenChanged(Node*); | 115 void childrenChanged(Node*); |
114 void childrenChanged(RenderObject*); | 116 void childrenChanged(RenderObject*); |
115 void childrenChanged(AXObject*); | 117 void childrenChanged(AXObject*); |
116 void checkedStateChanged(Node*); | 118 void checkedStateChanged(Node*); |
117 void selectedChildrenChanged(Node*); | 119 void selectedChildrenChanged(Node*); |
118 void selectedChildrenChanged(RenderObject*); | 120 void selectedChildrenChanged(RenderObject*); |
119 void selectionChanged(Node*); | 121 void selectionChanged(Node*); |
120 // Called by a node when text or a text equivalent (e.g. alt) attribute is c hanged. | 122 // Called by a node when text or a text equivalent (e.g. alt) attribute is c hanged. |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
201 void postPlatformNotification(AXObject*, AXNotification); | 203 void postPlatformNotification(AXObject*, AXNotification); |
202 void textChanged(AXObject*); | 204 void textChanged(AXObject*); |
203 void labelChanged(Element*); | 205 void labelChanged(Element*); |
204 | 206 |
205 // This is a weak reference cache for knowing if Nodes used by TextMarkers a re valid. | 207 // This is a weak reference cache for knowing if Nodes used by TextMarkers a re valid. |
206 void setNodeInUse(Node* n) { m_textMarkerNodes.add(n); } | 208 void setNodeInUse(Node* n) { m_textMarkerNodes.add(n); } |
207 void removeNodeForUse(Node* n) { m_textMarkerNodes.remove(n); } | 209 void removeNodeForUse(Node* n) { m_textMarkerNodes.remove(n); } |
208 bool isNodeInUse(Node* n) { return m_textMarkerNodes.contains(n); } | 210 bool isNodeInUse(Node* n) { return m_textMarkerNodes.contains(n); } |
209 | 211 |
210 private: | 212 private: |
211 Document& m_document; | 213 Document& m_document; |
haraken
2014/04/25 05:21:42
Now that Document is on-heap and can outlive AXObj
Mads Ager (chromium)
2014/04/25 10:58:25
The AXObjectCache has not been moved to the heap y
| |
212 HashMap<AXID, RefPtr<AXObject> > m_objects; | 214 HashMap<AXID, RefPtr<AXObject> > m_objects; |
213 HashMap<RenderObject*, AXID> m_renderObjectMapping; | 215 HashMap<RenderObject*, AXID> m_renderObjectMapping; |
214 HashMap<Widget*, AXID> m_widgetObjectMapping; | 216 HashMap<Widget*, AXID> m_widgetObjectMapping; |
215 HashMap<Node*, AXID> m_nodeObjectMapping; | 217 HashMap<Node*, AXID> m_nodeObjectMapping; |
216 HashMap<AbstractInlineTextBox*, AXID> m_inlineTextBoxObjectMapping; | 218 HashMap<AbstractInlineTextBox*, AXID> m_inlineTextBoxObjectMapping; |
217 HashSet<Node*> m_textMarkerNodes; | 219 HashSet<Node*> m_textMarkerNodes; |
218 OwnPtr<AXComputedObjectAttributeCache> m_computedObjectAttributeCache; | 220 OwnPtr<AXComputedObjectAttributeCache> m_computedObjectAttributeCache; |
219 static bool gAccessibilityEnabled; | 221 static bool gAccessibilityEnabled; |
220 static bool gInlineTextBoxAccessibility; | 222 static bool gInlineTextBoxAccessibility; |
221 | 223 |
222 HashSet<AXID> m_idsInUse; | 224 HashSet<AXID> m_idsInUse; |
223 | 225 |
224 Timer<AXObjectCache> m_notificationPostTimer; | 226 Timer<AXObjectCache> m_notificationPostTimer; |
225 Vector<pair<RefPtr<AXObject>, AXNotification> > m_notificationsToPost; | 227 Vector<pair<RefPtr<AXObject>, AXNotification> > m_notificationsToPost; |
226 void notificationPostTimerFired(Timer<AXObjectCache>*); | 228 void notificationPostTimerFired(Timer<AXObjectCache>*); |
227 | 229 |
228 static AXObject* focusedImageMapUIElement(HTMLAreaElement*); | 230 static AXObject* focusedImageMapUIElement(HTMLAreaElement*); |
229 | 231 |
230 AXID getAXID(AXObject*); | 232 AXID getAXID(AXObject*); |
231 }; | 233 }; |
232 | 234 |
233 bool nodeHasRole(Node*, const String& role); | 235 bool nodeHasRole(Node*, const String& role); |
234 // This will let you know if aria-hidden was explicitly set to false. | 236 // This will let you know if aria-hidden was explicitly set to false. |
235 bool isNodeAriaVisible(Node*); | 237 bool isNodeAriaVisible(Node*); |
236 | 238 |
237 } | 239 } |
238 | 240 |
239 #endif | 241 #endif |
OLD | NEW |