mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 18:17:22 +02:00
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
19 lines
585 B
HTML
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>
|