Chromium Code Reviews| Index: Source/core/dom/Document.cpp |
| diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp |
| index a9f5313e46dd9327c41c245a8535b97d43bf4e7e..9e9c90e2e6aba0cb6c9f76e1781bfc17f098528b 100644 |
| --- a/Source/core/dom/Document.cpp |
| +++ b/Source/core/dom/Document.cpp |
| @@ -1751,7 +1751,7 @@ void Document::recalcStyle(StyleRecalcChange change) |
| if (m_styleResolver) { |
| // Pseudo element removal and similar may only work with these flags still set. Reset them after the style recalc. |
| - m_styleEngine->resetCSSFeatureFlags(m_styleResolver->ruleFeatureSet()); |
| + m_styleEngine->resetCSSFeatureFlags(m_styleResolver->ensureRuleFeatureSet()); |
| m_styleResolver->clearStyleSharingList(); |
| } |
| } |
| @@ -1960,6 +1960,17 @@ void Document::setIsViewSource(bool isViewSource) |
| didUpdateSecurityOrigin(); |
| } |
| +StyleResolver* Document::styleResolver() |
|
esprehn
2013/11/15 10:36:32
We might need to make this inline later, but this
tasak
2013/11/18 08:30:53
I made this inline.
|
| +{ |
| + if (!m_styleResolver) { |
| + createStyleResolver(); |
| + } else { |
| + if (m_styleResolver->hasPendingAuthorStyleSheets()) |
|
esprehn
2013/11/15 10:36:32
else if
tasak
2013/11/18 08:30:53
Done.
|
| + m_styleResolver->appendPendingAuthorStyleSheets(); |
| + } |
| + return m_styleResolver.get(); |
| +} |
| + |
| void Document::createStyleResolver() |
| { |
| // It is a programming error to attempt to resolve style on a Document |
| @@ -1968,7 +1979,7 @@ void Document::createStyleResolver() |
| ASSERT(frame()); |
| m_styleResolver = adoptPtr(new StyleResolver(*this)); |
| - m_styleEngine->combineCSSFeatureFlags(m_styleResolver->ruleFeatureSet()); |
| + m_styleEngine->combineCSSFeatureFlags(m_styleResolver->ensureRuleFeatureSet()); |
| } |
| void Document::clearStyleResolver() |