summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/rendering/style/WillChangeData.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/style/WillChangeData.cpp')
-rw-r--r--Source/WebCore/rendering/style/WillChangeData.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/Source/WebCore/rendering/style/WillChangeData.cpp b/Source/WebCore/rendering/style/WillChangeData.cpp
index 77d4aa871..cff2e7cd3 100644
--- a/Source/WebCore/rendering/style/WillChangeData.cpp
+++ b/Source/WebCore/rendering/style/WillChangeData.cpp
@@ -99,6 +99,30 @@ static bool propertyCreatesStackingContext(CSSPropertyID property)
}
}
+static bool propertyCreatesGraphicalGroup(CSSPropertyID property)
+{
+ switch (property) {
+ case CSSPropertyClipPath:
+ case CSSPropertyWebkitClipPath:
+ case CSSPropertyMask:
+ case CSSPropertyOpacity:
+#if ENABLE(CSS_COMPOSITING)
+ case CSSPropertyMixBlendMode:
+ case CSSPropertyIsolation:
+#endif
+ case CSSPropertyFilter:
+#if ENABLE(FILTERS_LEVEL_2)
+ case CSSPropertyWebkitBackdropFilter:
+#endif
+ case CSSPropertyWebkitMask:
+ case CSSPropertyWebkitMaskImage:
+ case CSSPropertyWebkitMaskBoxImage:
+ return true;
+ default:
+ return false;
+ }
+}
+
static bool propertyTriggersCompositing(CSSPropertyID property)
{
switch (property) {
@@ -137,6 +161,8 @@ void WillChangeData::addFeature(Feature feature, CSSPropertyID propertyID)
m_canTriggerCompositingOnInline |= propertyTriggersCompositing(propertyID);
m_canTriggerCompositing |= m_canTriggerCompositingOnInline | propertyTriggersCompositingOnBoxesOnly(propertyID);
+
+ m_canCreateGraphicalGroup |= propertyCreatesGraphicalGroup(propertyID);
}
WillChangeData::FeaturePropertyPair WillChangeData::featureAt(size_t index) const