| <!DOCTYPE html> |
| |
| <html> |
| <head> |
| <style type="text/css" media="screen"> |
| iframe { |
| border: 10px solid black; |
| padding: 5px; |
| margin: 20px; |
| height: 150px; |
| width: 300px; |
| -webkit-box-shadow: 0 0 20px black; |
| } |
| |
| .overlay { |
| position: absolute; |
| width: 50px; |
| height: 50px; |
| top: 5px; |
| left: 5px; |
| background-color: rgba(0, 0, 0, 0.2); |
| } |
| |
| </style> |
| <script type="text/javascript" charset="utf-8"> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| function doTest() |
| { |
| // For some reason this delay is required for AppKit to not short-circuit the display. |
| window.setTimeout(function() { |
| var hadLayersBefore = false; |
| var hadLayersAfter = false; |
| if (window.testRunner) { |
| testRunner.displayAndTrackRepaints(); // Need to paint for overlap testing. |
| hadLayersBefore = window.internals.layerTreeAsText(document) != ""; |
| } |
| |
| document.getElementById('parent-iframe').src = "about:blank"; |
| |
| window.setTimeout(function() { |
| if (window.testRunner) { |
| hadLayersAfter = window.internals.layerTreeAsText(document) != ""; |
| |
| var results = document.getElementById('results'); |
| if (hadLayersBefore && !hadLayersAfter) |
| results.innerText = "PASS: layers disappeared when iframe source changed." |
| else if (!hadLayersBefore) |
| results.innerText = "FAIL: should have initially had layers, but did not." |
| else if (hadLayersAfter) |
| results.innerText = "FAIL: layers did not disappear when iframe source changed." |
| |
| testRunner.notifyDone(); |
| } |
| }, 0); |
| }, 0); |
| } |
| |
| window.addEventListener('load', doTest, false); |
| </script> |
| </head> |
| <body> |
| |
| <iframe id="parent-iframe" src="resources/composited-subframe.html"></iframe> |
| |
| <div class="overlay"> |
| </div> |
| |
| <p>The iframe content was removed. There should be no layers here.</p> |
| <p id="results">This test needs to be run in DRT.</p> |
| </body> |
| </html> |