Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(569)

Unified Diff: Source/core/css/resolver/StyleResolver.cpp

Issue 87503003: Moving fontSelector from StyleResolver to StyleEngine. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/css/resolver/StyleResolver.h ('k') | Source/core/dom/Document.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/css/resolver/StyleResolver.cpp
diff --git a/Source/core/css/resolver/StyleResolver.cpp b/Source/core/css/resolver/StyleResolver.cpp
index d025b389d881b8c6cabe58b730294e6ee77bb719..658cd7cbc0972786a38396033b126a077f73ede4 100644
--- a/Source/core/css/resolver/StyleResolver.cpp
+++ b/Source/core/css/resolver/StyleResolver.cpp
@@ -131,15 +131,12 @@ static void addFontFaceRule(Document* document, CSSFontSelector* cssFontSelector
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();
@@ -171,7 +168,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)
- addFontFaceRule(&document, fontSelector(), (*it)->fontFaceRule());
+ addFontFaceRule(&document, document.styleEngine()->fontSelector(), (*it)->fontFaceRule());
}
#endif
}
@@ -240,7 +237,7 @@ void StyleResolver::finishAppendAuthorStyleSheets()
collectFeatures();
if (document().renderer() && document().renderer()->style())
- document().renderer()->style()->font().update(fontSelector());
+ document().renderer()->style()->font().update(document().styleEngine()->fontSelector());
collectViewportRules();
@@ -276,7 +273,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)
- addFontFaceRule(&m_document, fontSelector(), fontFaceRules[i]);
+ addFontFaceRule(&m_document, document().styleEngine()->fontSelector(), fontFaceRules[i]);
if (fontFaceRules.size())
invalidateMatchedPropertiesCache();
} else {
@@ -284,17 +281,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.
@@ -417,8 +403,6 @@ void StyleResolver::popParentShadowRoot(const ShadowRoot& shadowRoot)
StyleResolver::~StyleResolver()
{
- m_fontSelector->unregisterForInvalidationCallbacks(this);
- m_fontSelector->clearDocument();
m_viewportStyleResolver->clearDocument();
}
@@ -664,7 +648,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().styleEngine()->fontSelector());
}
element->document().setHasNodesWithPlaceholderStyle();
return s_styleNotYetAvailable;
@@ -806,7 +790,7 @@ PassRefPtr<RenderStyle> StyleResolver::styleForKeyframe(Element* element, const
// Start loading resources referenced by this style.
m_styleResourceLoader.loadPendingResources(state.style(), state.elementStyleResources());
- m_fontSelector->loadPendingFonts();
+ document().styleEngine()->fontSelector()->loadPendingFonts();
didAccess();
@@ -970,7 +954,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().styleEngine()->fontSelector()->loadPendingFonts();
didAccess();
@@ -1002,7 +986,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().styleEngine()->fontSelector());
return state.takeStyle();
}
@@ -1030,7 +1014,7 @@ bool StyleResolver::checkRegionStyle(Element* regionElement)
void StyleResolver::updateFont(StyleResolverState& state)
{
- state.fontBuilder().createFont(m_fontSelector, state.parentStyle(), state.style());
+ state.fontBuilder().createFont(document().styleEngine()->fontSelector(), state.parentStyle(), state.style());
}
PassRefPtr<StyleRuleList> StyleResolver::styleRulesForElement(Element* element, unsigned rulesToInclude)
@@ -1363,7 +1347,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().styleEngine()->fontSelector()->loadPendingFonts();
if (!cachedMatchedProperties && cacheHash && MatchedPropertiesCache::isCacheable(element, state.style(), state.parentStyle())) {
INCREMENT_STYLE_STATS_COUNTER(*this, matchedPropertyCacheAdded);
« no previous file with comments | « Source/core/css/resolver/StyleResolver.h ('k') | Source/core/dom/Document.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698