diff --git a/Libraries/LibWeb/Layout/TableFormattingContext.cpp b/Libraries/LibWeb/Layout/TableFormattingContext.cpp index 74a18425702..434832b323e 100644 --- a/Libraries/LibWeb/Layout/TableFormattingContext.cpp +++ b/Libraries/LibWeb/Layout/TableFormattingContext.cpp @@ -862,7 +862,7 @@ void TableFormattingContext::compute_table_height() cell_state.padding_left = cell.box->computed_values().padding().left().to_px(cell.box, width_of_containing_block); cell_state.padding_right = cell.box->computed_values().padding().right().to_px(cell.box, width_of_containing_block); - if (cell.box->computed_values().border_collapse() == CSS::BorderCollapse::Separate) { + if (table_box().computed_values().border_collapse() == CSS::BorderCollapse::Separate) { cell_state.border_top = cell.box->computed_values().border_top().width; cell_state.border_bottom = cell.box->computed_values().border_bottom().width; cell_state.border_left = cell.box->computed_values().border_left().width; @@ -1286,7 +1286,7 @@ void TableFormattingContext::border_conflict_resolution() .column_index = cell.column_index, .row_span = cell.row_span, .column_span = cell.column_span }); - if (cell.box->computed_values().border_collapse() == CSS::BorderCollapse::Separate) { + if (table_box().computed_values().border_collapse() == CSS::BorderCollapse::Separate) { continue; } Painting::PaintableBox::BordersDataWithElementKind override_borders_data; diff --git a/Libraries/LibWeb/Painting/TableBordersPainting.cpp b/Libraries/LibWeb/Painting/TableBordersPainting.cpp index 6b8086812f0..564cf47179c 100644 --- a/Libraries/LibWeb/Painting/TableBordersPainting.cpp +++ b/Libraries/LibWeb/Painting/TableBordersPainting.cpp @@ -377,7 +377,7 @@ void paint_table_borders(PaintContext& context, PaintableBox const& table_painta } auto cell_coordinates_to_device_rect = snap_cells_to_device_coordinates(cell_coordinates_to_box, row_count, column_count, context); for (auto const& cell_box : cell_boxes) { - if (cell_box.computed_values().border_collapse() == CSS::BorderCollapse::Separate) { + if (table_paintable.computed_values().border_collapse() == CSS::BorderCollapse::Separate) { paint_separate_cell_borders(cell_box, cell_coordinates_to_device_rect, context); continue; } diff --git a/Tests/LibWeb/Ref/expected/table-collapse-ignored-in-cells-ref.html b/Tests/LibWeb/Ref/expected/table-collapse-ignored-in-cells-ref.html new file mode 100644 index 00000000000..846902a9a42 --- /dev/null +++ b/Tests/LibWeb/Ref/expected/table-collapse-ignored-in-cells-ref.html @@ -0,0 +1,18 @@ + + + + + + + + +
aaaaaaa
+ + +
aaaaaaa
+ diff --git a/Tests/LibWeb/Ref/input/table-collapse-ignored-in-cells.html b/Tests/LibWeb/Ref/input/table-collapse-ignored-in-cells.html new file mode 100644 index 00000000000..01b2e825959 --- /dev/null +++ b/Tests/LibWeb/Ref/input/table-collapse-ignored-in-cells.html @@ -0,0 +1,18 @@ + + + + + + + + +
aaaaaaa
+ + +
aaaaaaa
+