Chromium Code Reviews| Index: Source/core/dom/StyleEngine.h |
| diff --git a/Source/core/dom/StyleEngine.h b/Source/core/dom/StyleEngine.h |
| index 083b91dc3c31805809992b2ab35f0f05fa07d7cb..663f0791dd9f458ce93f41df5eed88fa7ad095a1 100644 |
| --- a/Source/core/dom/StyleEngine.h |
| +++ b/Source/core/dom/StyleEngine.h |
| @@ -71,8 +71,8 @@ private: |
| bool m_needsStyleRecalc; |
| }; |
| -class StyleEngine { |
| - WTF_MAKE_FAST_ALLOCATED; |
| +class StyleEngine : public NoBaseWillBeGarbageCollectedFinalized<StyleEngine> { |
|
Mads Ager (chromium)
2014/03/10 12:32:57
This will lead to finalization-order issues. You n
Erik Corry
2014/03/12 10:36:41
Done.
|
| + WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; |
| public: |
| class IgnoringPendingStylesheet : public TemporaryChange<bool> { |
| @@ -85,17 +85,17 @@ public: |
| friend class IgnoringPendingStylesheet; |
| - static PassOwnPtr<StyleEngine> create(Document& document) { return adoptPtr(new StyleEngine(document)); } |
| + static PassOwnPtrWillBeRawPtr<StyleEngine> create(Document& document) { return adoptPtrWillBeNoop(new StyleEngine(document)); } |
| ~StyleEngine(); |
| - const Vector<RefPtr<StyleSheet> >& styleSheetsForStyleSheetList(TreeScope&); |
| - const Vector<RefPtr<CSSStyleSheet> >& activeAuthorStyleSheets() const; |
| + const WillBeHeapVector<RefPtrWillBeMember<StyleSheet> >& styleSheetsForStyleSheetList(TreeScope&); |
| + const WillBeHeapVector<RefPtrWillBeMember<CSSStyleSheet> >& activeAuthorStyleSheets() const; |
| - const Vector<RefPtr<CSSStyleSheet> >& documentAuthorStyleSheets() const { return m_authorStyleSheets; } |
| - const Vector<RefPtr<CSSStyleSheet> >& injectedAuthorStyleSheets() const; |
| + const WillBeHeapVector<RefPtrWillBeMember<CSSStyleSheet> >& documentAuthorStyleSheets() const { return m_authorStyleSheets; } |
| + const WillBeHeapVector<RefPtrWillBeMember<CSSStyleSheet> >& injectedAuthorStyleSheets() const; |
| - const Vector<RefPtr<StyleSheet> > activeStyleSheetsForInspector() const; |
| + const WillBeHeapVector<RefPtrWillBeMember<StyleSheet> > activeStyleSheetsForInspector() const; |
| void modifiedStyleSheet(StyleSheet*); |
| void addStyleSheetCandidateNode(Node*, bool createdByParser); |
| @@ -184,6 +184,8 @@ public: |
| static PassRefPtr<CSSStyleSheet> createSheet(Element*, const String& text, TextPosition startPosition, bool createdByParser); |
| static void removeSheet(StyleSheetContents*); |
| + void trace(Visitor*); |
| + |
| private: |
| StyleEngine(Document&); |
| @@ -216,10 +218,10 @@ private: |
| // elements and when it is safe to execute scripts. |
| int m_pendingStylesheets; |
| - mutable Vector<RefPtr<CSSStyleSheet> > m_injectedAuthorStyleSheets; |
| + mutable WillBePersistentHeapVector<RefPtrWillBeMember<CSSStyleSheet> > m_injectedAuthorStyleSheets; |
|
zerny-chromium
2014/03/10 14:00:21
Why is this a persistent and not just a traced hea
Erik Corry
2014/03/12 10:36:41
fixed
|
| mutable bool m_injectedStyleSheetCacheValid; |
| - Vector<RefPtr<CSSStyleSheet> > m_authorStyleSheets; |
| + WillBeHeapVector<RefPtrWillBeMember<CSSStyleSheet> > m_authorStyleSheets; |
| DocumentStyleSheetCollection m_documentStyleSheetCollection; |
| HashMap<TreeScope*, OwnPtr<TreeScopeStyleSheetCollection> > m_styleSheetCollectionMap; |