| <!DOCTYPE html> | 
 | <html> | 
 | <head> | 
 |   <script src="../resources/run-after-layout-and-paint.js"></script> | 
 |   <style> | 
 |     #indicator { | 
 |       position: absolute; | 
 |       top: 0px; | 
 |       left: 0px; | 
 |       height: 100px; | 
 |       width: 100px; | 
 |       background-color: red; | 
 |     } | 
 |     #clipper { | 
 |       transform:translateZ(0); | 
 |       position: absolute; | 
 |       top: 0px; | 
 |       left: 0px; | 
 |       height: 100px; | 
 |       width: 100px; | 
 |       background-color: green; | 
 |       clip: rect(25px, 75px, 75px, 25px); | 
 |     } | 
 |   </style> | 
 |   <script> | 
 |     if (window.testRunner) { | 
 |       testRunner.dumpAsTextWithPixelResults(); | 
 |       testRunner.waitUntilDone(); | 
 |     } | 
 |     function doTest() { | 
 |       runAfterLayoutAndPaint(function() { | 
 |         // The change in clip style should be reflected immediately in the size | 
 |         // of the composited clipper layer. After changing the clip, it should | 
 |         // entirely cover the indicator. | 
 |         var clipper = document.getElementById("clipper"); | 
 |         clipper.style.clip = "rect(0px, 100px, 100px, 0px)"; | 
 |         if (window.testRunner) | 
 |           testRunner.notifyDone(); | 
 |       }); | 
 |     } | 
 |     window.addEventListener("load", doTest, false); | 
 |   </script> | 
 | </head> | 
 |   <body> | 
 |     <div id="indicator"></div> | 
 |     <div id="clipper"></div> | 
 |   </body> | 
 | </html> |