Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt (276637 => 276638)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt 2021-04-27 14:06:54 UTC (rev 276637)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt 2021-04-27 14:25:59 UTC (rev 276638)
@@ -66,12 +66,12 @@
PASS overflow-y: "visible" onto "hidden"
PASS page-break-after (type: discrete) has testAccumulation function
PASS page-break-after: "auto" onto "always"
-FAIL page-break-after: "always" onto "auto" assert_equals: The value should be always at 0ms expected "always" but got "auto"
+PASS page-break-after: "always" onto "auto"
PASS page-break-before (type: discrete) has testAccumulation function
PASS page-break-before: "auto" onto "always"
-FAIL page-break-before: "always" onto "auto" assert_equals: The value should be always at 0ms expected "always" but got "auto"
+PASS page-break-before: "always" onto "auto"
PASS page-break-inside (type: discrete) has testAccumulation function
-FAIL page-break-inside: "avoid" onto "auto" assert_equals: The value should be avoid at 0ms expected "avoid" but got "auto"
+PASS page-break-inside: "avoid" onto "auto"
PASS page-break-inside: "auto" onto "avoid"
PASS paint-order (type: discrete) has testAccumulation function
PASS paint-order: "stroke" onto "fill"
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt (276637 => 276638)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt 2021-04-27 14:06:54 UTC (rev 276637)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt 2021-04-27 14:25:59 UTC (rev 276638)
@@ -66,12 +66,12 @@
PASS overflow-y: "visible" onto "hidden"
PASS page-break-after (type: discrete) has testAddition function
PASS page-break-after: "auto" onto "always"
-FAIL page-break-after: "always" onto "auto" assert_equals: The value should be always at 0ms expected "always" but got "auto"
+PASS page-break-after: "always" onto "auto"
PASS page-break-before (type: discrete) has testAddition function
PASS page-break-before: "auto" onto "always"
-FAIL page-break-before: "always" onto "auto" assert_equals: The value should be always at 0ms expected "always" but got "auto"
+PASS page-break-before: "always" onto "auto"
PASS page-break-inside (type: discrete) has testAddition function
-FAIL page-break-inside: "avoid" onto "auto" assert_equals: The value should be avoid at 0ms expected "avoid" but got "auto"
+PASS page-break-inside: "avoid" onto "auto"
PASS page-break-inside: "auto" onto "avoid"
PASS paint-order (type: discrete) has testAddition function
PASS paint-order: "stroke" onto "fill"
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt (276637 => 276638)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt 2021-04-27 14:06:54 UTC (rev 276637)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt 2021-04-27 14:25:59 UTC (rev 276638)
@@ -78,17 +78,17 @@
PASS overflow-y uses discrete animation when animating between "visible" and "hidden" with effect easing
PASS overflow-y uses discrete animation when animating between "visible" and "hidden" with keyframe easing
PASS page-break-after (type: discrete) has testInterpolation function
-FAIL page-break-after uses discrete animation when animating between "always" and "auto" with linear easing assert_equals: The value should be always at 0ms expected "always" but got "auto"
-FAIL page-break-after uses discrete animation when animating between "always" and "auto" with effect easing assert_equals: The value should be always at 0ms expected "always" but got "auto"
-FAIL page-break-after uses discrete animation when animating between "always" and "auto" with keyframe easing assert_equals: The value should be always at 0ms expected "always" but got "auto"
+PASS page-break-after uses discrete animation when animating between "always" and "auto" with linear easing
+PASS page-break-after uses discrete animation when animating between "always" and "auto" with effect easing
+PASS page-break-after uses discrete animation when animating between "always" and "auto" with keyframe easing
PASS page-break-before (type: discrete) has testInterpolation function
-FAIL page-break-before uses discrete animation when animating between "always" and "auto" with linear easing assert_equals: The value should be always at 0ms expected "always" but got "auto"
-FAIL page-break-before uses discrete animation when animating between "always" and "auto" with effect easing assert_equals: The value should be always at 0ms expected "always" but got "auto"
-FAIL page-break-before uses discrete animation when animating between "always" and "auto" with keyframe easing assert_equals: The value should be always at 0ms expected "always" but got "auto"
+PASS page-break-before uses discrete animation when animating between "always" and "auto" with linear easing
+PASS page-break-before uses discrete animation when animating between "always" and "auto" with effect easing
+PASS page-break-before uses discrete animation when animating between "always" and "auto" with keyframe easing
PASS page-break-inside (type: discrete) has testInterpolation function
-FAIL page-break-inside uses discrete animation when animating between "auto" and "avoid" with linear easing assert_equals: The value should be avoid at 500ms expected "avoid" but got "auto"
-FAIL page-break-inside uses discrete animation when animating between "auto" and "avoid" with effect easing assert_equals: The value should be avoid at 960ms expected "avoid" but got "auto"
-FAIL page-break-inside uses discrete animation when animating between "auto" and "avoid" with keyframe easing assert_equals: The value should be avoid at 960ms expected "avoid" but got "auto"
+PASS page-break-inside uses discrete animation when animating between "auto" and "avoid" with linear easing
+PASS page-break-inside uses discrete animation when animating between "auto" and "avoid" with effect easing
+PASS page-break-inside uses discrete animation when animating between "auto" and "avoid" with keyframe easing
PASS paint-order (type: discrete) has testInterpolation function
PASS paint-order uses discrete animation when animating between "fill" and "stroke" with linear easing
PASS paint-order uses discrete animation when animating between "fill" and "stroke" with effect easing
Modified: trunk/Source/WebCore/ChangeLog (276637 => 276638)
--- trunk/Source/WebCore/ChangeLog 2021-04-27 14:06:54 UTC (rev 276637)
+++ trunk/Source/WebCore/ChangeLog 2021-04-27 14:25:59 UTC (rev 276638)
@@ -1,3 +1,15 @@
+2021-04-27 Antoine Quint <[email protected]>
+
+ Correctly specify interpolation of page-break-* properties
+ https://bugs.webkit.org/show_bug.cgi?id=225098
+
+ Reviewed by Antti Koivisto.
+
+ As it turns out the page-break-* properties are shorthands of the break-* properties.
+
+ * animation/CSSPropertyAnimation.cpp:
+ (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
+
2021-04-27 Zalan Bujtas <[email protected]>
[RenderTreeBuilder] ASSERTION FAILED: ancestor->style().columnSpan() != ColumnSpan::All || !isValidColumnSpanner(fragmentedFlow, *ancestor) in WebCore::isValidColumnSpanner
Modified: trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp (276637 => 276638)
--- trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp 2021-04-27 14:06:54 UTC (rev 276637)
+++ trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp 2021-04-27 14:25:59 UTC (rev 276638)
@@ -2434,9 +2434,9 @@
new DiscretePropertyWrapper<OverflowWrap>(CSSPropertyOverflowWrap, &RenderStyle::overflowWrap, &RenderStyle::setOverflowWrap),
new DiscretePropertyWrapper<Overflow>(CSSPropertyOverflowX, &RenderStyle::overflowX, &RenderStyle::setOverflowX),
new DiscretePropertyWrapper<Overflow>(CSSPropertyOverflowY, &RenderStyle::overflowY, &RenderStyle::setOverflowY),
- new DiscretePropertyWrapper<BreakBetween>(CSSPropertyPageBreakAfter, &RenderStyle::breakAfter, &RenderStyle::setBreakAfter),
- new DiscretePropertyWrapper<BreakBetween>(CSSPropertyPageBreakBefore, &RenderStyle::breakBefore, &RenderStyle::setBreakBefore),
- new DiscretePropertyWrapper<BreakInside>(CSSPropertyPageBreakInside, &RenderStyle::breakInside, &RenderStyle::setBreakInside),
+ new DiscretePropertyWrapper<BreakBetween>(CSSPropertyBreakAfter, &RenderStyle::breakAfter, &RenderStyle::setBreakAfter),
+ new DiscretePropertyWrapper<BreakBetween>(CSSPropertyBreakBefore, &RenderStyle::breakBefore, &RenderStyle::setBreakBefore),
+ new DiscretePropertyWrapper<BreakInside>(CSSPropertyBreakInside, &RenderStyle::breakInside, &RenderStyle::setBreakInside),
new DiscretePropertyWrapper<PaintOrder>(CSSPropertyPaintOrder, &RenderStyle::paintOrder, &RenderStyle::setPaintOrder),
new DiscretePropertyWrapper<PointerEvents>(CSSPropertyPointerEvents, &RenderStyle::pointerEvents, &RenderStyle::setPointerEvents),
new DiscretePropertyWrapper<PositionType>(CSSPropertyPosition, &RenderStyle::position, &RenderStyle::setPosition),
@@ -2485,6 +2485,9 @@
CSSPropertyMargin,
CSSPropertyOutline,
CSSPropertyPadding,
+ CSSPropertyPageBreakAfter,
+ CSSPropertyPageBreakBefore,
+ CSSPropertyPageBreakInside,
CSSPropertyWebkitTextStroke,
CSSPropertyColumnRule,
CSSPropertyWebkitBorderRadius,