Skip to content

Commit 9499faa

Browse files
committed
[css-transforms-1] Add privacy & securtiy section. Export terms.
1 parent abf363f commit 9499faa

File tree

1 file changed

+48
-37
lines changed

1 file changed

+48
-37
lines changed

css-transforms-1/Overview.bs

Lines changed: 48 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -118,41 +118,43 @@ Terminology {#terminology}
118118

119119
When used in this specification, terms have the meanings assigned in this section.
120120

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> &middot; <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> &middot; <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> &middot; <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> &middot; <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> &middot; <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> &middot; <var>B</var>.
157+
</div>
156158

157159
The Transform Rendering Model {#transform-rendering}
158160
====================================================
@@ -334,7 +336,7 @@ For SVG elements without associated CSS layout box the initial [=used value=] is
334336
}
335337
</code></pre>
336338

337-
The 'transform-origin' property is a <a>resolved value special case</a> property like 'height'. [[!CSSOM]]
339+
The 'transform-origin' property is a <a>resolved value special case property</a> like 'height'. [[!CSSOM]]
338340

339341

340342
Transform reference box: the 'transform-box' property {#transform-box}
@@ -525,7 +527,7 @@ The animation effect is post-multiplied to the underlying value for additive <{a
525527

526528
Issue(w3c/csswg-drafts#909): Clarify post-/pre-multiply column-/row-major order.
527529

528-
<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]].
529531

530532
<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.
531533

@@ -1120,9 +1122,18 @@ One translation unit on a matrix is equivalent to 1 pixel in the local coordinat
11201122

11211123
</ul>
11221124

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+
11231132
<h2 class="no-num" id="changes">Changes since last publication</h2>
11241133

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>.
11251135
* 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.
11261137

11271138
ISSUE: Add all changes.
11281139

0 commit comments

Comments
 (0)