LibWeb: Paint non-positioned SC with z-index=0 in paint_descendants()

Fixes the bug when non-positioned boxes that establish a stacking
context and have z-index=0 are ignored during paint commands recording.
This commit is contained in:
Aliaksandr Kalenik 2024-04-28 22:05:30 +02:00 committed by Andreas Kling
parent 15f69ffbba
commit 7bea2b68f4
3 changed files with 13 additions and 1 deletions

View file

@ -0,0 +1,7 @@
<!doctype html>
<link rel="match" href="reference/non-positioned-stacking-context-with-z-index-0-ref.html"/>
<style>
* { outline: 1px solid black; }
html { display: flex; }
body { z-index: 0; }
</style><body><div>Hello

View file

@ -0,0 +1,5 @@
<!doctype html>
<style>
* { outline: 1px solid black; }
html { display: flex; }
</style><body><div>Hello

View file

@ -107,7 +107,7 @@ void StackingContext::paint_descendants(PaintContext& context, Paintable const&
return;
}
if (stacking_context && z_index.has_value())
if (stacking_context && z_index.value_or(0) != 0)
return;
if (child.is_positioned() && !z_index.has_value())
return;