mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-22 04:25:13 +00:00
LibWeb: Let LineBuilder decide on Y-coordinate for float insertion
Instead of reaching into the IFC of the LineBuilder from the BFC, we should let LineBuilder determine how to deal with the running vertical float clearance. No functional changes.
This commit is contained in:
parent
191907037a
commit
0c8c4c2bf1
3 changed files with 2 additions and 4 deletions
|
@ -1051,7 +1051,7 @@ void BlockFormattingContext::layout_floating_box(Box const& box, BlockContainer
|
|||
// First we place the box normally (to get the right y coordinate.)
|
||||
// If we have a LineBuilder, we're in the middle of inline layout, otherwise this is block layout.
|
||||
if (line_builder) {
|
||||
auto y = max(line_builder->y_for_float_to_be_inserted_here(box), line_builder->inline_formatting_context().vertical_float_clearance());
|
||||
auto y = line_builder->y_for_float_to_be_inserted_here(box);
|
||||
box_state.set_content_y(y + box_state.margin_box_top());
|
||||
} else {
|
||||
place_block_level_element_in_normal_flow_vertically(box, y + box_state.margin_top);
|
||||
|
|
|
@ -166,7 +166,7 @@ CSSPixels LineBuilder::y_for_float_to_be_inserted_here(Box const& box)
|
|||
candidate_block_offset = highest_intersection_bottom.value();
|
||||
}
|
||||
|
||||
return candidate_block_offset;
|
||||
return max(candidate_block_offset, m_context.vertical_float_clearance());
|
||||
}
|
||||
|
||||
bool LineBuilder::should_break(CSSPixels next_item_width)
|
||||
|
|
|
@ -46,8 +46,6 @@ public:
|
|||
void recalculate_available_space();
|
||||
CSSPixels y_for_float_to_be_inserted_here(Box const&);
|
||||
|
||||
auto& inline_formatting_context() { return m_context; }
|
||||
|
||||
void did_introduce_clearance(CSSPixels);
|
||||
|
||||
private:
|
||||
|
|
Loading…
Add table
Reference in a new issue