mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-22 04:25:13 +00:00
LibWeb/Animation: Fall back to discrete animation in more cases
Use discrete animation when the number of components or the types of corresponding components do not match. This commit does not cover all cases, but adds FIXME comments in the appropriate places.
This commit is contained in:
parent
4bec023b7b
commit
0d15cc4672
Notes:
github-actions[bot]
2024-11-25 17:11:25 +00:00
Author: https://github.com/skyz1 Commit: https://github.com/LadybirdBrowser/ladybird/commit/0d15cc4672b Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2568
3 changed files with 470 additions and 8 deletions
|
@ -572,8 +572,9 @@ NonnullRefPtr<CSSStyleValue const> interpolate_value(DOM::Element& element, CSSS
|
|||
case CSSStyleValue::Type::Integer:
|
||||
return IntegerStyleValue::create(interpolate_raw(from.as_integer().integer(), to.as_integer().integer(), delta));
|
||||
case CSSStyleValue::Type::Length: {
|
||||
auto& from_length = from.as_length().length();
|
||||
auto& to_length = to.as_length().length();
|
||||
// FIXME: Absolutize values
|
||||
auto const& from_length = from.as_length().length();
|
||||
auto const& to_length = to.as_length().length();
|
||||
return LengthStyleValue::create(Length(interpolate_raw(from_length.raw_value(), to_length.raw_value(), delta), from_length.type()));
|
||||
}
|
||||
case CSSStyleValue::Type::Number:
|
||||
|
@ -583,8 +584,8 @@ NonnullRefPtr<CSSStyleValue const> interpolate_value(DOM::Element& element, CSSS
|
|||
case CSSStyleValue::Type::Position: {
|
||||
// https://www.w3.org/TR/css-values-4/#combine-positions
|
||||
// FIXME: Interpolation of <position> is defined as the independent interpolation of each component (x, y) normalized as an offset from the top left corner as a <length-percentage>.
|
||||
auto& from_position = from.as_position();
|
||||
auto& to_position = to.as_position();
|
||||
auto const& from_position = from.as_position();
|
||||
auto const& to_position = to.as_position();
|
||||
return PositionStyleValue::create(
|
||||
interpolate_value(element, from_position.edge_x(), to_position.edge_x(), delta)->as_edge(),
|
||||
interpolate_value(element, from_position.edge_y(), to_position.edge_y(), delta)->as_edge());
|
||||
|
@ -606,6 +607,12 @@ NonnullRefPtr<CSSStyleValue const> interpolate_value(DOM::Element& element, CSSS
|
|||
case CSSStyleValue::Type::Rect: {
|
||||
auto from_rect = from.as_rect().rect();
|
||||
auto to_rect = to.as_rect().rect();
|
||||
|
||||
if (from_rect.top_edge.is_auto() != to_rect.top_edge.is_auto() || from_rect.right_edge.is_auto() != to_rect.right_edge.is_auto() || from_rect.bottom_edge.is_auto() != to_rect.bottom_edge.is_auto() || from_rect.left_edge.is_auto() != to_rect.left_edge.is_auto()) {
|
||||
return delta >= 0.5f ? to : from;
|
||||
}
|
||||
|
||||
// FIXME: Absolutize values
|
||||
return RectStyleValue::create({
|
||||
Length(interpolate_raw(from_rect.top_edge.raw_value(), to_rect.top_edge.raw_value(), delta), from_rect.top_edge.type()),
|
||||
Length(interpolate_raw(from_rect.right_edge.raw_value(), to_rect.right_edge.raw_value(), delta), from_rect.right_edge.type()),
|
||||
|
@ -616,11 +623,14 @@ NonnullRefPtr<CSSStyleValue const> interpolate_value(DOM::Element& element, CSSS
|
|||
case CSSStyleValue::Type::Transformation:
|
||||
VERIFY_NOT_REACHED();
|
||||
case CSSStyleValue::Type::ValueList: {
|
||||
auto& from_list = from.as_value_list();
|
||||
auto& to_list = to.as_value_list();
|
||||
auto const& from_list = from.as_value_list();
|
||||
auto const& to_list = to.as_value_list();
|
||||
if (from_list.size() != to_list.size())
|
||||
return from;
|
||||
return delta >= 0.5f ? to : from;
|
||||
|
||||
// FIXME: If the number of components or the types of corresponding components do not match,
|
||||
// or if any component value uses discrete animation and the two corresponding values do not match,
|
||||
// then the property values combine as discrete.
|
||||
StyleValueVector interpolated_values;
|
||||
interpolated_values.ensure_capacity(from_list.size());
|
||||
for (size_t i = 0; i < from_list.size(); ++i)
|
||||
|
@ -629,7 +639,7 @@ NonnullRefPtr<CSSStyleValue const> interpolate_value(DOM::Element& element, CSSS
|
|||
return StyleValueList::create(move(interpolated_values), from_list.separator());
|
||||
}
|
||||
default:
|
||||
return from;
|
||||
return delta >= 0.5f ? to : from;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,335 @@
|
|||
Summary
|
||||
|
||||
Harness status: OK
|
||||
|
||||
Rerun
|
||||
|
||||
Found 324 tests
|
||||
|
||||
248 Pass
|
||||
76 Fail
|
||||
Details
|
||||
Result Test Name MessageFail CSS Transitions: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(-20px 180px -20px 180px)]
|
||||
Fail CSS Transitions: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(0px 100px 0px 100px)]
|
||||
Fail CSS Transitions: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(5px 80px 5px 80px)]
|
||||
Fail CSS Transitions: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(15px 40px 15px 40px)]
|
||||
Pass CSS Transitions: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)]
|
||||
Fail CSS Transitions: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(40px -60px 40px -60px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(-20px 180px -20px 180px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(0px 100px 0px 100px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(5px 80px 5px 80px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(15px 40px 15px 40px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(40px -60px 40px -60px)]
|
||||
Fail CSS Animations: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(-20px 180px -20px 180px)]
|
||||
Fail CSS Animations: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(0px 100px 0px 100px)]
|
||||
Fail CSS Animations: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(5px 80px 5px 80px)]
|
||||
Fail CSS Animations: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(15px 40px 15px 40px)]
|
||||
Pass CSS Animations: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)]
|
||||
Fail CSS Animations: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(40px -60px 40px -60px)]
|
||||
Fail Web Animations: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(-20px 180px -20px 180px)]
|
||||
Fail Web Animations: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(0px 100px 0px 100px)]
|
||||
Fail Web Animations: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(5px 80px 5px 80px)]
|
||||
Fail Web Animations: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(15px 40px 15px 40px)]
|
||||
Pass Web Animations: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)]
|
||||
Fail Web Animations: property <clip> from neutral to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(40px -60px 40px -60px)]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [initial]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0) should be [initial]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [initial]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [initial]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0) should be [initial]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [initial]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [initial]
|
||||
Pass CSS Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0) should be [initial]
|
||||
Pass CSS Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [initial]
|
||||
Pass CSS Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass Web Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [initial]
|
||||
Pass Web Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0) should be [initial]
|
||||
Pass Web Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [initial]
|
||||
Pass Web Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass Web Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass Web Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass Web Animations: property <clip> from [initial] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Fail CSS Transitions: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(180px -20px 180px -20px)]
|
||||
Fail CSS Transitions: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(100px 0px 100px 0px)]
|
||||
Fail CSS Transitions: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(80px 5px 80px 5px)]
|
||||
Fail CSS Transitions: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(40px 15px 40px 15px)]
|
||||
Pass CSS Transitions: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)]
|
||||
Fail CSS Transitions: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(-60px 40px -60px 40px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(180px -20px 180px -20px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(100px 0px 100px 0px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(80px 5px 80px 5px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(40px 15px 40px 15px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(-60px 40px -60px 40px)]
|
||||
Pass CSS Animations: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(180px -20px 180px -20px)]
|
||||
Pass CSS Animations: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(100px 0px 100px 0px)]
|
||||
Pass CSS Animations: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(80px 5px 80px 5px)]
|
||||
Pass CSS Animations: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(40px 15px 40px 15px)]
|
||||
Pass CSS Animations: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)]
|
||||
Pass CSS Animations: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(-60px 40px -60px 40px)]
|
||||
Pass Web Animations: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(180px -20px 180px -20px)]
|
||||
Pass Web Animations: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(100px 0px 100px 0px)]
|
||||
Pass Web Animations: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(80px 5px 80px 5px)]
|
||||
Pass Web Animations: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(40px 15px 40px 15px)]
|
||||
Pass Web Animations: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)]
|
||||
Pass Web Animations: property <clip> from [inherit] to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(-60px 40px -60px 40px)]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [unset]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0) should be [unset]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [unset]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [unset]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0) should be [unset]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [unset]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [unset]
|
||||
Pass CSS Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0) should be [unset]
|
||||
Pass CSS Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [unset]
|
||||
Pass CSS Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass CSS Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass Web Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [unset]
|
||||
Pass Web Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0) should be [unset]
|
||||
Pass Web Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [unset]
|
||||
Pass Web Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass Web Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass Web Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Pass Web Animations: property <clip> from [unset] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)]
|
||||
Fail CSS Transitions: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (-1) should be [rect(0px, 50px, 70px, 15px)]
|
||||
Fail CSS Transitions: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0) should be [rect(0px, 75px, 80px, 10px)]
|
||||
Fail CSS Transitions: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.25) should be [rect(0px, 81.25px, 82.5px, 8.75px)]
|
||||
Fail CSS Transitions: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.75) should be [rect(0px, 93.75px, 87.5px, 6.25px)]
|
||||
Pass CSS Transitions: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (1) should be [rect(0px, 100px, 90px, 5px)]
|
||||
Fail CSS Transitions: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (2) should be [rect(0px, 125px, 100px, 0px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (-1) should be [rect(0px, 50px, 70px, 15px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0) should be [rect(0px, 75px, 80px, 10px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.25) should be [rect(0px, 81.25px, 82.5px, 8.75px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.75) should be [rect(0px, 93.75px, 87.5px, 6.25px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (1) should be [rect(0px, 100px, 90px, 5px)]
|
||||
Fail CSS Transitions with transition: all: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (2) should be [rect(0px, 125px, 100px, 0px)]
|
||||
Pass CSS Animations: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (-1) should be [rect(0px, 50px, 70px, 15px)]
|
||||
Pass CSS Animations: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0) should be [rect(0px, 75px, 80px, 10px)]
|
||||
Pass CSS Animations: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.25) should be [rect(0px, 81.25px, 82.5px, 8.75px)]
|
||||
Pass CSS Animations: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.75) should be [rect(0px, 93.75px, 87.5px, 6.25px)]
|
||||
Pass CSS Animations: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (1) should be [rect(0px, 100px, 90px, 5px)]
|
||||
Pass CSS Animations: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (2) should be [rect(0px, 125px, 100px, 0px)]
|
||||
Pass Web Animations: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (-1) should be [rect(0px, 50px, 70px, 15px)]
|
||||
Pass Web Animations: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0) should be [rect(0px, 75px, 80px, 10px)]
|
||||
Pass Web Animations: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.25) should be [rect(0px, 81.25px, 82.5px, 8.75px)]
|
||||
Pass Web Animations: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.75) should be [rect(0px, 93.75px, 87.5px, 6.25px)]
|
||||
Pass Web Animations: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (1) should be [rect(0px, 100px, 90px, 5px)]
|
||||
Pass Web Animations: property <clip> from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (2) should be [rect(0px, 125px, 100px, 0px)]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (-0.3) should be [rect(auto, auto, auto, 10px)]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0) should be [rect(auto, auto, auto, 10px)]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.3) should be [rect(auto, auto, auto, 10px)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.5) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.6) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1.5) should be [rect(20px, 50px, 50px, auto)]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (-0.3) should be [rect(auto, auto, auto, 10px)]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0) should be [rect(auto, auto, auto, 10px)]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.3) should be [rect(auto, auto, auto, 10px)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.5) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.6) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1.5) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (-0.3) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.3) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.5) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.6) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1.5) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (-0.3) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.3) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.5) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.6) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1.5) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (-0.3) should be [rect(auto, auto, auto, 10px)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0) should be [rect(auto, auto, auto, 10px)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.3) should be [rect(auto, auto, auto, 10px)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.5) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.6) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1.5) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (-0.3) should be [rect(auto, auto, auto, 10px)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0) should be [rect(auto, auto, auto, 10px)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.3) should be [rect(auto, auto, auto, 10px)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.5) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.6) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1) should be [rect(20px, 50px, 50px, auto)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1.5) should be [rect(20px, 50px, 50px, auto)]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (-0.3) should be [rect(auto, 0px, auto, 10px)]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0) should be [rect(auto, 0px, auto, 10px)]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.3) should be [rect(auto, 0px, auto, 10px)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.5) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.6) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1.5) should be [rect(auto, 50px, 50px, auto)]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (-0.3) should be [rect(auto, 0px, auto, 10px)]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0) should be [rect(auto, 0px, auto, 10px)]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.3) should be [rect(auto, 0px, auto, 10px)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.5) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.6) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1.5) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (-0.3) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.3) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.5) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.6) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1.5) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (-0.3) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.3) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.5) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.6) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1.5) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (-0.3) should be [rect(auto, 0px, auto, 10px)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0) should be [rect(auto, 0px, auto, 10px)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.3) should be [rect(auto, 0px, auto, 10px)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.5) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.6) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass CSS Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1.5) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (-0.3) should be [rect(auto, 0px, auto, 10px)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0) should be [rect(auto, 0px, auto, 10px)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.3) should be [rect(auto, 0px, auto, 10px)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.5) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.6) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1) should be [rect(auto, 50px, 50px, auto)]
|
||||
Pass Web Animations: property <clip> from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1.5) should be [rect(auto, 50px, 50px, auto)]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (-0.3) should be [auto]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0) should be [auto]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.3) should be [auto]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.5) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.6) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (1) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (1.5) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (-0.3) should be [auto]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0) should be [auto]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.3) should be [auto]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.5) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.6) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (1) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (1.5) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (-0.3) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.3) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.5) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.6) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (1) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (1.5) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (-0.3) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.3) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.5) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.6) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (1) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (1.5) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (-0.3) should be [auto]
|
||||
Pass CSS Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0) should be [auto]
|
||||
Pass CSS Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.3) should be [auto]
|
||||
Pass CSS Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.5) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.6) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (1) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (1.5) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass Web Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (-0.3) should be [auto]
|
||||
Pass Web Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0) should be [auto]
|
||||
Pass Web Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.3) should be [auto]
|
||||
Pass Web Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.5) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass Web Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.6) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass Web Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (1) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass Web Animations: property <clip> from [auto] to [rect(0px, 50px, 50px, 0px)] at (1.5) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (-0.3) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Fail CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.3) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.5) should be [auto]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.6) should be [auto]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (1) should be [auto]
|
||||
Pass CSS Transitions with transition-behavior:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (1.5) should be [auto]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (-0.3) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.3) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.5) should be [auto]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.6) should be [auto]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (1) should be [auto]
|
||||
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (1.5) should be [auto]
|
||||
Pass CSS Transitions: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (-0.3) should be [auto]
|
||||
Pass CSS Transitions: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0) should be [auto]
|
||||
Pass CSS Transitions: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.3) should be [auto]
|
||||
Pass CSS Transitions: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.5) should be [auto]
|
||||
Pass CSS Transitions: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.6) should be [auto]
|
||||
Pass CSS Transitions: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (1) should be [auto]
|
||||
Pass CSS Transitions: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (1.5) should be [auto]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (-0.3) should be [auto]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0) should be [auto]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.3) should be [auto]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.5) should be [auto]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.6) should be [auto]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (1) should be [auto]
|
||||
Pass CSS Transitions with transition: all: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (1.5) should be [auto]
|
||||
Pass CSS Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (-0.3) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.3) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass CSS Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.5) should be [auto]
|
||||
Pass CSS Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.6) should be [auto]
|
||||
Pass CSS Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (1) should be [auto]
|
||||
Pass CSS Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (1.5) should be [auto]
|
||||
Pass Web Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (-0.3) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass Web Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass Web Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.3) should be [rect(0px, 50px, 50px, 0px)]
|
||||
Pass Web Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.5) should be [auto]
|
||||
Pass Web Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.6) should be [auto]
|
||||
Pass Web Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (1) should be [auto]
|
||||
Pass Web Animations: property <clip> from [rect(0px, 50px, 50px, 0px)] to [auto] at (1.5) should be [auto]
|
|
@ -0,0 +1,117 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>clip interpolation</title>
|
||||
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#clip-property">
|
||||
<meta name="assert" content="clip supports animation">
|
||||
|
||||
<script src="../../../resources/testharness.js"></script>
|
||||
<script src="../../../resources/testharnessreport.js"></script>
|
||||
<script src="../../../css/support/interpolation-testcommon.js"></script>
|
||||
|
||||
<style>
|
||||
.container {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
background: black;
|
||||
display: inline-block;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.container:nth-child(2n) {
|
||||
background: green;
|
||||
}
|
||||
|
||||
.parent {
|
||||
clip: rect(100px, 0px, 100px, 0px);
|
||||
}
|
||||
|
||||
.target {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
background: white;
|
||||
clip: rect(0px, 100px, 0px, 100px);
|
||||
}
|
||||
</style>
|
||||
|
||||
<body>
|
||||
<template id="target-template">
|
||||
<div class="container"><div class="target"></div></div>
|
||||
</template>
|
||||
<script>
|
||||
test_interpolation({
|
||||
property: 'clip',
|
||||
from: neutralKeyframe,
|
||||
to: 'rect(20px, 20px, 20px, 20px)',
|
||||
}, [
|
||||
{at: -1, expect: 'rect(-20px 180px -20px 180px)'},
|
||||
{at: 0, expect: 'rect(0px 100px 0px 100px)'},
|
||||
{at: 0.25, expect: 'rect(5px 80px 5px 80px)'},
|
||||
{at: 0.75, expect: 'rect(15px 40px 15px 40px)'},
|
||||
{at: 1, expect: 'rect(20px 20px 20px 20px)'},
|
||||
{at: 2, expect: 'rect(40px -60px 40px -60px)'},
|
||||
]);
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'clip',
|
||||
from: 'initial',
|
||||
to: 'rect(20px, 20px, 20px, 20px)',
|
||||
});
|
||||
|
||||
test_interpolation({
|
||||
property: 'clip',
|
||||
from: 'inherit',
|
||||
to: 'rect(20px, 20px, 20px, 20px)',
|
||||
}, [
|
||||
{at: -1, expect: 'rect(180px -20px 180px -20px)'},
|
||||
{at: 0, expect: 'rect(100px 0px 100px 0px)'},
|
||||
{at: 0.25, expect: 'rect(80px 5px 80px 5px)'},
|
||||
{at: 0.75, expect: 'rect(40px 15px 40px 15px)'},
|
||||
{at: 1, expect: 'rect(20px 20px 20px 20px)'},
|
||||
{at: 2, expect: 'rect(-60px 40px -60px 40px)'},
|
||||
]);
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'clip',
|
||||
from: 'unset',
|
||||
to: 'rect(20px, 20px, 20px, 20px)',
|
||||
});
|
||||
|
||||
test_interpolation({
|
||||
property: 'clip',
|
||||
from: 'rect(0px, 75px, 80px, 10px)',
|
||||
to: 'rect(0px, 100px, 90px, 5px)'
|
||||
}, [
|
||||
{at: -1, expect: 'rect(0px, 50px, 70px, 15px)'},
|
||||
{at: 0, expect: 'rect(0px, 75px, 80px, 10px)'},
|
||||
{at: 0.25, expect: 'rect(0px, 81.25px, 82.5px, 8.75px)'},
|
||||
{at: 0.75, expect: 'rect(0px, 93.75px, 87.5px, 6.25px)'},
|
||||
{at: 1, expect: 'rect(0px, 100px, 90px, 5px)'},
|
||||
{at: 2, expect: 'rect(0px, 125px, 100px, 0px)'},
|
||||
]);
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'clip',
|
||||
from: 'rect(auto, auto, auto, 10px)',
|
||||
to: 'rect(20px, 50px, 50px, auto)'
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'clip',
|
||||
from: 'rect(auto, 0px, auto, 10px)',
|
||||
to: 'rect(auto, 50px, 50px, auto)'
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'clip',
|
||||
from: 'auto',
|
||||
to: 'rect(0px, 50px, 50px, 0px)'
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'clip',
|
||||
from: 'rect(0px, 50px, 50px, 0px)',
|
||||
to: 'auto'
|
||||
});
|
||||
</script>
|
Loading…
Add table
Reference in a new issue