Index: Source/core/css/CSSStyleSheet.h |
diff --git a/Source/core/css/CSSStyleSheet.h b/Source/core/css/CSSStyleSheet.h |
index 490f925c90ddf6fc1468f17f831bc4581bcb2482..1077a6378078e14b3658f9313815a8c3ab01bc3a 100644 |
--- a/Source/core/css/CSSStyleSheet.h |
+++ b/Source/core/css/CSSStyleSheet.h |
@@ -49,10 +49,10 @@ enum StyleSheetUpdateType { |
class CSSStyleSheet FINAL : public StyleSheet { |
public: |
- static PassRefPtr<CSSStyleSheet> create(PassRefPtrWillBeRawPtr<StyleSheetContents>, CSSImportRule* ownerRule = 0); |
- static PassRefPtr<CSSStyleSheet> create(PassRefPtrWillBeRawPtr<StyleSheetContents>, Node* ownerNode); |
- static PassRefPtr<CSSStyleSheet> createInline(Node*, const KURL&, const TextPosition& startPosition = TextPosition::minimumPosition(), const String& encoding = String()); |
- static PassRefPtr<CSSStyleSheet> createInline(PassRefPtrWillBeRawPtr<StyleSheetContents>, Node* ownerNode, const TextPosition& startPosition = TextPosition::minimumPosition()); |
+ static PassRefPtrWillBeRawPtr<CSSStyleSheet> create(PassRefPtrWillBeRawPtr<StyleSheetContents>, CSSImportRule* ownerRule = 0); |
+ static PassRefPtrWillBeRawPtr<CSSStyleSheet> create(PassRefPtrWillBeRawPtr<StyleSheetContents>, Node* ownerNode); |
+ static PassRefPtrWillBeRawPtr<CSSStyleSheet> createInline(Node*, const KURL&, const TextPosition& startPosition = TextPosition::minimumPosition(), const String& encoding = String()); |
+ static PassRefPtrWillBeRawPtr<CSSStyleSheet> createInline(PassRefPtrWillBeRawPtr<StyleSheetContents>, Node* ownerNode, const TextPosition& startPosition = TextPosition::minimumPosition()); |
virtual ~CSSStyleSheet(); |
@@ -84,7 +84,7 @@ public: |
virtual KURL baseURL() const OVERRIDE; |
virtual bool isLoading() const OVERRIDE; |
- void clearOwnerRule() { m_ownerRule = 0; } |
+ void clearOwnerRule() { m_ownerRule = nullptr; } |
haraken
2014/03/05 14:21:22
Can we add #if !ENABLE_OILPAN to this method?
Mads Ager (chromium)
2014/03/05 14:51:16
No, it is called from a destructor which is no lon
|
Document* ownerDocument() const; |
MediaQuerySet* mediaQueries() const { return m_mediaQueries.get(); } |
void setMediaQueries(PassRefPtrWillBeRawPtr<MediaQuerySet>); |
@@ -116,6 +116,8 @@ public: |
bool loadCompleted() const { return m_loadCompleted; } |
void startLoadingDynamicSheet(); |
+ virtual void trace(Visitor*) OVERRIDE; |
+ |
private: |
CSSStyleSheet(PassRefPtrWillBeRawPtr<StyleSheetContents>, CSSImportRule* ownerRule); |
CSSStyleSheet(PassRefPtrWillBeRawPtr<StyleSheetContents>, Node* ownerNode, bool isInlineStylesheet, const TextPosition& startPosition); |
@@ -127,28 +129,20 @@ private: |
bool canAccessRules() const; |
- RefPtrWillBePersistent<StyleSheetContents> m_contents; |
+ RefPtrWillBeMember<StyleSheetContents> m_contents; |
bool m_isInlineStylesheet; |
bool m_isDisabled; |
String m_title; |
- RefPtrWillBePersistent<MediaQuerySet> m_mediaQueries; |
+ RefPtrWillBeMember<MediaQuerySet> m_mediaQueries; |
Node* m_ownerNode; |
- // FIXME: oilpan: This is a back pointer from CSSImportRule, corresponding |
- // to the forward pointer on that, called m_styleSheetCSSOMWrapper. (It is |
- // not related to the m_parentStyleSheet pointer which is also typed as |
- // CSSStyleSheet, and which is inherited by CSSImportRule from CSSRule). |
- // Since m_styleSheetCSSOMWrapper is a RefPtr we know that this object |
- // cannot die before the CSSImportRule is destructed, which makes it OK to |
- // clear this from ~CSSImportRule. When this is on the GC heap we can make |
- // this a regular Member. |
- CSSRule* m_ownerRule; |
+ RawPtrWillBeMember<CSSRule> m_ownerRule; |
TextPosition m_startPosition; |
bool m_loadCompleted; |
- mutable RefPtrWillBePersistent<MediaList> m_mediaCSSOMWrapper; |
- mutable WillBePersistentHeapVector<RefPtrWillBeMember<CSSRule> > m_childRuleCSSOMWrappers; |
+ mutable RefPtrWillBeMember<MediaList> m_mediaCSSOMWrapper; |
+ mutable WillBeHeapVector<RefPtrWillBeMember<CSSRule> > m_childRuleCSSOMWrappers; |
mutable OwnPtr<CSSRuleList> m_ruleListCSSOMWrapper; |
}; |