| Index: Source/core/css/resolver/StyleResolver.cpp
|
| diff --git a/Source/core/css/resolver/StyleResolver.cpp b/Source/core/css/resolver/StyleResolver.cpp
|
| index 7e1c31e0da08dd383102ea50b86456382287758f..1d9400695a121a2b7a7681cc5389b71e06b49586 100644
|
| --- a/Source/core/css/resolver/StyleResolver.cpp
|
| +++ b/Source/core/css/resolver/StyleResolver.cpp
|
| @@ -629,6 +629,13 @@ static void addContentAttrValuesToFeatures(const Vector<AtomicString>& contentAt
|
| features.addAttributeInASelector(contentAttrValues[i]);
|
| }
|
|
|
| +// Start loading resources referenced by this style.
|
| +void StyleResolver::loadPendingResources(StyleResolverState& state)
|
| +{
|
| + m_styleResourceLoader.loadPendingResources(state.style(), state.elementStyleResources());
|
| + document().styleEngine()->fontSelector()->loadPendingFonts();
|
| +}
|
| +
|
| PassRefPtr<RenderStyle> StyleResolver::styleForElement(Element* element, RenderStyle* defaultParent, StyleSharingBehavior sharingBehavior,
|
| RuleMatchingBehavior matchingBehavior)
|
| {
|
| @@ -783,9 +790,7 @@ PassRefPtr<RenderStyle> StyleResolver::styleForKeyframe(Element* element, const
|
| // go ahead and update it a second time.
|
| updateFont(state);
|
|
|
| - // Start loading resources referenced by this style.
|
| - m_styleResourceLoader.loadPendingResources(state.style(), state.elementStyleResources());
|
| - document().styleEngine()->fontSelector()->loadPendingFonts();
|
| + loadPendingResources(state);
|
|
|
| didAccess();
|
|
|
| @@ -808,6 +813,7 @@ PassRefPtrWillBeRawPtr<KeyframeEffectModel> StyleResolver::createKeyframeEffectM
|
| keyframes[i]->setPropertyValue(id, CSSAnimatableValueFactory::create(id, *state.style()).get());
|
| }
|
| }
|
| +
|
| return KeyframeEffectModel::create(keyframes);
|
| }
|
|
|
| @@ -955,9 +961,7 @@ PassRefPtr<RenderStyle> StyleResolver::styleForPage(int pageIndex)
|
|
|
| addContentAttrValuesToFeatures(state.contentAttrValues(), m_features);
|
|
|
| - // Start loading resources referenced by this style.
|
| - m_styleResourceLoader.loadPendingResources(state.style(), state.elementStyleResources());
|
| - document().styleEngine()->fontSelector()->loadPendingFonts();
|
| + loadPendingResources(state);
|
|
|
| didAccess();
|
|
|
| @@ -1085,6 +1089,9 @@ void StyleResolver::applyAnimatedProperties(StyleResolverState& state, Element*
|
| RenderStyle* style = state.style();
|
| if (style->hasAutoZIndex() && (style->opacity() < 1.0f || style->hasTransform()))
|
| style->setZIndex(0);
|
| +
|
| + // Start loading resources used by animations.
|
| + loadPendingResources(state);
|
| }
|
|
|
| template <StyleResolver::StyleApplicationPass pass>
|
| @@ -1329,9 +1336,7 @@ void StyleResolver::applyMatchedProperties(StyleResolverState& state, const Matc
|
| applyMatchedProperties<LowPriorityProperties>(state, matchResult, true, matchResult.ranges.firstUserRule, matchResult.ranges.lastUserRule, applyInheritedOnly);
|
| applyMatchedProperties<LowPriorityProperties>(state, matchResult, true, matchResult.ranges.firstUARule, matchResult.ranges.lastUARule, applyInheritedOnly);
|
|
|
| - // Start loading resources referenced by this style.
|
| - m_styleResourceLoader.loadPendingResources(state.style(), state.elementStyleResources());
|
| - document().styleEngine()->fontSelector()->loadPendingFonts();
|
| + loadPendingResources(state);
|
|
|
| if (!cachedMatchedProperties && cacheHash && MatchedPropertiesCache::isCacheable(element, state.style(), state.parentStyle())) {
|
| INCREMENT_STYLE_STATS_COUNTER(*this, matchedPropertyCacheAdded);
|
|
|