Index: Source/core/css/resolver/MatchedPropertiesCache.cpp |
diff --git a/Source/core/css/resolver/MatchedPropertiesCache.cpp b/Source/core/css/resolver/MatchedPropertiesCache.cpp |
index 17367953be4ece858b9713d5d91e0b28fd5c860b..d3c222a1f1ebd376142c9127f55921f6945042c6 100644 |
--- a/Source/core/css/resolver/MatchedPropertiesCache.cpp |
+++ b/Source/core/css/resolver/MatchedPropertiesCache.cpp |
@@ -148,6 +148,9 @@ bool MatchedPropertiesCache::isCacheable(const Element* element, const RenderSty |
return false; |
if (style->hasCurrentColor()) |
return false; |
+ // CSSPropertyInternalCallback sets the rule's selector name into the RenderStyle, and that's not recalculated if the RenderStyle is loaded from the cache, so don't cache it. |
+ if (!style->callbackSelectors().isEmpty()) |
+ return false; |
// The cache assumes static knowledge about which properties are inherited. |
if (parentStyle->hasExplicitlyInheritedProperties()) |
return false; |