LibWeb: Resolve CSS inset properties when entering inline-flow elements

We don't actually apply the insets anywhere yet, but at least now they
are available in the node's layout state.
This commit is contained in:
Andreas Kling 2023-08-15 09:34:06 +02:00
parent 88949b10d8
commit 481fdfee68
Notes: sideshowbarker 2024-07-17 05:18:58 +09:00
2 changed files with 5 additions and 1 deletions

View file

@ -96,6 +96,8 @@ public:
virtual CSSPixelPoint calculate_static_position(Box const&) const;
bool can_skip_is_anonymous_text_run(Box&);
void compute_inset(NodeWithStyleAndBoxModelMetrics const&);
protected:
FormattingContext(Type, LayoutState&, Box const&, FormattingContext* parent = nullptr);
@ -106,7 +108,6 @@ protected:
[[nodiscard]] bool should_treat_max_height_as_none(Box const&, AvailableSize const&) const;
OwnPtr<FormattingContext> layout_inside(Box const&, LayoutMode, AvailableSpace const&);
void compute_inset(Box const& box);
struct SpaceUsedByFloats {
CSSPixels left { 0 };

View file

@ -42,6 +42,9 @@ void InlineLevelIterator::enter_node_with_box_model_metrics(Layout::NodeWithStyl
m_extra_leading_metrics->border += used_values.border_left;
m_extra_leading_metrics->padding += used_values.padding_left;
// Now's our chance to resolve the inset properties for this node.
m_inline_formatting_context.compute_inset(node);
m_box_model_node_stack.append(node);
}