| Index: Source/core/css/DocumentRuleSets.cpp
|
| diff --git a/Source/core/css/DocumentRuleSets.cpp b/Source/core/css/DocumentRuleSets.cpp
|
| index 4e72f571ead83d0733790f0044f6e54478e02de5..c520202d05cadcf631c919ee99609e2d9ff03e8a 100644
|
| --- a/Source/core/css/DocumentRuleSets.cpp
|
| +++ b/Source/core/css/DocumentRuleSets.cpp
|
| @@ -81,13 +81,14 @@ DocumentRuleSets::~DocumentRuleSets()
|
| {
|
| }
|
|
|
| -void DocumentRuleSets::initUserStyle(DocumentStyleSheetCollection* styleSheetCollection, const MediaQueryEvaluator& medium, StyleResolver& resolver)
|
| +void DocumentRuleSets::initUserStyle(DocumentStyleSheetCollection* styleSheetCollection, const Vector<RefPtr<StyleRule> >& watchedSelectors, const MediaQueryEvaluator& medium, StyleResolver& resolver)
|
| {
|
| OwnPtr<RuleSet> tempUserStyle = RuleSet::create();
|
| if (CSSStyleSheet* pageUserSheet = styleSheetCollection->pageUserSheet())
|
| tempUserStyle->addRulesFromSheet(pageUserSheet->contents(), medium, &resolver);
|
| collectRulesFromUserStyleSheets(styleSheetCollection->injectedUserStyleSheets(), *tempUserStyle, medium, resolver);
|
| collectRulesFromUserStyleSheets(styleSheetCollection->documentUserStyleSheets(), *tempUserStyle, medium, resolver);
|
| + collectRulesFromWatchedSelectors(watchedSelectors, *tempUserStyle);
|
| if (tempUserStyle->ruleCount() > 0 || tempUserStyle->pageRules().size() > 0)
|
| m_userStyle = tempUserStyle.release();
|
| }
|
| @@ -100,6 +101,13 @@ void DocumentRuleSets::collectRulesFromUserStyleSheets(const Vector<RefPtr<CSSSt
|
| }
|
| }
|
|
|
| +void DocumentRuleSets::collectRulesFromWatchedSelectors(const Vector<RefPtr<StyleRule> >& watchedSelectors, RuleSet& userStyle)
|
| +{
|
| + for (unsigned i = 0; i < watchedSelectors.size(); ++i) {
|
| + userStyle.addStyleRule(watchedSelectors[i].get(), RuleHasNoSpecialState);
|
| + }
|
| +}
|
| +
|
| void DocumentRuleSets::resetAuthorStyle()
|
| {
|
| m_shadowDistributedRules.clear();
|
|
|