Auto merge of #19388 - BorisChiou:stylo/dommatrix/parser, r=emilio,heycam

stylo: Implement Servo_ParseTransformIntoMatrix

This is an inter-dependent patch of Bug 1408310.

DOMMatrix needs to convert a specified transform list into a matrix, so we rewrite
to_transform_3d_matrix by generics for both specified and computed transform lists.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1408310](https://bugzilla.mozilla.org/show_bug.cgi?id=1408310).
- [X] These changes do not require tests because we can count on the wpt tests for DOMMatrix on Gecko side.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/19388)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-11-27 20:13:34 -06:00 committed by GitHub
commit 823da9e34a
16 changed files with 450 additions and 238 deletions

View file

@ -65189,11 +65189,11 @@
"support"
],
"css/transform_skew_a.html": [
"8ae3384ece6fc2ebd537736e63723e12b974fff3",
"521496ff3fb82a34498d313c1d600a6ca271b1ed",
"reftest"
],
"css/transform_skew_ref.html": [
"6f5154aef6acf1428ac391f0d2dbb2e369ca930b",
"a941cd3a8c968494f292ddadd28de5b541ad71b2",
"support"
],
"css/transform_stacking_context_a.html": [

View file

@ -1,4 +0,0 @@
[transform_skew_a.html]
type: reftest
expected:
if os == "linux": FAIL

View file

@ -18,7 +18,7 @@ div>div {
}
.transformed1 {
transform: skewX(0.3rad);
transform: skewX(0.25rad);
}
.transformed2 {
@ -26,7 +26,7 @@ div>div {
}
.transformed3 {
transform: skew(0.3rad, 0.5rad);
transform: skew(0.25rad, 0.5rad);
}
</style>
</head>

View file

@ -17,7 +17,7 @@ div>div {
}
.transformed1_ref {
transform: matrix(1, 0, 0.30933624961, 1, 0, 0);
transform: matrix(1, 0, 0.25534192122, 1, 0, 0);
}
.transformed2_ref {
@ -25,7 +25,7 @@ div>div {
}
.transformed3_ref {
transform: matrix(1, 0.54630248984, 0.30933624961, 1, 0, 0);
transform: matrix(1, 0.54630248984, 0.25534192122, 1, 0, 0);
}
</style>