WPT
wpt / css / geometry / DOMMatrix-001.html
Spec: Geometry Interfaces ↗
Runs: Chrome 155.0.8038.0 (wpt@b1a7025f8, 2026-09-02) | Firefox 157.0a1 (wpt@b1a7025f8, 2026-09-02) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-a7884 (wpt@b1a7025f8, 2026-09-02) | Servo Servo 0.5 (wpt@2ccd2cbf8, 2026-09-01) | Blitz 7727414ca (wpt@a95401e4e, 2026-09-02)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 138/138 | 136/138 | 138/138 | 136/138 | 136/138 | 8/138 |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| new DOMMatrix() | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(undefined) | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(new DOMMatrix()) | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("none") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(" none") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("none ") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("NONE") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("none/**/") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("/**/none") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(float32Array) 16 elements | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(float32Array) 6 elements | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(float64Array) 16 elements | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix((float64Array) 6 elements | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(sequence) 16 elements | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(sequence) 6 elements | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("scale(2) translateX(5px) translateY(5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("scale(2, 2) translateX(5px) translateY(5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("scale(2)translateX(5px)translateY(5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("scale(2) translateX(calc(2 * 2.5px)) translateY(5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("scale(2) translateX(5px) translateY(5px) rotate(5deg) rotate(-5deg)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX (5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("scale(2 2) translateX(5) translateY(5)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("scale(2, 2), translateX(5) ,translateY(5)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("scale(sign(1em))") | PASS | FAIL | PASS | FAIL | FAIL | FAIL |
| new DOMMatrix("scale(sibling-index())") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5em)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5ex)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5ch)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5rem)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5cqw)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5cqh)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5cqb)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5cqi)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5cqmin)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5cqmax)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5vw)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5vh)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5vb)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5vi)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5vmin)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5vmax)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(5%)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(calc(10px * sign(1em - 10px)))") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("translateX(calc(10px * sibling-index()))") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("rotate(5)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("rotate(5, 5, 5)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("rotate(5, 5px, 5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("rotate(5deg, 5px, 5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("rotate(calc(5deg * sign(1em - 10px)))") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("rotate(calc(5deg * sibling-index()))") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(" ") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("/**/") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("\0") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(";") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("none;") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("null") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(null) | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("undefined") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("inherit") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("initial") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("unset") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(sequence) | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(matrix) | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix("scale(2, 2), translateX(5px) translateY(5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrix(sequence) 17 elements | PASS | PASS | PASS | PASS | PASS | PASS |
| new DOMMatrix(sequence) 15 elements | PASS | PASS | PASS | PASS | PASS | PASS |
| new DOMMatrix(sequence) 5 elements | PASS | PASS | PASS | PASS | PASS | PASS |
| new DOMMatrix(sequence) 0 elements | PASS | PASS | PASS | PASS | PASS | PASS |
| new DOMMatrixReadOnly() | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(undefined) | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(new DOMMatrixReadOnly()) | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("none") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(" none") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("none ") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("NONE") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("none/**/") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("/**/none") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(float32Array) 16 elements | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(float32Array) 6 elements | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(float64Array) 16 elements | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly((float64Array) 6 elements | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(sequence) 16 elements | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(sequence) 6 elements | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("scale(2) translateX(5px) translateY(5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("scale(2, 2) translateX(5px) translateY(5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("scale(2)translateX(5px)translateY(5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("scale(2) translateX(calc(2 * 2.5px)) translateY(5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("scale(2) translateX(5px) translateY(5px) rotate(5deg) rotate(-5deg)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX (5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("scale(2 2) translateX(5) translateY(5)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("scale(2, 2), translateX(5) ,translateY(5)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("scale(sign(1em))") | PASS | FAIL | PASS | FAIL | FAIL | FAIL |
| new DOMMatrixReadOnly("scale(sibling-index())") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5em)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5ex)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5ch)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5rem)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5cqw)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5cqh)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5cqb)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5cqi)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5cqmin)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5cqmax)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5vw)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5vh)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5vb)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5vi)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5vmin)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5vmax)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(5%)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(calc(10px * sign(1em - 10px)))") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("translateX(calc(10px * sibling-index()))") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("rotate(5)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("rotate(5, 5, 5)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("rotate(5, 5px, 5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("rotate(5deg, 5px, 5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("rotate(calc(5deg * sign(1em - 10px)))") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("rotate(calc(5deg * sibling-index()))") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(" ") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("/**/") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("\0") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(";") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("none;") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("null") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(null) | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("undefined") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("inherit") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("initial") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("unset") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(sequence) | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(matrix) | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly("scale(2, 2), translateX(5px) translateY(5px)") | PASS | PASS | PASS | PASS | PASS | FAIL |
| new DOMMatrixReadOnly(sequence) 17 elements | PASS | PASS | PASS | PASS | PASS | PASS |
| new DOMMatrixReadOnly(sequence) 15 elements | PASS | PASS | PASS | PASS | PASS | PASS |
| new DOMMatrixReadOnly(sequence) 5 elements | PASS | PASS | PASS | PASS | PASS | PASS |
| new DOMMatrixReadOnly(sequence) 0 elements | PASS | PASS | PASS | PASS | PASS | PASS |