<!DOCTYPE html> <html reftest-async-scroll> <!-- In this test, the div |fixed| is fixed with respect to the page's root scroll frame, but there's also a subframe |scrollbox| which is async-scrolled and which generates a container layer (because of the opacity), so that its async transform is on an ancestor layer of |fixed|'s layer. We are testing that this async transform is correctly unapplied to keep |fixed| fixed. --> <style> body { height: 10000px; } .outer-opacity { opacity: 0.8; } .scrollbox { border: 1px solid black; width: 200px; height: 400px; overflow: hidden; } .inner-opacity { height: 1000px; opacity: 0.8; } .fixed { background: blue; width: 100px; height: 100px; position: fixed; } </style> <div class="outer-opacity"> <div class="scrollbox" reftest-displayport-x="0" reftest-displayport-y="0" reftest-displayport-w="200" reftest-displayport-h="1000" reftest-async-scroll-x="0" reftest-async-scroll-y="50"> <div class="inner-opacity"> <div class="fixed"></div> </div> </div> </div> </html>