| Index: Source/core/css/DocumentRuleSets.cpp
|
| diff --git a/Source/core/css/DocumentRuleSets.cpp b/Source/core/css/DocumentRuleSets.cpp
|
| index ca2cc211b42223f11f531972cb2f7d88b4bdef6a..2705282148c99cdc0b0c777a8e7fae69922ff7fa 100644
|
| --- a/Source/core/css/DocumentRuleSets.cpp
|
| +++ b/Source/core/css/DocumentRuleSets.cpp
|
| @@ -74,13 +74,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();
|
| }
|
| @@ -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();
|
|
|