| <!DOCTYPE html> |
| <html class="reftest-wait"> |
| <head> |
| <title>CSS Filters: Repaint of element with background-image and blur filter</title> |
| <link rel="author" title="Stephen White" href="mailto:senorblanco@chromium.org"> |
| <link rel="help" href="https://drafts.fxtf.org/filter-effects-1/#FilterProperty"> |
| <link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#background-image"> |
| <link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=415106"> |
| <link rel="match" href="reference/background-image-blur-repaint-expected.html"> |
| <meta name="assert" content="An element with background-image and a filter should be rendered correctly after other elements on the page change size. You should see a 50x50 green box over a blurred background."/> |
| |
| <script src="/common/reftest-wait.js"></script> |
| <script> |
| function runTest() { |
| function shrinkBox() { |
| var box = document.getElementsByClassName("box")[0]; |
| box.style.width = "50px"; |
| box.style.height = "50px"; |
| } |
| |
| // Wait for two requestAnimationFrame() calls to make sure that at least one |
| // frame has been rendered before shrinking the box and taking the screenshot. |
| requestAnimationFrame(function() { |
| requestAnimationFrame(function() { |
| shrinkBox(); |
| takeScreenshot(); |
| }); |
| }); |
| } |
| </script> |
| <style> |
| .bg { |
| position: absolute; |
| left: 200px; |
| top: 0px; |
| width: 400px; |
| height: 300px; |
| background-image: url(support/color-palette.png); |
| filter: blur(8px); |
| } |
| .box { |
| position: absolute; |
| left: 300px; |
| top: 50px; |
| width: 100px; |
| height: 100px; |
| background-color: green; |
| } |
| </style> |
| </head> |
| |
| <body onload="runTest()"> |
| <div class="bg"></div> |
| <div class="box"></div> |
| </body> |
| </html> |