| <!DOCTYPE HTML> |
| <script src="resources/composited-scroll.js"></script> |
| <style> |
| #scroller { |
| overflow: scroll; |
| height: 300px; |
| width: 300px; |
| background-color: red; |
| } |
| |
| #outer { |
| height: 800px; |
| width: 250px; |
| background-color: blue; |
| } |
| |
| #scrolled { |
| height: 1000px; |
| width: 250px; |
| background-color: green; |
| } |
| |
| #fixed { |
| position: fixed; |
| height: 100px; |
| width: 100px; |
| background-color: green; |
| top: 400px; |
| left: 100px; |
| } |
| </style> |
| <div id="outer"> |
| <div id="scroller"> |
| <div id="scrolled"></div> |
| <div id="fixed"></div> |
| </div> |
| </div> |
| <script> |
| if (window.internals) |
| internals.settings.setPreferCompositingToLCDTextEnabled(true); |
| |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| var result = ""; |
| |
| onload = function() { |
| if (window.internals) { |
| result += "No clip path ancestor (should be using composited scrolling): "; |
| if (elementSubtreeHasCompositedScrollLayers(document.getElementById('scroller'))) |
| result += "Pass.\n"; |
| else |
| result += "Fail.\n" |
| } |
| document.getElementById("outer").style.webkitClipPath = "polygon(40px 550px,432px 302px,409px 237px,46px 156px)"; |
| requestAnimationFrame(function() { |
| if (window.internals) { |
| result += "Has clip path ancestor (should not be using composited scrolling): "; |
| if (!elementSubtreeHasCompositedScrollLayers(document.getElementById('scroller'))) |
| result += "Pass.\n"; |
| else |
| result += "Fail.\n" |
| } |
| if (window.testRunner) { |
| testRunner.setCustomTextOutput(result); |
| testRunner.notifyDone(); |
| } |
| }); |
| }; |
| </script> |