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

Unified Diff: Source/modules/accessibility/AXObjectCacheImpl.h

Issue 1072273006: Oilpan: Prepare moving AXObject to heap (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 6 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
« no previous file with comments | « Source/modules/accessibility/AXObject.cpp ('k') | Source/modules/accessibility/AXObjectCacheImpl.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/modules/accessibility/AXObjectCacheImpl.h
diff --git a/Source/modules/accessibility/AXObjectCacheImpl.h b/Source/modules/accessibility/AXObjectCacheImpl.h
index 4ddc39ae9f07f72bddc1587fc5861bcfbff65d45..26930773a737ad3a52184adc580a732508b82e99 100644
--- a/Source/modules/accessibility/AXObjectCacheImpl.h
+++ b/Source/modules/accessibility/AXObjectCacheImpl.h
@@ -78,6 +78,7 @@ public:
virtual void remove(LayoutObject*) override;
virtual void remove(Node*) override;
virtual void remove(Widget*) override;
+ virtual void remove(AbstractInlineTextBox*) override;
virtual const Element* rootAXEditableElement(const Node*) override;
@@ -100,8 +101,6 @@ public:
virtual void setCanvasObjectBounds(Element*, const LayoutRect&) override;
- virtual void clearWeakMembers(Visitor*) override;
-
virtual void inlineTextBoxesUpdated(LayoutObject*) override;
// Called when the scroll offset changes.
@@ -138,7 +137,6 @@ public:
AXObject* firstAccessibleObjectFromNode(const Node*);
void remove(AXID);
- void remove(AbstractInlineTextBox*);
void childrenChanged(AXObject*);
@@ -200,18 +198,21 @@ protected:
void removeNodeForUse(Node* n) { m_textMarkerNodes.remove(n); }
bool isNodeInUse(Node* n) { return m_textMarkerNodes.contains(n); }
- PassRefPtr<AXObject> createFromRenderer(LayoutObject*);
- PassRefPtr<AXObject> createFromNode(Node*);
- PassRefPtr<AXObject> createFromInlineTextBox(AbstractInlineTextBox*);
+ PassRefPtrWillBeRawPtr<AXObject> createFromRenderer(LayoutObject*);
+ PassRefPtrWillBeRawPtr<AXObject> createFromNode(Node*);
+ PassRefPtrWillBeRawPtr<AXObject> createFromInlineTextBox(AbstractInlineTextBox*);
private:
- Document& m_document;
- HashMap<AXID, RefPtr<AXObject>> m_objects;
+
+ RawPtrWillBeMember<Document> m_document;
+ WillBeHeapHashMap<AXID, RefPtrWillBeMember<AXObject>> m_objects;
+ // LayoutObject and AbstractInlineTextBox are not on the Oilpan heap so we
+ // do not use HeapHashMap for those mappings.
HashMap<LayoutObject*, AXID> m_layoutObjectMapping;
- HashMap<Widget*, AXID> m_widgetObjectMapping;
- HashMap<Node*, AXID> m_nodeObjectMapping;
+ WillBeHeapHashMap<RawPtrWillBeMember<Widget>, AXID> m_widgetObjectMapping;
+ WillBeHeapHashMap<RawPtrWillBeMember<Node>, AXID> m_nodeObjectMapping;
HashMap<AbstractInlineTextBox*, AXID> m_inlineTextBoxObjectMapping;
- HashSet<Node*> m_textMarkerNodes;
+ WillBeHeapHashSet<RawPtrWillBeMember<Node>> m_textMarkerNodes;
int m_modificationCount;
HashSet<AXID> m_idsInUse;
@@ -249,7 +250,7 @@ private:
HashMap<String, OwnPtr<HashSet<AXID>>> m_idToAriaOwnersMapping;
Timer<AXObjectCacheImpl> m_notificationPostTimer;
- Vector<pair<RefPtr<AXObject>, AXNotification>> m_notificationsToPost;
+ WillBeHeapVector<pair<RefPtrWillBeMember<AXObject>, AXNotification>> m_notificationsToPost;
void notificationPostTimerFired(Timer<AXObjectCacheImpl>*);
AXObject* focusedImageMapUIElement(HTMLAreaElement*);
« no previous file with comments | « Source/modules/accessibility/AXObject.cpp ('k') | Source/modules/accessibility/AXObjectCacheImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698