| <!DOCTYPE html> |
| |
| <html> |
| <head> |
| <style> |
| .fixed { |
| position: fixed; |
| width: 10px; |
| height: 10px; |
| background-color: silver; |
| transform: translateX(0); /* Defeat clip to viewport */ |
| } |
| </style> |
| <script type="text/javascript"> |
| if (window.testRunner && window.internals) { |
| testRunner.dumpAsText(); |
| internals.settings.setAcceleratedCompositingForFixedPositionEnabled(true); |
| |
| addEventListener("load", function() { |
| let layers1 = internals.layerTreeAsText(document); |
| document.getElementById("fixed1").style.top = "50px"; |
| document.getElementById("fixed2").style.height = "10px"; |
| |
| let layers2 = internals.layerTreeAsText(document); |
| document.getElementById("fixed1").style.top = "-100px"; |
| document.getElementById("fixed2").style.height = "0px"; |
| |
| let layers3 = internals.layerTreeAsText(document); |
| document.getElementById("layerTree1").innerText = layers1; |
| document.getElementById("layerTree2").innerText = layers2; |
| document.getElementById("layerTree3").innerText = layers3; |
| }, false); |
| } |
| </script> |
| </head> |
| |
| <body> |
| Layer tree when the fixed elements are out-of-view (should be blank): |
| <pre id="layerTree1"></pre> |
| Layer tree when the fixed elements are in-view (both fixed elements should have layers): |
| <pre id="layerTree2"></pre> |
| Layer tree when the fixed elements are out-of-view again (should be blank): |
| <pre id="layerTree3"></pre> |
| <div id="fixed1" class="fixed" style="top: -100px; left: 100px;"></div> |
| <div id="fixed2" class="fixed" style="top: 100px; left: 100px; height: 0px"></div> |
| </body> |
| </html> |