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

Unified Diff: Source/core/css/resolver/StyleResolver.h

Issue 211073002: [Oilpan]: Move CSSFontSelectorClient to the oilpan heap using transition types. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Adding StyleEngine.cpp change (forgot to upload diff again with WTF change) Created 6 years, 9 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/resolver/StyleResolver.h
diff --git a/Source/core/css/resolver/StyleResolver.h b/Source/core/css/resolver/StyleResolver.h
index c777a0bb1602120a2b2831cef41e7ced09682768..059bcd48522450636aa438119f1e8b659c480301 100644
--- a/Source/core/css/resolver/StyleResolver.h
+++ b/Source/core/css/resolver/StyleResolver.h
@@ -104,7 +104,7 @@ public:
// This class selects a RenderStyle for a given element based on a collection of stylesheets.
class StyleResolver FINAL : public CSSFontSelectorClient {
- WTF_MAKE_NONCOPYABLE(StyleResolver); WTF_MAKE_FAST_ALLOCATED;
+ WTF_MAKE_NONCOPYABLE(StyleResolver); WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
public:
explicit StyleResolver(Document&);
virtual ~StyleResolver();
@@ -230,6 +230,8 @@ public:
PassRefPtr<PseudoElement> createPseudoElementIfNeeded(Element& parent, PseudoId);
+ virtual void trace(Visitor*) OVERRIDE;
+
private:
// CSSFontSelectorClient implementation.
virtual void fontsNeedUpdate(CSSFontSelector*) OVERRIDE;
@@ -289,7 +291,7 @@ private:
bool pseudoStyleForElementInternal(Element&, const PseudoStyleRequest&, RenderStyle* parentStyle, StyleResolverState&);
// FIXME: This likely belongs on RuleSet.
- typedef WillBePersistentHeapHashMap<StringImpl*, RefPtrWillBeMember<StyleRuleKeyframes> > KeyframesRuleMap;
+ typedef WillBeHeapHashMap<StringImpl*, RefPtrWillBeMember<StyleRuleKeyframes> > KeyframesRuleMap;
KeyframesRuleMap m_keyframesRuleMap;
static RenderStyle* s_styleNotYetAvailable;
@@ -299,16 +301,16 @@ private:
MatchedPropertiesCache m_matchedPropertiesCache;
OwnPtr<MediaQueryEvaluator> m_medium;
- WillBePersistentMediaQueryResultList m_viewportDependentMediaQueryResults;
+ MediaQueryResultList m_viewportDependentMediaQueryResults;
RefPtr<RenderStyle> m_rootDefaultStyle;
Document& m_document;
SelectorFilter m_selectorFilter;
- RefPtrWillBePersistent<ViewportStyleResolver> m_viewportStyleResolver;
+ OwnPtrWillBeMember<ViewportStyleResolver> m_viewportStyleResolver;
- // FIXME: Oilpan: This should be a WillBePersistentHeapListHashSet.
+ // FIXME: Oilpan: This should be a WillBeHeapListHashSet.
// This is safe for now, but should be updated when we support
// heap allocated ListHashSets.
ListHashSet<CSSStyleSheet*, 16> m_pendingStyleSheets;
@@ -318,11 +320,11 @@ private:
// FIXME: The entire logic of collecting features on StyleResolver, as well as transferring them
// between various parts of machinery smells wrong. This needs to be better somehow.
RuleFeatureSet m_features;
- OwnPtrWillBePersistent<RuleSet> m_siblingRuleSet;
- OwnPtrWillBePersistent<RuleSet> m_uncommonAttributeRuleSet;
+ OwnPtrWillBeMember<RuleSet> m_siblingRuleSet;
+ OwnPtrWillBeMember<RuleSet> m_uncommonAttributeRuleSet;
// FIXME: watched selectors should be implemented using injected author stylesheets: http://crbug.com/316960
- OwnPtrWillBePersistent<RuleSet> m_watchedSelectorsRules;
+ OwnPtrWillBeMember<RuleSet> m_watchedSelectorsRules;
TreeBoundaryCrossingRules m_treeBoundaryCrossingRules;
bool m_needCollectFeatures;

Powered by Google App Engine
This is Rietveld 408576698