| <!DOCTYPE html> |
| <script src="../resources/text-based-repaint.js"></script> |
| <script> |
| function repaintTest() { |
| document.getElementById('fixed').style.height = '200px'; |
| } |
| onload = function() { |
| // Scroll before repaint test to test correct scroll offset of invalidation rect |
| // for fixed-position element when it needs repaint. |
| window.scrollTo(0, 400); |
| runRepaintAndPixelTest(); |
| }; |
| </script> |
| <style> |
| #indicator { |
| position: absolute; |
| height: 220px; |
| width: 120px; |
| top: 400px; |
| left: 0; |
| background-color: red; |
| } |
| #absolute { |
| position: absolute; |
| top: 2000px; |
| width: 1px; |
| height: 1px; |
| background-color: red; |
| backface-visibility: hidden; |
| z-index: 1000; |
| } |
| #fixed { |
| position: fixed; |
| top: 0; |
| left: 0; |
| width: 100px; |
| height: 100px; |
| border: 10px solid blue; |
| background-color: green; |
| } |
| </style> |
| Tests paint invalidation of fixed element under a composited absolute element on resize after scrolled. |
| Passes if there is a 100x200 green rectangle with blue border and no red. |
| <div id="indicator"></div> |
| <div id="absolute"> |
| <div id="fixed"> |
| </div> |
| </div> |