Chromium Code Reviews| Index: Source/modules/accessibility/AXScrollView.h |
| diff --git a/Source/modules/accessibility/AXScrollView.h b/Source/modules/accessibility/AXScrollView.h |
| index 82842e022e58b1cea9263fe3e18076ab0b87338b..7161ee62dcfccbd49659d8f354ff8f6c385759ba 100644 |
| --- a/Source/modules/accessibility/AXScrollView.h |
| +++ b/Source/modules/accessibility/AXScrollView.h |
| @@ -37,11 +37,12 @@ class FrameView; |
| class AXScrollView final : public AXObject { |
| public: |
| - static PassRefPtr<AXScrollView> create(FrameView*, AXObjectCacheImpl&); |
| + static PassRefPtrWillBeRawPtr<AXScrollView> create(FrameView*, AXObjectCacheImpl&); |
| virtual AccessibilityRole roleValue() const override { return ScrollAreaRole; } |
| FrameView* scrollView() const { return m_scrollView; } |
| virtual ~AXScrollView(); |
| + DECLARE_VIRTUAL_TRACE(); |
| virtual void detach() override; |
| protected: |
| @@ -75,19 +76,9 @@ private: |
| AXScrollbar* addChildScrollbar(Scrollbar*); |
| void removeChildScrollbar(AXObject*); |
| - // FIXME: Oilpan: Frame/ScrollView is on the heap and its |
| - // AXScrollView is detached&removed from the AX cache when the |
| - // FrameView is disposed. Which clears m_scrollView, hence this |
| - // bare pointer will not be stale, so the bare pointer use is safe |
| - // & acceptable. |
| - // |
| - // However, it would be preferable to have it be normally traced |
| - // as part of moving the AX objects to the heap. Temporarily using |
| - // a Persistent risks creating a FrameView leak, and brings no |
| - // real benefits overall. |
| - FrameView* m_scrollView; |
| - RefPtr<AXObject> m_horizontalScrollbar; |
| - RefPtr<AXObject> m_verticalScrollbar; |
| + RawPtrWillBeWeakMember<FrameView> m_scrollView; |
|
haraken
2015/06/24 13:27:20
Member.
keishi
2015/06/24 15:05:26
Done.
|
| + RefPtrWillBeMember<AXObject> m_horizontalScrollbar; |
| + RefPtrWillBeMember<AXObject> m_verticalScrollbar; |
| bool m_childrenDirty; |
| }; |