From e7e454f1d68a22dc601a44c353b5d1e1b738d514 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 3 Jul 2023 20:35:39 +0200 Subject: [PATCH] LibWeb: Resolve used insets for grid items --- .../Layout/expected/grid/relpos-grid-item.txt | 13 +++++++++++++ .../Layout/input/grid/relpos-grid-item.html | 19 +++++++++++++++++++ .../LibWeb/Layout/GridFormattingContext.cpp | 2 ++ 3 files changed, 34 insertions(+) create mode 100644 Tests/LibWeb/Layout/expected/grid/relpos-grid-item.txt create mode 100644 Tests/LibWeb/Layout/input/grid/relpos-grid-item.html diff --git a/Tests/LibWeb/Layout/expected/grid/relpos-grid-item.txt b/Tests/LibWeb/Layout/expected/grid/relpos-grid-item.txt new file mode 100644 index 0000000000..fb9ab92bc0 --- /dev/null +++ b/Tests/LibWeb/Layout/expected/grid/relpos-grid-item.txt @@ -0,0 +1,13 @@ +Viewport <#document> at (0,0) content-size 800x600 children: not-inline + BlockContainer at (2,2) content-size 796x62.9375 [BFC] children: not-inline + Box at (12,12) content-size 600x42.9375 [GFC] children: not-inline + BlockContainer at (14,14) content-size 200x17.46875 positioned [BFC] children: inline + line 0 width: 65.4375, height: 17.46875, bottom: 17.46875, baseline: 13.53125 + frag 0 from TextNode start: 0, length: 9, rect: [14,14 65.4375x17.46875] + "exekiller" + TextNode <#text> + BlockContainer at (24,25.46875) content-size 200x17.46875 positioned [BFC] children: inline + line 0 width: 53.171875, height: 17.46875, bottom: 17.46875, baseline: 13.53125 + frag 0 from TextNode start: 0, length: 6, rect: [24,25.46875 53.171875x17.46875] + "athena" + TextNode <#text> diff --git a/Tests/LibWeb/Layout/input/grid/relpos-grid-item.html b/Tests/LibWeb/Layout/input/grid/relpos-grid-item.html new file mode 100644 index 0000000000..cc6fc33b1e --- /dev/null +++ b/Tests/LibWeb/Layout/input/grid/relpos-grid-item.html @@ -0,0 +1,19 @@ +
exekiller
athena
\ No newline at end of file diff --git a/Userland/Libraries/LibWeb/Layout/GridFormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/GridFormattingContext.cpp index c8c2ba7696..98327196e5 100644 --- a/Userland/Libraries/LibWeb/Layout/GridFormattingContext.cpp +++ b/Userland/Libraries/LibWeb/Layout/GridFormattingContext.cpp @@ -1609,6 +1609,8 @@ void GridFormattingContext::run(Box const& box, LayoutMode, AvailableSpace const y_start + child_box_state.border_top + child_box_state.padding_top + child_box_state.margin_top }; + compute_inset(child_box); + auto available_space_for_children = AvailableSpace(AvailableSize::make_definite(child_box_state.content_width()), AvailableSize::make_definite(child_box_state.content_height())); if (auto independent_formatting_context = layout_inside(child_box, LayoutMode::Normal, available_space_for_children)) independent_formatting_context->parent_context_did_dimension_child_root_box();