| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 <body> |  | 
| 2 <div id="result"></div> |  | 
| 3 <div style="position: relative; height: 200px; overflow: auto;"> |  | 
| 4     <div id="target" style="height: 75%; background-color: red;"></div> |  | 
| 5 </div> |  | 
| 6 <script> |  | 
| 7     if (window.testRunner) { |  | 
| 8         testRunner.dumpAsText(); |  | 
| 9         testRunner.waitUntilDone(); |  | 
| 10     } |  | 
| 11 |  | 
| 12     window.onload = function () { |  | 
| 13         // Force a layout with offsetHeight, and then start toggling overflow. |  | 
| 14         target.offsetHeight; |  | 
| 15         toggleOverflow(); |  | 
| 16     } |  | 
| 17 |  | 
| 18     var callCount = 0; |  | 
| 19     var recursionDepth = 0; |  | 
| 20 |  | 
| 21     var target = document.getElementById("target"); |  | 
| 22     var result = document.getElementById("result"); |  | 
| 23 |  | 
| 24     function pass() |  | 
| 25     { |  | 
| 26         result.innerHTML = "PASS"; |  | 
| 27         if (window.testRunner) |  | 
| 28             testRunner.notifyDone(); |  | 
| 29     } |  | 
| 30 |  | 
| 31     function fail() |  | 
| 32     { |  | 
| 33         result.innerHTML = "FAIL"; |  | 
| 34         if (window.testRunner) |  | 
| 35             testRunner.notifyDone(); |  | 
| 36     } |  | 
| 37 |  | 
| 38     function toggleOverflow() |  | 
| 39     { |  | 
| 40         ++recursionDepth; |  | 
| 41         ++callCount; |  | 
| 42 |  | 
| 43         // The code change associated with this test will cause this function to
     start |  | 
| 44         // firing asynchronously. |  | 
| 45         if (recursionDepth > 2) { |  | 
| 46             fail(); |  | 
| 47             return; |  | 
| 48         } |  | 
| 49 |  | 
| 50         // If we have made it this far without a recursionDepth of 2 or greater,
     then we |  | 
| 51         // can say that the test passed. |  | 
| 52         if (callCount > 8) { |  | 
| 53             pass(); |  | 
| 54             return; |  | 
| 55         } |  | 
| 56 |  | 
| 57         if (target.style.height === "75%") |  | 
| 58             target.style.height = "200%"; |  | 
| 59         else |  | 
| 60             target.style.height = "75%"; |  | 
| 61         target.offsetHeight; |  | 
| 62 |  | 
| 63         --recursionDepth; |  | 
| 64     } |  | 
| 65     target.parentNode.addEventListener("overflowchanged", toggleOverflow); |  | 
| 66 </script> |  | 
| 67 </body> |  | 
| OLD | NEW | 
|---|