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

Unified Diff: Source/core/css/CSSStyleSheet.h

Issue 187313005: Move StyleSheet to the oilpan heap using transition types. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Revert StyleEngine change. Created 6 years, 10 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
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;
};

Powered by Google App Engine
This is Rietveld 408576698