| OLD | NEW |
| (Empty) | |
| 1 <!DOCTYPE html> |
| 2 <script src="../../resources/testharness.js"></script> |
| 3 <script src="../../resources/testharnessreport.js"></script> |
| 4 <style> |
| 5 div::-webkit-scrollbar { |
| 6 display: none; |
| 7 } |
| 8 </style> |
| 9 <div id=scroller style="width: 400px; height: 400px; overflow-y: scroll; will-ch
ange: transform"> |
| 10 <div style="height: 400px"></div> |
| 11 <div id=overlap style="backface-visibility: hidden; width: 100px; height: 100p
x; background-color: red"></div> |
| 12 <div id=target style="position: relative; top: -50px; left: 50px; width: 100px
; height: 100px; background-color: green"></div> |
| 13 </div> |
| 14 <div id="notscrolled" style="position: relative; width: 50px; height: 300px; bac
kground: lightgray"></div> |
| 15 <script> |
| 16 if (testRunner) { |
| 17 testRunner.waitUntilDone(); |
| 18 testRunner.dumpAsText(); |
| 19 } |
| 20 // Test passes if 'target' (green) is on top of 'overlap' (red). |
| 21 // The actual test output is a layerization where 'overlap' has a composited lay
er, |
| 22 // and 'target' does, but 'notscrolled'. 'target' has a composited layer because |
| 23 // it overlaps 'overlap'. 'notscrolled' does not have one because it does not |
| 24 // intersect the scroller and is outside of it. |
| 25 |
| 26 function drawsContentAndLayoutObject(layer) { |
| 27 if (!layer["drawsContent"]) |
| 28 return false; |
| 29 if (layer["name"].indexOf("Layout") == -1) |
| 30 return false; |
| 31 return true; |
| 32 } |
| 33 |
| 34 onload = function() { |
| 35 requestAnimationFrame(function() { |
| 36 requestAnimationFrame(function() { |
| 37 scroller.scrollTop = 400; |
| 38 if (internals) { |
| 39 var layers = JSON.parse(internals.layerTreeAsText(document))["layers"]; |
| 40 var desiredLayers = layers.filter(drawsContentAndLayoutObject); |
| 41 assert_equals(desiredLayers.length, 4); |
| 42 assert_not_equals(desiredLayers[0]["name"].indexOf("document"), -1, "doc
ument"); |
| 43 assert_not_equals(desiredLayers[1]["name"].indexOf("scroller"), -1, "scr
oller"); |
| 44 assert_not_equals(desiredLayers[2]["name"].indexOf("overlap"), -1, "over
lap"); |
| 45 assert_not_equals(desiredLayers[3]["name"].indexOf("target"), -1, "targe
t"); |
| 46 } |
| 47 if (testRunner) |
| 48 testRunner.notifyDone(); |
| 49 }); |
| 50 }); |
| 51 }; |
| 52 </script> |
| OLD | NEW |