LibWeb: Paint separate borders for inline tables

This commit is contained in:
Andi Gallo 2023-08-14 09:24:48 +00:00 committed by Alexander Kalenik
parent c838bb3f21
commit a18500c78c
Notes: sideshowbarker 2024-07-18 03:23:00 +09:00
4 changed files with 37 additions and 1 deletions

View File

@ -1,3 +1,4 @@
{
"square-flex.html": "square-ref.html"
"square-flex.html": "square-ref.html",
"separate-borders-inline-table.html": "separate-borders-ref.html"
}

View File

@ -0,0 +1,17 @@
<style type="text/css">
td {
border: 5px solid blue;
padding: 20px;
}
table {
border: 5px solid black;
display: inline-block;
border-collapse: separate;
}
</style>
<table>
<tr>
<td>A</td>
</tr>
</table>

View File

@ -0,0 +1,16 @@
<style type="text/css">
td {
border: 5px solid blue;
padding: 20px;
}
table {
border: 5px solid black;
border-collapse: separate;
}
</style>
<table>
<tr>
<td>A</td>
</tr>
</table>

View File

@ -136,6 +136,8 @@ void StackingContext::paint_descendants(PaintContext& context, Layout::Node cons
if (child_is_inline_or_replaced) {
paint_node(child, context, PaintPhase::Background);
paint_node(child, context, PaintPhase::Border);
if (child.display().is_table_inside() && child.computed_values().border_collapse() == CSS::BorderCollapse::Separate)
paint_table_borders(context, child);
paint_descendants(context, child, StackingContextPaintPhase::BackgroundAndBorders);
}
paint_descendants(context, child, phase);