@@ -1397,10 +1397,14 @@ is a [=list=] of {{CSSTransformComponent}}s.
13971397 attribute CSSNumericValue length;
13981398 };
13991399
1400- [Constructor(DOMMatrixReadOnly matrix)]
1400+ [Constructor(DOMMatrixReadOnly matrix, optional CSSMatrixComponentOptions options )]
14011401 interface CSSMatrixComponent : CSSTransformComponent {
14021402 attribute DOMMatrix matrix;
14031403 };
1404+
1405+ dictionary CSSMatrixComponentOptions {
1406+ boolean is2D;
1407+ };
14041408</xmp>
14051409
14061410<div algorithm="CSSTransformComponent.is2D">
@@ -1574,7 +1578,26 @@ is a [=list=] of {{CSSTransformComponent}}s.
15741578 Note: ''perspective()'' functions always represent 3D transforms.
15751579</div>
15761580
1577- Issue(366): Figure out how to define 2d vs 3d matrix.
1581+ <div algorithm="CSSMatrixComponent()">
1582+ The <dfn constructor for=CSSMatrixComponent>CSSMatrixComponent(|matrix|, |options|)</dfn> constructor must,
1583+ when invoked,
1584+ perform the following steps:
1585+
1586+ 1. Let |this| be a new {{CSSMatrixComponent}} object
1587+ with its {{CSSMatrixComponent/matrix}} internal slot
1588+ set to |matrix|.
1589+
1590+ 2. If |options| was passed
1591+ and has a {{CSSMatrixComponentOptions}} field,
1592+ set |this|’s {{CSSTransformValue/is2D}} internal slot
1593+ to the value of that field.
1594+
1595+ 3. Otherwise,
1596+ set |this|’s {{CSSTransformValue/is2D}} internal slot
1597+ to the value of |matrix|’s {{DOMMatrixReadOnly/is2D}} internal slot.
1598+
1599+ 4. Return |this|.
1600+ </div>
15781601
15791602<div class=note>
15801603 Each {{CSSTransformComponent}} can correspond to
0 commit comments