| 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 |