mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 12:48:10 +00:00
LibWeb: Move line boxes from Layout::Box to BlockContainer
Per the spec, only a BlockContainer" can have line boxes, so let's not clutter up every Layout::Box with line boxes. This also allows us to establish an invariant that BFC and IFC always operate on a Layout::BlockContainer. Note that if BlockContainer has all block-level children, its line boxes are not used for anything. They are only used in the all inline-level children scenario.
This commit is contained in:
parent
a0bea52a5f
commit
f73aa8e2bd
13 changed files with 80 additions and 74 deletions
|
@ -238,19 +238,6 @@ StackingContext* Box::enclosing_stacking_context()
|
|||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
LineBox& Box::ensure_last_line_box()
|
||||
{
|
||||
if (m_line_boxes.is_empty())
|
||||
return add_line_box();
|
||||
return m_line_boxes.last();
|
||||
}
|
||||
|
||||
LineBox& Box::add_line_box()
|
||||
{
|
||||
m_line_boxes.append(LineBox());
|
||||
return m_line_boxes.last();
|
||||
}
|
||||
|
||||
float Box::width_of_logical_containing_block() const
|
||||
{
|
||||
auto* containing_block = this->containing_block();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue