| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>This tests if repaint rect is calculated properly for WK1 when parent layer has non-compositing transform.</title> |
| <style> |
| .inner { |
| position: relative; |
| top: 0px; |
| left: 0px; |
| width: 2px; |
| height: 2px; |
| border: solid black 0.5px; |
| } |
| |
| .outer { |
| position: absolute; |
| top: 0px; |
| left: 0px; |
| -webkit-transform: translateX(0px); |
| } |
| </style> |
| </head> |
| <body> |
| <p id="container"></p> |
| <script> |
| if (window.testRunner) |
| testRunner.waitUntilDone(); |
| |
| var container = document.getElementById("container"); |
| for (i = 0; i < 30; ++i) { |
| adjustment = 0; |
| for (j = 0; j < 20; ++j) { |
| var outer = document.createElement("div"); |
| outer.style.top = 7 * (i + j * adjustment) + "px"; |
| outer.style.left = 7 * (j + i * adjustment) + "px"; |
| outer.className = "outer"; |
| |
| var inner = document.createElement("div"); |
| inner.style.top = (-adjustment) + "px"; |
| inner.style.left = (-adjustment) + "px"; |
| inner.className = "inner"; |
| adjustment += 0.1; |
| |
| outer.appendChild(inner); |
| container.appendChild(outer); |
| } |
| } |
| |
| function move() { |
| if (window.testRunner && window.internals) { |
| window.testRunner.dumpAsText(false); |
| window.internals.startTrackingRepaints(); |
| } |
| |
| divs = document.getElementsByClassName("outer"); |
| for (i = 0; i < divs.length; ++i) |
| divs[i].style.left = "-100px"; |
| |
| if (window.testRunner) { |
| var dummy = document.body.offsetTop; |
| var repaintRects = window.internals.repaintRectsAsText(); |
| window.internals.stopTrackingRepaints(); |
| |
| var pre = document.createElement('pre'); |
| document.body.appendChild(pre); |
| pre.innerHTML = repaintRects; |
| testRunner.notifyDone(); |
| } |
| } |
| |
| setTimeout(move, 1000); |
| |
| </script> |
| </body> |
| </html> |