| <script> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| if (window.internals) |
| internals.runtimeFlags.compositeOpaqueScrollersEnabled = true; |
| |
| function hasOpaqueCompositedScrollingContentsLayer(layer) { |
| if (layer.name == "Scrolling Contents Layer") |
| return layer.contentsOpaque; |
| if (layer.children) { |
| for (var i = 0; i < layer.children.length; i++) { |
| if (hasOpaqueCompositedScrollingContentsLayer(layer.children[i])) |
| return true; |
| } |
| } |
| return false; |
| } |
| |
| onload = function() { |
| if (!window.testRunner || !window.internals) |
| return; |
| |
| var result = ""; |
| result += "Should have opaque composited scrolling contents layer: "; |
| if (hasOpaqueCompositedScrollingContentsLayer(JSON.parse(window.internals.layerTreeAsText(document)))) |
| result += "Pass.\n"; |
| else |
| result += "Fail.\n"; |
| testRunner.setCustomTextOutput(result); |
| } |
| </script> |
| <style> |
| #scroller { |
| background: white local content-box; |
| border: 10px solid rgba(0, 255, 0, 0.5); |
| overflow: scroll; |
| width: 200px; |
| height: 200px; |
| } |
| .spacer { |
| height: 300px; |
| } |
| </style> |
| <!-- The scroller's Scrolling Contents Layer should be opaque due to the opaque |
| color background. Even though the background has a content-box clip there |
| is no gap because the scroller has no padding. This means that we will be |
| able to draw text with subpixel anti-aliasing. |
| --> |
| <div id="scroller"><div class="spacer"></div></div> |