Chromium Code Reviews| Index: Source/modules/accessibility/AXObjectCacheImpl.h |
| diff --git a/Source/modules/accessibility/AXObjectCacheImpl.h b/Source/modules/accessibility/AXObjectCacheImpl.h |
| index 4ddc39ae9f07f72bddc1587fc5861bcfbff65d45..3dd082960944387cf1cff47fcb1e3ccc6cf15df7 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<RawPtrWillBeWeakMember<Node>> m_textMarkerNodes; |
|
haraken
2015/06/24 13:27:20
I think this can be a Member as well, since the li
keishi
2015/06/24 15:05:26
Done. Just noticed I can't find setNodeInUse used
|
| 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*); |