Index: Source/core/css/resolver/ScopedStyleTree.cpp |
diff --git a/Source/core/css/resolver/ScopedStyleTree.cpp b/Source/core/css/resolver/ScopedStyleTree.cpp |
index 1938fd79218a580acbccddf50bdac9e35a43fc99..3fb5a45ed95c31615436223493f525f2943475bf 100644 |
--- a/Source/core/css/resolver/ScopedStyleTree.cpp |
+++ b/Source/core/css/resolver/ScopedStyleTree.cpp |
@@ -34,6 +34,8 @@ |
namespace WebCore { |
+class StyleSheetContents; |
+ |
ScopedStyleResolver* ScopedStyleTree::ensureScopedStyleResolver(ContainerNode& scopingNode) |
{ |
bool isNewEntry; |
@@ -191,8 +193,9 @@ void ScopedStyleTree::popStyleCache(const ContainerNode& scopingNode) |
void ScopedStyleTree::collectFeaturesTo(RuleFeatureSet& features) |
{ |
+ HashSet<const StyleSheetContents*> visitedSharedStyleSheetContents; |
for (HashMap<const ContainerNode*, OwnPtr<ScopedStyleResolver> >::iterator it = m_authorStyles.begin(); it != m_authorStyles.end(); ++it) |
- it->value->collectFeaturesTo(features); |
+ it->value->collectFeaturesTo(features, visitedSharedStyleSheetContents); |
} |
inline void ScopedStyleTree::reparentNodes(const ScopedStyleResolver* oldParent, ScopedStyleResolver* newParent) |