Files
ladybird/Tests/LibWeb/Ref/input/mask-image-with-scroll-offset.html
InvalidUsernameException 164afdcc59 LibWeb: Ensure scroll offset is applied to mask-images
When recording the display list for a stacking context, the following
operations (relevant to this bug) happened:
* push a stacking context
  * as part of that push a None-value to the scroll frame id stack
* apply filters
* apply masking
* paint recursively

This meant that mask-images were always recorded without scroll frame
id, causing them to be painted without any scroll offset. As a result
mask-images would break as soon as the website using them was scrolled.

Instead, push to the scroll frame id stack later to solve the problem:
* push a stacking context
* apply filters
* apply masking
* push a None-value to the scroll frame id stack
* paint recursively
2025-05-29 22:02:07 +02:00

19 lines
585 B
HTML

<!DOCTYPE html>
<link rel="match" href="../expected/mask-image-with-scroll-offset-ref.html" />
<style>
* { scrollbar-width: none; }
body { height: 200vh; }
#spacer { height: 100px; }
#mask-image-box {
background-color: green;
width: 100px;
height: 200px;
mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAADIAQMAAAAk8taCAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAACJJREFUSMftxyEBAAAIA7D3T0sDsBQAtbmll4qZmV0PgFcD8QgJXHxT3vkAAAAASUVORK5CYII=");
}
</style>
<div id="spacer"></div>
<div id="mask-image-box"></div>
<script>
window.scrollTo(0, 100);
</script>