| OLD | NEW |
| 1 <html xmlns="http://www.w3.org/1999/xhtml"> | 1 <html xmlns="http://www.w3.org/1999/xhtml"> |
| 2 <style> | 2 <style> |
| 3 #svgRoot { | 3 #svgRoot { |
| 4 position: absolute; | 4 position: absolute; |
| 5 top: 0; | 5 top: 0; |
| 6 left: 0; | 6 left: 0; |
| 7 width: 100%; | 7 width: 100%; |
| 8 height: 100%; | 8 height: 100%; |
| 9 } | 9 } |
| 10 | 10 |
| 11 #transformOriginRect { | 11 #transformOriginRect { |
| 12 fill: green; | 12 fill: green; |
| 13 transform: rotate(90deg); | 13 transform: rotate(90deg); |
| 14 } | 14 } |
| 15 .relative { |
| 16 transform-box: fill-box; |
| 17 } |
| 18 .absolute { |
| 19 transform-box: view-box; |
| 20 } |
| 15 </style> | 21 </style> |
| 16 | 22 |
| 17 <!-- | 23 <!-- |
| 18 Test for bug 79068 - SVG should support transform-origin and relative values. | 24 Test for bug 79068 - SVG should support transform-origin and relative values. |
| 19 | 25 |
| 20 You should see 9 green 20x20 rectangles. Each green rectangle is actually one
of a set of about 6, each one | 26 You should see 9 green 20x20 rectangles. Each green rectangle is actually one
of a set of about 6, each one |
| 21 with a different but equivalent value for the CSS transform-origin property. | 27 with a different but equivalent value for the CSS transform-origin property. |
| 22 --> | 28 --> |
| 23 | 29 |
| 24 <body> | 30 <body> |
| 25 <svg id="svgRoot" xmlns="http://www.w3.org/2000/svg"></svg> | 31 <svg id="svgRoot" xmlns="http://www.w3.org/2000/svg"></svg> |
| 26 | 32 |
| 27 <script><![CDATA[ | 33 <script><![CDATA[ |
| 28 var svgNS = "http://www.w3.org/2000/svg"; | 34 var svgNS = "http://www.w3.org/2000/svg"; |
| 29 | 35 |
| 30 function addTransformOriginRect(x, y, s) | 36 function addTransformOriginRect(x, y, s) |
| 31 { | 37 { |
| 32 var rect = document.createElementNS(svgNS, "rect"); | 38 var rect = document.createElementNS(svgNS, "rect"); |
| 33 var transformOrigin = (typeof(s) == "string") ? s : (x + s[0]) + " " + (
y + s[1]); | 39 var transformOrigin = (typeof(s) == "string") ? s : (x + s[0] + "px") +
" " + (y + s[1] + "px"); |
| 40 rect.setAttribute("class", typeof(s) == "string" ? "relative" : "absolute
"); |
| 34 rect.setAttribute("id", "transformOriginRect"); | 41 rect.setAttribute("id", "transformOriginRect"); |
| 35 rect.setAttribute("x", x); | 42 rect.setAttribute("x", x); |
| 36 rect.setAttribute("y", y); | 43 rect.setAttribute("y", y); |
| 37 rect.setAttribute("width", 30); | 44 rect.setAttribute("width", 30); |
| 38 rect.setAttribute("height", 30); | 45 rect.setAttribute("height", 30); |
| 39 rect.setAttribute("style", "-webkit-transform-origin: " + transformOrigin
+ ";"); | 46 rect.setAttribute("style", "-webkit-transform-origin: " + transformOrigin
+ ";"); |
| 40 document.getElementById("svgRoot").appendChild(rect); | 47 document.getElementById("svgRoot").appendChild(rect); |
| 41 } | 48 } |
| 42 | 49 |
| 43 var equivalentTransformOrigins = [ | 50 var equivalentTransformOrigins = [ |
| (...skipping 10 matching lines...) Expand all Loading... |
| 54 | 61 |
| 55 for (var i = 0; i < equivalentTransformOrigins.length; i++) { | 62 for (var i = 0; i < equivalentTransformOrigins.length; i++) { |
| 56 var x = 60 + (i % 4) * 60; | 63 var x = 60 + (i % 4) * 60; |
| 57 var y = 60 + Math.floor(i / 4) * 60; | 64 var y = 60 + Math.floor(i / 4) * 60; |
| 58 equivalentTransformOrigins[i].map( function(s) { addTransformOriginRect
(x, y, s); } ); | 65 equivalentTransformOrigins[i].map( function(s) { addTransformOriginRect
(x, y, s); } ); |
| 59 } | 66 } |
| 60 | 67 |
| 61 ]]></script> | 68 ]]></script> |
| 62 </body> | 69 </body> |
| 63 </html> | 70 </html> |
| OLD | NEW |