Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(168)

Side by Side Diff: third_party/WebKit/LayoutTests/transforms/transform-parsing.html

Issue 1811953002: Make parsing of <transform> more strict (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: V2 Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script> 2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script> 3 <script src="../resources/testharnessreport.js"></script>
4 <div id="target" style="width: 200px; height: 100px; display: inline-block"></di v> 4 <div id="target" style="width: 200px; height: 100px; display: inline-block"></di v>
5 <script src="resources/parsing-test-helper.js"></script> 5 <script src="resources/parsing-test-helper.js"></script>
6 <script> 6 <script>
7 expect = expect.bind(this, 'transform', 'transform'); 7 expect = expect.bind(this, 'transform', 'transform');
8 8
9 expect('initial').parsesAs('initial').isComputedTo('none'); 9 expect('initial').parsesAs('initial').isComputedTo('none');
10 expect('inherit').parsesAs('inherit'); 10 expect('inherit').parsesAs('inherit');
(...skipping 14 matching lines...) Expand all
25 25
26 // translate() 26 // translate()
27 expect('translate(0)').parsesAs('translate(0px)'); 27 expect('translate(0)').parsesAs('translate(0px)');
28 expect('translate(0, 0)').parsesAs('translate(0px, 0px)'); 28 expect('translate(0, 0)').parsesAs('translate(0px, 0px)');
29 expect('translate(1px, 2px)').parsesAs('translate(1px, 2px)').isComputedTo('matr ix(1, 0, 0, 1, 1, 2)'); 29 expect('translate(1px, 2px)').parsesAs('translate(1px, 2px)').isComputedTo('matr ix(1, 0, 0, 1, 1, 2)');
30 expect('translate(1px)').parsesAs('translate(1px)'); 30 expect('translate(1px)').parsesAs('translate(1px)');
31 expect('translate(20%, 10%)').parsesAs('translate(20%, 10%)').isComputedTo('matr ix(1, 0, 0, 1, 40, 10)'); 31 expect('translate(20%, 10%)').parsesAs('translate(20%, 10%)').isComputedTo('matr ix(1, 0, 0, 1, 40, 10)');
32 expect('translate()').isInvalid(); 32 expect('translate()').isInvalid();
33 expect('translate(1)').isInvalid(); 33 expect('translate(1)').isInvalid();
34 expect('translate(1, 2)').isInvalid(); 34 expect('translate(1, 2)').isInvalid();
35 expect('translate(1px,)').isInvalid();
35 expect('translate(1px, 2px, 3px)').isInvalid(); 36 expect('translate(1px, 2px, 3px)').isInvalid();
36 37
37 // translateX() 38 // translateX()
38 expect('translateX(0)').parsesAs('translateX(0px)'); 39 expect('translateX(0)').parsesAs('translateX(0px)');
39 expect('translateX(2px)').parsesAs('translateX(2px)').isComputedTo('matrix(1, 0, 0, 1, 2, 0)'); 40 expect('translateX(2px)').parsesAs('translateX(2px)').isComputedTo('matrix(1, 0, 0, 1, 2, 0)');
40 expect('translateX(50%)').parsesAs('translateX(50%)'); 41 expect('translateX(50%)').parsesAs('translateX(50%)');
41 expect('translateX(1)').isInvalid(); 42 expect('translateX(1)').isInvalid();
42 expect('translateX()').isInvalid(); 43 expect('translateX()').isInvalid();
43 expect('translateX(1px, 2px)').isInvalid(); 44 expect('translateX(1px, 2px)').isInvalid();
44 45
45 // translateY() 46 // translateY()
46 expect('translateY(0)').parsesAs('translateY(0px)'); 47 expect('translateY(0)').parsesAs('translateY(0px)');
47 expect('translateY(2px)').parsesAs('translateY(2px)').isComputedTo('matrix(1, 0, 0, 1, 0, 2)'); 48 expect('translateY(2px)').parsesAs('translateY(2px)').isComputedTo('matrix(1, 0, 0, 1, 0, 2)');
48 expect('translateY(50%)').parsesAs('translateY(50%)'); 49 expect('translateY(50%)').parsesAs('translateY(50%)');
49 expect('translateY(1)').isInvalid(); 50 expect('translateY(1)').isInvalid();
50 expect('translateY()').isInvalid(); 51 expect('translateY()').isInvalid();
51 expect('translateY(1px, 2px)').isInvalid(); 52 expect('translateY(1px, 2px)').isInvalid();
52 53
53 // scale() 54 // scale()
54 expect('scale(1)').parsesAs('scale(1)'); 55 expect('scale(1)').parsesAs('scale(1)');
55 expect('scale(2, 3)').parsesAs('scale(2, 3)').isComputedTo('matrix(2, 0, 0, 3, 0 , 0)'); 56 expect('scale(2, 3)').parsesAs('scale(2, 3)').isComputedTo('matrix(2, 0, 0, 3, 0 , 0)');
56 expect('scale()').isInvalid(); 57 expect('scale()').isInvalid();
58 expect('scale(1,)').isInvalid();
57 expect('scale(1, 2, 3)').isInvalid(); 59 expect('scale(1, 2, 3)').isInvalid();
58 expect('scale(1px, 2px)').isInvalid(); 60 expect('scale(1px, 2px)').isInvalid();
59 expect('scale(20%, 50%)').isInvalid(); 61 expect('scale(20%, 50%)').isInvalid();
60 62
61 // scaleX() 63 // scaleX()
62 expect('scaleX(2)').parsesAs('scaleX(2)').isComputedTo('matrix(2, 0, 0, 1, 0, 0) '); 64 expect('scaleX(2)').parsesAs('scaleX(2)').isComputedTo('matrix(2, 0, 0, 1, 0, 0) ');
63 expect('scaleX()').isInvalid(); 65 expect('scaleX()').isInvalid();
64 expect('scaleX(1, 2)').isInvalid(); 66 expect('scaleX(1, 2)').isInvalid();
65 expect('scaleX(1px)').isInvalid(); 67 expect('scaleX(1px)').isInvalid();
66 expect('scaleX(50%)').isInvalid(); 68 expect('scaleX(50%)').isInvalid();
(...skipping 18 matching lines...) Expand all
85 expect('rotate()').isInvalid(); 87 expect('rotate()').isInvalid();
86 88
87 // skew() 89 // skew()
88 expect('skew(0)').parsesAs('skew(0deg)'); 90 expect('skew(0)').parsesAs('skew(0deg)');
89 expect('skew(45deg)').parsesAs('skew(45deg)'); 91 expect('skew(45deg)').parsesAs('skew(45deg)');
90 expect('skew(10rad, 20turn)').parsesAs('skew(10rad, 20turn)'); 92 expect('skew(10rad, 20turn)').parsesAs('skew(10rad, 20turn)');
91 expect('skew(0, 0)').parsesAs('skew(0deg, 0deg)'); 93 expect('skew(0, 0)').parsesAs('skew(0deg, 0deg)');
92 expect('skew(1)').isInvalid(); 94 expect('skew(1)').isInvalid();
93 expect('skew(2%)').isInvalid(); 95 expect('skew(2%)').isInvalid();
94 expect('skew()').isInvalid(); 96 expect('skew()').isInvalid();
97 expect('skew(45deg,)').isInvalid();
95 expect('skew(1deg, 2deg, 3deg)').isInvalid(); 98 expect('skew(1deg, 2deg, 3deg)').isInvalid();
96 99
97 // skewX() 100 // skewX()
98 expect('skewX(0)').parsesAs('skewX(0deg)'); 101 expect('skewX(0)').parsesAs('skewX(0deg)');
99 expect('skewX(45deg)').parsesAs('skewX(45deg)'); 102 expect('skewX(45deg)').parsesAs('skewX(45deg)');
100 expect('skewX(1)').isInvalid(); 103 expect('skewX(1)').isInvalid();
101 expect('skewX(2%)').isInvalid(); 104 expect('skewX(2%)').isInvalid();
102 expect('skewX()').isInvalid(); 105 expect('skewX()').isInvalid();
103 expect('skewX(1deg, 2deg)').isInvalid(); 106 expect('skewX(1deg, 2deg)').isInvalid();
104 107
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 expect('scaleZ(1, 2)').isInvalid(); 158 expect('scaleZ(1, 2)').isInvalid();
156 expect('scaleZ(1px)').isInvalid(); 159 expect('scaleZ(1px)').isInvalid();
157 expect('scaleZ(50%)').isInvalid(); 160 expect('scaleZ(50%)').isInvalid();
158 161
159 // rotate3d() 162 // rotate3d()
160 expect('rotate3d(0, 0, 0, 0)').parsesAs('rotate3d(0, 0, 0, 0deg)'); 163 expect('rotate3d(0, 0, 0, 0)').parsesAs('rotate3d(0, 0, 0, 0deg)');
161 expect('rotate3d(1, 2, 3, 4deg)').parsesAs('rotate3d(1, 2, 3, 4deg)'); 164 expect('rotate3d(1, 2, 3, 4deg)').parsesAs('rotate3d(1, 2, 3, 4deg)');
162 expect('rotate3d()').isInvalid(); 165 expect('rotate3d()').isInvalid();
163 expect('rotate3d(1, 2, 3)').isInvalid(); 166 expect('rotate3d(1, 2, 3)').isInvalid();
164 expect('rotate3d(1, 2, 3, 4deg, 0)').isInvalid(); 167 expect('rotate3d(1, 2, 3, 4deg, 0)').isInvalid();
168 expect('rotate3d(1, 2, 3, )').isInvalid();
165 169
166 // rotateX() 170 // rotateX()
167 expect('rotateX(0)').parsesAs('rotateX(0deg)'); 171 expect('rotateX(0)').parsesAs('rotateX(0deg)');
168 expect('rotateX(1deg)').parsesAs('rotateX(1deg)'); 172 expect('rotateX(1deg)').parsesAs('rotateX(1deg)');
169 expect('rotateX()').isInvalid(); 173 expect('rotateX()').isInvalid();
170 expect('rotateX(1deg, 1deg)').isInvalid(); 174 expect('rotateX(1deg, 1deg)').isInvalid();
171 175
172 // rotateY() 176 // rotateY()
173 expect('rotateY(0)').parsesAs('rotateY(0deg)'); 177 expect('rotateY(0)').parsesAs('rotateY(0deg)');
174 expect('rotateY(1deg)').parsesAs('rotateY(1deg)'); 178 expect('rotateY(1deg)').parsesAs('rotateY(1deg)');
175 expect('rotateY()').isInvalid(); 179 expect('rotateY()').isInvalid();
176 expect('rotateY(1deg, 1deg)').isInvalid(); 180 expect('rotateY(1deg, 1deg)').isInvalid();
177 181
178 // rotateZ() 182 // rotateZ()
179 expect('rotateZ(0)').parsesAs('rotateZ(0deg)'); 183 expect('rotateZ(0)').parsesAs('rotateZ(0deg)');
180 expect('rotateZ(1deg)').parsesAs('rotateZ(1deg)'); 184 expect('rotateZ(1deg)').parsesAs('rotateZ(1deg)');
181 expect('rotateZ()').isInvalid(); 185 expect('rotateZ()').isInvalid();
182 expect('rotateZ(1deg, 1deg)').isInvalid(); 186 expect('rotateZ(1deg, 1deg)').isInvalid();
183 187
184 // perspective() 188 // perspective()
185 expect('perspective(2px)').parsesAs('perspective(2px)'). 189 expect('perspective(2px)').parsesAs('perspective(2px)').
186 isComputedTo('matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, -0.5, 0, 0, 0, 1)'); 190 isComputedTo('matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, -0.5, 0, 0, 0, 1)');
187 expect('perspective(0px)').isInvalid(); 191 expect('perspective(0px)').isInvalid();
188 expect('perspective(2)').isInvalid(); 192 expect('perspective(2)').isInvalid();
189 expect('perspective(5%)').isInvalid(); 193 expect('perspective(5%)').isInvalid();
190 expect('perspective()').isInvalid(); 194 expect('perspective()').isInvalid();
191 expect('perspective(1px, 2px)').isInvalid(); 195 expect('perspective(1px, 2px)').isInvalid();
192 </script> 196 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698