Chromium Code Reviews| Index: Source/core/css/MediaList.h |
| diff --git a/Source/core/css/MediaList.h b/Source/core/css/MediaList.h |
| index 2b4ff5f43517feb9b11e6e9edb28108e1786152a..11b2dd2cb466acf3bd35e42cddc0b8959a275c87 100644 |
| --- a/Source/core/css/MediaList.h |
| +++ b/Source/core/css/MediaList.h |
| @@ -22,6 +22,7 @@ |
| #define MediaList_h |
| #include "core/dom/ExceptionCode.h" |
| +#include "heap/Handle.h" |
| #include "wtf/Forward.h" |
| #include "wtf/PassRefPtr.h" |
| #include "wtf/RefCounted.h" |
| @@ -37,43 +38,45 @@ class ExceptionState; |
| class MediaList; |
| class MediaQuery; |
| -class MediaQuerySet : public RefCounted<MediaQuerySet> { |
| +class MediaQuerySet : public RefCountedWillBeGarbageCollected<MediaQuerySet> { |
|
zerny-chromium
2014/03/05 06:38:40
+Finalized or remove the destructor.
wibling-chromium
2014/03/05 08:09:42
As you mentioned off-line yourself this is okay as
|
| public: |
| - static PassRefPtr<MediaQuerySet> create() |
| + static PassRefPtrWillBeRawPtr<MediaQuerySet> create() |
| { |
| - return adoptRef(new MediaQuerySet()); |
| + return adoptRefWillBeNoop(new MediaQuerySet()); |
| } |
| - static PassRefPtr<MediaQuerySet> create(const String& mediaString); |
| + static PassRefPtrWillBeRawPtr<MediaQuerySet> create(const String& mediaString); |
| ~MediaQuerySet(); |
| bool set(const String&); |
| bool add(const String&); |
| bool remove(const String&); |
| - void addMediaQuery(PassOwnPtr<MediaQuery>); |
| + void addMediaQuery(PassOwnPtrWillBeRawPtr<MediaQuery>); |
| - const Vector<OwnPtr<MediaQuery> >& queryVector() const { return m_queries; } |
| + const WillBeHeapVector<OwnPtrWillBeMember<MediaQuery> >& queryVector() const { return m_queries; } |
| String mediaText() const; |
| - PassRefPtr<MediaQuerySet> copy() const { return adoptRef(new MediaQuerySet(*this)); } |
| + PassRefPtrWillBeRawPtr<MediaQuerySet> copy() const { return adoptRefWillBeNoop(new MediaQuerySet(*this)); } |
| + |
| + void trace(Visitor*); |
| private: |
| MediaQuerySet(); |
| MediaQuerySet(const MediaQuerySet&); |
| - Vector<OwnPtr<MediaQuery> > m_queries; |
| + WillBeHeapVector<OwnPtrWillBeMember<MediaQuery> > m_queries; |
| }; |
| -class MediaList : public RefCounted<MediaList> { |
| +class MediaList : public RefCountedWillBeGarbageCollectedFinalized<MediaList> { |
| public: |
| - static PassRefPtr<MediaList> create(MediaQuerySet* mediaQueries, CSSStyleSheet* parentSheet) |
| + static PassRefPtrWillBeRawPtr<MediaList> create(MediaQuerySet* mediaQueries, CSSStyleSheet* parentSheet) |
| { |
| - return adoptRef(new MediaList(mediaQueries, parentSheet)); |
| + return adoptRefWillBeNoop(new MediaList(mediaQueries, parentSheet)); |
| } |
| - static PassRefPtr<MediaList> create(MediaQuerySet* mediaQueries, CSSRule* parentRule) |
| + static PassRefPtrWillBeRawPtr<MediaList> create(MediaQuerySet* mediaQueries, CSSRule* parentRule) |
| { |
| - return adoptRef(new MediaList(mediaQueries, parentRule)); |
| + return adoptRefWillBeNoop(new MediaList(mediaQueries, parentRule)); |
| } |
| ~MediaList(); |
| @@ -90,20 +93,23 @@ public: |
| CSSRule* parentRule() const { return m_parentRule; } |
| CSSStyleSheet* parentStyleSheet() const { return m_parentStyleSheet; } |
| void clearParentStyleSheet() { ASSERT(m_parentStyleSheet); m_parentStyleSheet = 0; } |
| - void clearParentRule() { ASSERT(m_parentRule); m_parentRule = 0; } |
| + void clearParentRule() { ASSERT(m_parentRule); m_parentRule = nullptr; } |
| const MediaQuerySet* queries() const { return m_mediaQueries.get(); } |
| void reattach(MediaQuerySet*); |
| + void trace(Visitor*); |
| + |
| private: |
| MediaList(); |
| MediaList(MediaQuerySet*, CSSStyleSheet* parentSheet); |
| MediaList(MediaQuerySet*, CSSRule* parentRule); |
| - RefPtr<MediaQuerySet> m_mediaQueries; |
| + RefPtrWillBeMember<MediaQuerySet> m_mediaQueries; |
| + // Cleared in ~CSSStyleSheet destructor. |
| CSSStyleSheet* m_parentStyleSheet; |
| - // Cleared in the ~CSSMediaRule and ~CSSImportRule destructors. |
| - CSSRule* m_parentRule; |
| + // Cleared in the ~CSSMediaRule and ~CSSImportRule destructors when oilpan is not enabled. |
| + RawPtrWillBeMember<CSSRule> m_parentRule; |
| }; |
| // Adds message to inspector console whenever dpi or dpcm values are used for "screen" media. |