OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 | 3 |
4 <head> | 4 <head> |
| 5 <script src="../../resources/run-after-display.js"></script> |
5 <style> | 6 <style> |
6 | 7 |
7 .compositedBehind { | 8 .compositedBehind { |
8 width: 500px; | 9 width: 500px; |
9 height: 500px; | 10 height: 500px; |
10 -webkit-transform: translatez(0); | 11 -webkit-transform: translatez(0); |
11 background-color: cyan; | 12 background-color: cyan; |
12 } | 13 } |
13 | 14 |
14 .containerOverlapsComposited { | 15 .containerOverlapsComposited { |
(...skipping 11 matching lines...) Expand all Loading... |
26 top: 45px; | 27 top: 45px; |
27 left: 45px; | 28 left: 45px; |
28 background-color: lime; | 29 background-color: lime; |
29 width: 50px; | 30 width: 50px; |
30 height: 50px; | 31 height: 50px; |
31 } | 32 } |
32 | 33 |
33 </style> | 34 </style> |
34 | 35 |
35 <script> | 36 <script> |
36 if (window.testRunner) | 37 if (window.testRunner) { |
37 testRunner.dumpAsText(); | 38 testRunner.dumpAsText(); |
| 39 testRunner.waitUntilDone(); |
| 40 } |
38 | 41 |
39 if (window.internals) { | 42 if (window.internals) { |
40 /* Note carefully, compositing for fixed position is _disabled_ here
*/ | 43 /* Note carefully, compositing for fixed position is _disabled_ here
*/ |
41 internals.settings.setAcceleratedCompositingForFixedPositionEnabled(
false); | 44 internals.settings.setAcceleratedCompositingForFixedPositionEnabled(
false); |
42 internals.settings.setFixedPositionCreatesStackingContext(true); | 45 internals.settings.setFixedPositionCreatesStackingContext(true); |
43 } | 46 } |
44 | 47 |
45 function test() | 48 function test() |
46 { | 49 { |
47 testRunner.display() | 50 runAfterDisplay(function() { |
| 51 if (window.internals) |
| 52 window.internals.startTrackingRepaints(document); |
48 | 53 |
49 if (window.internals) | 54 window.scrollTo(0, 100); |
50 window.internals.startTrackingRepaints(document); | |
51 | 55 |
52 window.scrollTo(0, 100); | 56 if (window.internals) |
| 57 document.getElementById('layers').textContent = window.inter
nals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS); |
53 | 58 |
54 if (window.internals) | 59 if (window.testRunner) |
55 document.getElementById('layers').textContent = window.internals
.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS); | 60 testRunner.notifyDone(); |
| 61 }); |
56 } | 62 } |
57 </script> | 63 </script> |
58 | 64 |
59 </head> | 65 </head> |
60 | 66 |
61 | 67 |
62 | 68 |
63 <body onload="test()"> | 69 <body onload="test()"> |
64 <!-- | 70 <!-- |
65 Among other duplicate bugs: https://code.google.com/p/chromium/issues/det
ail?id=128375 | 71 Among other duplicate bugs: https://code.google.com/p/chromium/issues/det
ail?id=128375 |
66 A non-composited fixed-position element can get grouped into a composited
container. | 72 A non-composited fixed-position element can get grouped into a composited
container. |
67 In this case, repaint invalidations were incorrectly going to the RenderV
iew instead | 73 In this case, repaint invalidations were incorrectly going to the RenderV
iew instead |
68 of the composited container. The incorrect result was that the fixed-pos
ition element | 74 of the composited container. The incorrect result was that the fixed-pos
ition element |
69 never repainted, and it appeared to scroll along with the composited cont
ainer. | 75 never repainted, and it appeared to scroll along with the composited cont
ainer. |
70 --> | 76 --> |
71 <div class="compositedBehind"> </div> | 77 <div class="compositedBehind"> </div> |
72 | 78 |
73 <div class="containerOverlapsComposited"> | 79 <div class="containerOverlapsComposited"> |
74 <div class="fixed"></div> | 80 <div class="fixed"></div> |
75 </div> | 81 </div> |
76 | 82 |
77 <pre id="layers"></pre> | 83 <pre id="layers"></pre> |
78 </body> | 84 </body> |
79 | 85 |
80 </html> | 86 </html> |
OLD | NEW |