diff options
-rw-r--r-- | Userland/Libraries/LibWeb/Layout/TableFormattingContext.cpp | 4 | ||||
-rw-r--r-- | Userland/Libraries/LibWeb/Layout/TableFormattingContext.h | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/Userland/Libraries/LibWeb/Layout/TableFormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/TableFormattingContext.cpp index 72c44a527e..a56b3e0ca8 100644 --- a/Userland/Libraries/LibWeb/Layout/TableFormattingContext.cpp +++ b/Userland/Libraries/LibWeb/Layout/TableFormattingContext.cpp @@ -210,7 +210,9 @@ void TableFormattingContext::compute_table_width() auto& computed_values = table_box().computed_values(); - CSSPixels width_of_table_containing_block = m_state.get(*table_box().containing_block()).content_width(); + // Percentages on 'width' and 'height' on the table are relative to the table wrapper box's containing block, + // not the table wrapper box itself. + CSSPixels width_of_table_containing_block = m_state.get(*table_wrapper().containing_block()).content_width(); // The row/column-grid width minimum (GRIDMIN) width is the sum of the min-content width // of all the columns plus cell spacing or borders. diff --git a/Userland/Libraries/LibWeb/Layout/TableFormattingContext.h b/Userland/Libraries/LibWeb/Layout/TableFormattingContext.h index 4f1adabe4a..a709021976 100644 --- a/Userland/Libraries/LibWeb/Layout/TableFormattingContext.h +++ b/Userland/Libraries/LibWeb/Layout/TableFormattingContext.h @@ -8,6 +8,7 @@ #include <AK/Forward.h> #include <LibWeb/Layout/FormattingContext.h> +#include <LibWeb/Layout/TableWrapper.h> namespace Web::Layout { @@ -20,6 +21,10 @@ public: virtual CSSPixels automatic_content_height() const override; TableBox const& table_box() const { return static_cast<TableBox const&>(context_box()); } + TableWrapper const& table_wrapper() const + { + return verify_cast<TableWrapper>(*table_box().containing_block()); + } private: void calculate_row_column_grid(Box const&); |