Bug 1850841 Comment 1 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Looks like we don't follow the spec for serialization.

The interpolation is correct. per this test case, when progress is 100%, our result is `matrix3d ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 )`.

Per spec, the resolved value for matrix (https://drafts.csswg.org/css-transforms-2/#serialization-of-the-computed-value):
```
Chose between <matrix()> or <matrix3d()> serialization:

If transform is a 2D matrix
    Serialize transform to a <matrix()> function. 
Otherwise
    Serialize transform to a <matrix3d()> function. 
```

So in this case, the result is a 2D matrix, so we have to serialize it as a `matrix()` function, instead of `matrix3d()` function.
Looks like we don't follow the spec for serialization.

The interpolation is correct. per this test case, when progress is 100%, our result is `matrix3d ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 )`.

Per spec, the resolved value for matrix (https://drafts.csswg.org/css-transforms-2/#serialization-of-the-computed-value):
```
Chose between <matrix()> or <matrix3d()> serialization:

If transform is a 2D matrix
    Serialize transform to a <matrix()> function. 
Otherwise
    Serialize transform to a <matrix3d()> function. 
```

So in this case, the result is a 2D matrix, and we have to serialize it as a `matrix()` function, instead of `matrix3d()` function.
Looks like we don't follow the spec for serialization.

The interpolation is correct. per this test case, when progress is 100%, our result is `matrix3d ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 )`.

Per spec, the resolved value for matrix (https://drafts.csswg.org/css-transforms-2/#serialization-of-the-computed-value):
```
Chose between <matrix()> or <matrix3d()> serialization:

If transform is a 2D matrix
    Serialize transform to a <matrix()> function. 
Otherwise
    Serialize transform to a <matrix3d()> function. 
```

So in this case, the result is a 2D matrix, and we have to serialize it as a `matrix()` function, instead of `matrix3d()` function.

UPDATED:
Well, we definitely has a check if it is 2D or 3D when serialization. Need to figure out what happened.
Looks like we don't follow the spec for serialization.

The interpolation is correct. per this test case, when progress is 100%, our result is `matrix3d ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 )`.

Per spec, the resolved value for matrix (https://drafts.csswg.org/css-transforms-2/#serialization-of-the-computed-value):
```
Chose between <matrix()> or <matrix3d()> serialization:

If transform is a 2D matrix
    Serialize transform to a <matrix()> function. 
Otherwise
    Serialize transform to a <matrix3d()> function. 
```

So in this case, the result is a 2D matrix, and we have to serialize it as a `matrix()` function, instead of `matrix3d()` function.

UPDATED:
Well, we definitely have a check if it is 2D or 3D when serialization. Need to figure out what happened.

Back to Bug 1850841 Comment 1