mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 15:37:46 +00:00
LibWeb: Improve Layout::Box has-definite-size? computation
We now consider a layout box as having definite size in these cases: - The size is a <length>. - The size is a <percentage> and the containing block has definite size. This is not complete, but a bit more accurate than what we had before.
This commit is contained in:
parent
c6cf240f9a
commit
cd5c17d88e
2 changed files with 26 additions and 5 deletions
|
@ -571,10 +571,14 @@ void Document::update_layout()
|
|||
Layout::BlockFormattingContext root_formatting_context(formatting_state, *m_layout_root, nullptr);
|
||||
m_layout_root->build_stacking_context_tree();
|
||||
|
||||
auto& icb_state = formatting_state.get_mutable(*m_layout_root);
|
||||
auto& icb = static_cast<Layout::InitialContainingBlock&>(*m_layout_root);
|
||||
auto& icb_state = formatting_state.get_mutable(icb);
|
||||
icb_state.content_width = viewport_rect.width();
|
||||
icb_state.content_height = viewport_rect.height();
|
||||
|
||||
icb.set_has_definite_width(true);
|
||||
icb.set_has_definite_height(true);
|
||||
|
||||
root_formatting_context.run(*m_layout_root, Layout::LayoutMode::Default);
|
||||
formatting_state.commit();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue