| Index: Source/core/css/resolver/StyleResolver.cpp
|
| diff --git a/Source/core/css/resolver/StyleResolver.cpp b/Source/core/css/resolver/StyleResolver.cpp
|
| index 8178fbf9c87b48d400c5cfc01800fa02343acf26..0a319045100889e402e02e9a95c06809cd791416 100644
|
| --- a/Source/core/css/resolver/StyleResolver.cpp
|
| +++ b/Source/core/css/resolver/StyleResolver.cpp
|
| @@ -123,15 +123,12 @@ static StylePropertySet* rightToLeftDeclaration()
|
|
|
| StyleResolver::StyleResolver(Document& document)
|
| : m_document(document)
|
| - , m_fontSelector(CSSFontSelector::create(&document))
|
| , m_viewportStyleResolver(ViewportStyleResolver::create(&document))
|
| , m_needCollectFeatures(false)
|
| , m_styleResourceLoader(document.fetcher())
|
| , m_styleResolverStatsSequence(0)
|
| , m_accessCount(0)
|
| {
|
| - m_fontSelector->registerForInvalidationCallbacks(this);
|
| -
|
| // FIXME: Why do this here instead of as part of resolving style on the root?
|
| CSSDefaultStyleSheets::loadDefaultStylesheetIfNecessary();
|
|
|
| @@ -163,7 +160,7 @@ StyleResolver::StyleResolver(Document& document)
|
| const HashSet<SVGFontFaceElement*>& svgFontFaceElements = document.svgExtensions()->svgFontFaceElements();
|
| HashSet<SVGFontFaceElement*>::const_iterator end = svgFontFaceElements.end();
|
| for (HashSet<SVGFontFaceElement*>::const_iterator it = svgFontFaceElements.begin(); it != end; ++it)
|
| - fontSelector()->addFontFaceRule((*it)->fontFaceRule());
|
| + document.fontSelector()->addFontFaceRule((*it)->fontFaceRule());
|
| }
|
| #endif
|
|
|
| @@ -234,7 +231,7 @@ void StyleResolver::finishAppendAuthorStyleSheets()
|
| collectFeatures();
|
|
|
| if (document().renderer() && document().renderer()->style())
|
| - document().renderer()->style()->font().update(fontSelector());
|
| + document().renderer()->style()->font().update(document().fontSelector());
|
|
|
| collectViewportRules();
|
|
|
| @@ -270,7 +267,7 @@ void StyleResolver::processScopedRules(const RuleSet& authorRules, const KURL& s
|
| if (!scope || scope->isDocumentNode()) {
|
| const Vector<StyleRuleFontFace*> fontFaceRules = authorRules.fontFaceRules();
|
| for (unsigned i = 0; i < fontFaceRules.size(); ++i)
|
| - fontSelector()->addFontFaceRule(fontFaceRules[i]);
|
| + document().fontSelector()->addFontFaceRule(fontFaceRules[i]);
|
| if (fontFaceRules.size())
|
| invalidateMatchedPropertiesCache();
|
| } else {
|
| @@ -278,17 +275,6 @@ void StyleResolver::processScopedRules(const RuleSet& authorRules, const KURL& s
|
| }
|
| }
|
|
|
| -void StyleResolver::resetFontSelector()
|
| -{
|
| - ASSERT(m_fontSelector);
|
| - m_fontSelector->unregisterForInvalidationCallbacks(this);
|
| - m_fontSelector->clearDocument();
|
| - invalidateMatchedPropertiesCache();
|
| -
|
| - m_fontSelector = CSSFontSelector::create(&m_document);
|
| - m_fontSelector->registerForInvalidationCallbacks(this);
|
| -}
|
| -
|
| void StyleResolver::resetAuthorStyle(const ContainerNode* scopingNode)
|
| {
|
| // FIXME: When chanking scoped attribute, scopingNode's hasScopedHTMLStyleChild has been already modified.
|
| @@ -411,8 +397,6 @@ void StyleResolver::popParentShadowRoot(const ShadowRoot& shadowRoot)
|
|
|
| StyleResolver::~StyleResolver()
|
| {
|
| - m_fontSelector->unregisterForInvalidationCallbacks(this);
|
| - m_fontSelector->clearDocument();
|
| m_viewportStyleResolver->clearDocument();
|
| }
|
|
|
| @@ -658,7 +642,7 @@ PassRefPtr<RenderStyle> StyleResolver::styleForElement(Element* element, RenderS
|
| if (!s_styleNotYetAvailable) {
|
| s_styleNotYetAvailable = RenderStyle::create().leakRef();
|
| s_styleNotYetAvailable->setDisplay(NONE);
|
| - s_styleNotYetAvailable->font().update(m_fontSelector);
|
| + s_styleNotYetAvailable->font().update(document().fontSelector());
|
| }
|
| element->document().setHasNodesWithPlaceholderStyle();
|
| return s_styleNotYetAvailable;
|
| @@ -800,7 +784,7 @@ PassRefPtr<RenderStyle> StyleResolver::styleForKeyframe(Element* e, const Render
|
|
|
| // Start loading resources referenced by this style.
|
| m_styleResourceLoader.loadPendingResources(state.style(), state.elementStyleResources());
|
| - m_fontSelector->loadPendingFonts();
|
| + document().fontSelector()->loadPendingFonts();
|
|
|
| didAccess();
|
|
|
| @@ -964,7 +948,7 @@ PassRefPtr<RenderStyle> StyleResolver::styleForPage(int pageIndex)
|
|
|
| // Start loading resources referenced by this style.
|
| m_styleResourceLoader.loadPendingResources(state.style(), state.elementStyleResources());
|
| - m_fontSelector->loadPendingFonts();
|
| + document().fontSelector()->loadPendingFonts();
|
|
|
| didAccess();
|
|
|
| @@ -993,7 +977,7 @@ PassRefPtr<RenderStyle> StyleResolver::defaultStyleForElement()
|
| state.style()->setLineHeight(RenderStyle::initialLineHeight());
|
| state.setLineHeightValue(0);
|
| state.fontBuilder().setInitial(state.style()->effectiveZoom());
|
| - state.style()->font().update(fontSelector());
|
| + state.style()->font().update(document().fontSelector());
|
| return state.takeStyle();
|
| }
|
|
|
| @@ -1021,7 +1005,7 @@ bool StyleResolver::checkRegionStyle(Element* regionElement)
|
|
|
| void StyleResolver::updateFont(StyleResolverState& state)
|
| {
|
| - state.fontBuilder().createFont(m_fontSelector, state.parentStyle(), state.style());
|
| + state.fontBuilder().createFont(document().fontSelector(), state.parentStyle(), state.style());
|
| }
|
|
|
| PassRefPtr<StyleRuleList> StyleResolver::styleRulesForElement(Element* element, unsigned rulesToInclude)
|
| @@ -1354,7 +1338,7 @@ void StyleResolver::applyMatchedProperties(StyleResolverState& state, const Matc
|
|
|
| // Start loading resources referenced by this style.
|
| m_styleResourceLoader.loadPendingResources(state.style(), state.elementStyleResources());
|
| - m_fontSelector->loadPendingFonts();
|
| + document().fontSelector()->loadPendingFonts();
|
|
|
| if (!cachedMatchedProperties && cacheHash && MatchedPropertiesCache::isCacheable(element, state.style(), state.parentStyle())) {
|
| INCREMENT_STYLE_STATS_COUNTER(*this, matchedPropertyCacheAdded);
|
|
|