You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: css-transforms-1/Overview.bs
+48-37Lines changed: 48 additions & 37 deletions
Original file line number
Diff line number
Diff line change
@@ -118,41 +118,43 @@ Terminology {#terminology}
118
118
119
119
When used in this specification, terms have the meanings assigned in this section.
120
120
121
-
: <dfn>transformable element</dfn>
122
-
:: A transformable element is an element in one of these categories:
123
-
* all elements whose layout is governed by the CSS box model except for non-replaced inline boxes, table-column boxes, and table-column-group boxes [[!CSS2]]
124
-
125
-
* an element in the SVG namespace and not governed by the CSS box model which has the attributes <a element-attr for>transform</a>, <{pattern/patternTransform}> or <{linearGradient/gradientTransform}>[[!SVG11]].
126
-
127
-
Issue(w3c/csswg-drafts#358): Adapte SVG2's content model for transformable elements.
128
-
: <dfn>transformed element</dfn>
129
-
:: An element with a computed value other than ''transform/none'' for the 'transform' property.
130
-
131
-
: <dfn export>user coordinate system</dfn>
132
-
: <dfn export>local coordinate system</dfn>
133
-
:: In general, a coordinate system defines locations and distances on the current canvas. The current local coordinate system (also user coordinate system) is the coordinate system that is currently active and which is used to define how coordinates and lengths are located and computed, respectively, on the current canvas.
134
-
The current user coordinate system has its origin at the top-left of a [=reference box=] specified by the 'transform-box' property. Percentage values are relative to the dimension of this reference box. One unit equals one CSS pixel.
135
-
136
-
: <dfn>transformation matrix</dfn>
137
-
:: A matrix that defines the mathematical mapping from one coordinate system into another. It is computed from the values of the 'transform' and 'transform-origin' properties as described <a href="#transformation-matrix-computation">below</a>.
138
-
139
-
: <dfn>current transformation matrix</dfn> (CTM)
140
-
:: A matrix that defines the mapping from the [=local coordinate system=] into the [=viewport coordinate system=].
141
-
142
-
: <dfn>2D matrix</dfn>
143
-
:: A 3x2 transformation matrix, or a 4x4 matrix where the items m<sub>31</sub>, m<sub>32</sub>, m<sub>13</sub>, m<sub>23</sub>, m<sub>43</sub>, m<sub>14</sub>, m<sub>24</sub>, m<sub>34</sub> are equal to ''0'' and m<sub>33</sub>, m<sub>44</sub> are equal to ''1''.
144
-
145
-
: <dfn>identity transform function</dfn>
146
-
:: A <a href="#transform-functions">transform function</a> that is equivalent to a identity 4x4 matrix (see <a href="#mathematical-description">Mathematical Description of Transform Functions</a>). Examples for identity transform functions are ''translate(0)'', ''translateX(0)'', ''translateY(0)'', ''scale(1)'', ''scaleX(1)'', ''scaleY(1)'', ''rotate(0)'', ''skew(0, 0)'', ''skewX(0)'', ''skewY(0)'' and ''matrix(1, 0, 0, 1, 0, 0)''.
147
-
148
-
: <dfn>post-multiply</dfn>
149
-
:: Term <var>A</var> post-multiplied by term <var>B</var> is equal to <var>A</var> · <var>B</var>.
150
-
151
-
: <dfn>pre-multiply</dfn>
152
-
:: Term <var>A</var> pre-multiplied by term <var>B</var> is equal to <var>B</var> · <var>A</var>.
153
-
154
-
: <dfn>multiply</dfn>
155
-
:: Multiply term <var>A</var> by term <var>B</var> is equal to <var>A</var> · <var>B</var>.
121
+
<div data-export>
122
+
: <dfn>transformable element</dfn>
123
+
:: A transformable element is an element in one of these categories:
124
+
* all elements whose layout is governed by the CSS box model except for non-replaced inline boxes, table-column boxes, and table-column-group boxes [[!CSS2]]
125
+
126
+
* an element in the SVG namespace and not governed by the CSS box model which has the attributes <a element-attr for>transform</a>, <{pattern/patternTransform}> or <{linearGradient/gradientTransform}>[[!SVG11]].
127
+
128
+
Issue(w3c/csswg-drafts#358): Adapte SVG2's content model for transformable elements.
129
+
: <dfn>transformed element</dfn>
130
+
:: An element with a computed value other than ''transform/none'' for the 'transform' property.
131
+
132
+
: <dfn export>user coordinate system</dfn>
133
+
: <dfn export>local coordinate system</dfn>
134
+
:: In general, a coordinate system defines locations and distances on the current canvas. The current local coordinate system (also user coordinate system) is the coordinate system that is currently active and which is used to define how coordinates and lengths are located and computed, respectively, on the current canvas.
135
+
The current user coordinate system has its origin at the top-left of a [=reference box=] specified by the 'transform-box' property. Percentage values are relative to the dimension of this reference box. One unit equals one CSS pixel.
136
+
137
+
: <dfn>transformation matrix</dfn>
138
+
:: A matrix that defines the mathematical mapping from one coordinate system into another. It is computed from the values of the 'transform' and 'transform-origin' properties as described <a href="#transformation-matrix-computation">below</a>.
139
+
140
+
: <dfn>current transformation matrix</dfn> (CTM)
141
+
:: A matrix that defines the mapping from the [=local coordinate system=] into the [=viewport coordinate system=].
142
+
143
+
: <dfn>2D matrix</dfn>
144
+
:: A 3x2 transformation matrix, or a 4x4 matrix where the items m<sub>31</sub>, m<sub>32</sub>, m<sub>13</sub>, m<sub>23</sub>, m<sub>43</sub>, m<sub>14</sub>, m<sub>24</sub>, m<sub>34</sub> are equal to ''0'' and m<sub>33</sub>, m<sub>44</sub> are equal to ''1''.
145
+
146
+
: <dfn>identity transform function</dfn>
147
+
:: A <a href="#transform-functions">transform function</a> that is equivalent to a identity 4x4 matrix (see <a href="#mathematical-description">Mathematical Description of Transform Functions</a>). Examples for identity transform functions are ''translate(0)'', ''translateX(0)'', ''translateY(0)'', ''scale(1)'', ''scaleX(1)'', ''scaleY(1)'', ''rotate(0)'', ''skew(0, 0)'', ''skewX(0)'', ''skewY(0)'' and ''matrix(1, 0, 0, 1, 0, 0)''.
148
+
149
+
: <dfn>post-multiply</dfn>
150
+
:: Term <var>A</var> post-multiplied by term <var>B</var> is equal to <var>A</var> · <var>B</var>.
151
+
152
+
: <dfn>pre-multiply</dfn>
153
+
:: Term <var>A</var> pre-multiplied by term <var>B</var> is equal to <var>B</var> · <var>A</var>.
154
+
155
+
: <dfn>multiply</dfn>
156
+
:: Multiply term <var>A</var> by term <var>B</var> is equal to <var>A</var> · <var>B</var>.
157
+
</div>
156
158
157
159
The Transform Rendering Model {#transform-rendering}
<var ignore=''>From-to</var>, <var ignore=''>from-by</var> and <var ignore=''>by</var> animations are defined in SMIL to be equivalent to a corresponding <var>values</var> animation. However, <var ignore=''>to</var> animations are a mixture of additive and non-additive behavior [[SMIL3]].
530
+
<var ignore=''>From-to</var>, <var ignore=''>from-by</var> and <var ignore=''>by</var> animations are defined in SMIL to be equivalent to a corresponding <var ignore>values</var> animation. However, <var ignore=''>to</var> animations are a mixture of additive and non-additive behavior [[SMIL3]].
529
531
530
532
<var ignore=''>To</var> animations on <{animate}> provide specific functionality to get a smooth change from the underlying value to the <var ignore=''>to</var> attribute value, which conflicts mathematically with the requirement for additive transform animations to be post-multiplied. As a consequence, the behavior of <var ignore=''>to</var> animations for <{animate}> is undefined. Authors are suggested to use <var ignore=''>from-to</var>, <var ignore=''>from-by</var>, <var ignore=''>by</var> or <var ignore=''>values</var> animations to achieve any desired transform animation.
531
533
@@ -1120,9 +1122,18 @@ One translation unit on a matrix is equivalent to 1 pixel in the local coordinat
1120
1122
1121
1123
</ul>
1122
1124
1125
+
# Privacy and Security Considerations # {#priv-sec}
1126
+
UAs must implement transform operations in a way attackers can not infer information and mount a timing attack.
1127
+
1128
+
A timing attack is a method of obtaining information about content that is otherwise protected, based on studying the amount of time it takes for an operation to occur.
1129
+
1130
+
At this point there are no information about potential privacy or security concerns specific to this specification.
1131
+
1123
1132
<h2 class="no-num" id="changes">Changes since last publication</h2>
1124
1133
1134
+
The following changes were made since the <a href="https://www.w3.org/TR/2017/WD-css-transforms-1-20171130/">30 November 2017 Working Draft</a>.
1125
1135
* Remove specification text that makes <a element-attr for=pattern>patternTransform</a>, <a element-attr for=linearGradient>gradientTransform</a> presentation attributes representing the 'transform' property. That is going to get specified by SVG 2 [[SVG2]].
1136
+
* Added <a href="#priv-sec">privacy and security</a> section.
0 commit comments