1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 05:47:34 +00:00

LibWeb: Wrap table roots in anonymous block boxes

According to table fixup algorithm:
https://www.w3.org/TR/css-tables-3/#fixup-algorithm
around every table-root should be generated anonymous
box wrapper.

Also this patch implements important part of CSS 2.2
spec that is currently not present in CSS Tables 3
spec draft: https://www.w3.org/TR/CSS22/tables.html#model
that portion of computed properties should be moved
from table-root to table wrapper box. Without having
this part implemented height of absolutely positioned
table with `height: auto` won't be computed correctly.
This commit is contained in:
Aliaksandr Kalenik 2023-01-09 08:27:39 +03:00 committed by Andreas Kling
parent e107c83a57
commit 57940f4370
3 changed files with 43 additions and 0 deletions

View file

@ -183,6 +183,8 @@ public:
JS::NonnullGCPtr<NodeWithStyle> create_anonymous_wrapper() const;
void reset_table_box_computed_values_used_by_wrapper_to_init_values();
protected:
NodeWithStyle(DOM::Document&, DOM::Node*, NonnullRefPtr<CSS::StyleProperties>);
NodeWithStyle(DOM::Document&, DOM::Node*, CSS::ComputedValues);