| <html> |
| <head> |
| <title>Interrupted Transition</title> |
| <style type="text/css" media="screen"> |
| .box { |
| position: relative; |
| top: 0; |
| left: 0; |
| width: 100px; |
| height: 100px; |
| background-color: blue; |
| -webkit-transition-property: -webkit-transform; |
| -webkit-transition-duration: 2s; |
| -webkit-transform: translate(0, 0); |
| } |
| </style> |
| <script type="text/javascript" charset="utf-8"> |
| if (window.layoutTestController) { |
| layoutTestController.dumpAsText(); |
| layoutTestController.waitUntilDone(); |
| } |
| |
| function test() |
| { |
| var t = window.getComputedStyle(document.getElementById('box')).webkitTransform; |
| // grab the x value from the matrix() |
| var lastValueRE = /([\.\d]+),[^,]+\)$/; |
| var xTranslate = lastValueRE.exec(t)[1]; |
| var result = (xTranslate > 0) ? 'PASS' : 'FAIL: transition should be re-targeted from 200px in x, so x > 0'; |
| document.getElementById('result').innerHTML = result; |
| |
| if (window.layoutTestController) |
| layoutTestController.notifyDone(); |
| } |
| |
| function startTest() |
| { |
| var box = document.getElementById('box'); |
| box.style.webkitTransform = 'translate(200px, 0)'; |
| |
| window.setTimeout(function() { |
| box.style.webkitTransform = 'translate(0, 200px)'; |
| window.setTimeout(test, 0); |
| }, 300); |
| |
| } |
| </script> |
| </head> |
| <body onload="startTest()"> |
| <p>Interrupted transition should not jump back to pre-transition transform</p> |
| <div id="box" class="box"> |
| </div> |
| <div id="result"> |
| </div> |
| </body> |
| </html> |