| Index: Source/core/css/DocumentRuleSets.cpp
|
| diff --git a/Source/core/css/DocumentRuleSets.cpp b/Source/core/css/DocumentRuleSets.cpp
|
| index 9a595b4365e0ad958434aa6d62ca430068e30c9b..470430db0e15820c31ff059a41384ddd893a6d0d 100644
|
| --- a/Source/core/css/DocumentRuleSets.cpp
|
| +++ b/Source/core/css/DocumentRuleSets.cpp
|
| @@ -74,13 +74,14 @@ DocumentRuleSets::~DocumentRuleSets()
|
| {
|
| }
|
|
|
| -void DocumentRuleSets::initUserStyle(StyleSheetCollections* styleSheetCollection, const MediaQueryEvaluator& medium, StyleResolver& resolver)
|
| +void DocumentRuleSets::initUserStyle(StyleSheetCollections* 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();
|
| }
|
| @@ -93,6 +94,12 @@ 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();
|
|
|