| Index: third_party/WebKit/Source/core/css/resolver/StyleResolver.h
|
| diff --git a/third_party/WebKit/Source/core/css/resolver/StyleResolver.h b/third_party/WebKit/Source/core/css/resolver/StyleResolver.h
|
| index 9416e8b425d69fbff01834fb05d5a4a34066d84e..bb317bc1703e9cf234a716dc8c7cc35fdc62e04b 100644
|
| --- a/third_party/WebKit/Source/core/css/resolver/StyleResolver.h
|
| +++ b/third_party/WebKit/Source/core/css/resolver/StyleResolver.h
|
| @@ -210,10 +210,33 @@ class CORE_EXPORT StyleResolver final
|
| void collectTreeBoundaryCrossingRulesV0CascadeOrder(const Element&,
|
| ElementRuleCollector&);
|
|
|
| - void applyMatchedProperties(StyleResolverState&, const MatchResult&);
|
| - bool applyAnimatedProperties(StyleResolverState&,
|
| - const Element* animatingElement);
|
| - void applyCallbackSelectors(StyleResolverState&);
|
| + struct CacheSuccess {
|
| + STACK_ALLOCATED();
|
| + bool isInheritedCacheHit;
|
| + bool isNonInheritedCacheHit;
|
| + unsigned cacheHash;
|
| + Member<const CachedMatchedProperties> cachedMatchedProperties;
|
| +
|
| + CacheSuccess(bool isInheritedCacheHit,
|
| + bool isNonInheritedCacheHit,
|
| + unsigned cacheHash,
|
| + const CachedMatchedProperties* cachedMatchedProperties)
|
| + : isInheritedCacheHit(isInheritedCacheHit),
|
| + isNonInheritedCacheHit(isNonInheritedCacheHit),
|
| + cacheHash(cacheHash),
|
| + cachedMatchedProperties(cachedMatchedProperties) {}
|
| +
|
| + bool isFullCacheHit() const {
|
| + return isInheritedCacheHit && isNonInheritedCacheHit;
|
| + }
|
| + bool shouldApplyInheritedOnly() const {
|
| + return isNonInheritedCacheHit && !isInheritedCacheHit;
|
| + }
|
| + void setFailed() {
|
| + isInheritedCacheHit = false;
|
| + isNonInheritedCacheHit = false;
|
| + }
|
| + };
|
|
|
| // These flags indicate whether an apply pass for a given CSSPropertyPriority
|
| // and isImportant is required.
|
| @@ -239,6 +262,30 @@ class CORE_EXPORT StyleResolver final
|
| UpdateNeedsApplyPass = true,
|
| };
|
|
|
| + void applyMatchedPropertiesAndCustomPropertyAnimations(
|
| + StyleResolverState&,
|
| + const MatchResult&,
|
| + const Element* animatingElement);
|
| + CacheSuccess applyMatchedCache(StyleResolverState&, const MatchResult&);
|
| + void applyCustomProperties(StyleResolverState&,
|
| + const MatchResult&,
|
| + bool applyAnimations,
|
| + const CacheSuccess&,
|
| + NeedsApplyPass&);
|
| + void applyMatchedAnimationProperties(StyleResolverState&,
|
| + const MatchResult&,
|
| + const CacheSuccess&,
|
| + NeedsApplyPass&);
|
| + void applyMatchedStandardProperties(StyleResolverState&,
|
| + const MatchResult&,
|
| + const CacheSuccess&,
|
| + NeedsApplyPass&);
|
| + void calculateAnimationUpdate(StyleResolverState&,
|
| + const Element* animatingElement);
|
| + bool applyAnimatedStandardProperties(StyleResolverState&, const Element*);
|
| +
|
| + void applyCallbackSelectors(StyleResolverState&);
|
| +
|
| template <CSSPropertyPriority priority, ShouldUpdateNeedsApplyPass>
|
| void applyMatchedProperties(StyleResolverState&,
|
| const MatchedPropertiesRange&,
|
|
|