From 22202715fc168d75edcc149f40a3830f25c975a6 Mon Sep 17 00:00:00 2001 From: martinfalisse Date: Sat, 29 Apr 2023 19:32:56 +0200 Subject: [PATCH] LibWeb: Parse `grid-template` property --- .../Layout/expected/grid/grid-template.txt | 54 +++++++++++++ .../Layout/input/grid/grid-template.html | 78 +++++++++++++++++++ Userland/Libraries/LibWeb/CMakeLists.txt | 1 + .../Libraries/LibWeb/CSS/Parser/Parser.cpp | 56 ++++++++++++- Userland/Libraries/LibWeb/CSS/Parser/Parser.h | 3 +- Userland/Libraries/LibWeb/CSS/Properties.json | 17 ++++ .../CSS/ResolvedCSSStyleDeclaration.cpp | 21 +++++ .../Libraries/LibWeb/CSS/StyleComputer.cpp | 16 ++++ Userland/Libraries/LibWeb/CSS/StyleValue.cpp | 7 ++ Userland/Libraries/LibWeb/CSS/StyleValue.h | 4 + .../GridTrackSizeListShorthandStyleValue.cpp | 48 ++++++++++++ .../GridTrackSizeListShorthandStyleValue.h | 48 ++++++++++++ Userland/Libraries/LibWeb/Forward.h | 1 + 13 files changed, 351 insertions(+), 3 deletions(-) create mode 100644 Tests/LibWeb/Layout/expected/grid/grid-template.txt create mode 100644 Tests/LibWeb/Layout/input/grid/grid-template.html create mode 100644 Userland/Libraries/LibWeb/CSS/StyleValues/GridTrackSizeListShorthandStyleValue.cpp create mode 100644 Userland/Libraries/LibWeb/CSS/StyleValues/GridTrackSizeListShorthandStyleValue.h diff --git a/Tests/LibWeb/Layout/expected/grid/grid-template.txt b/Tests/LibWeb/Layout/expected/grid/grid-template.txt new file mode 100644 index 0000000000..10644bbde2 --- /dev/null +++ b/Tests/LibWeb/Layout/expected/grid/grid-template.txt @@ -0,0 +1,54 @@ +Viewport <#document> at (0,0) content-size 800x600 children: not-inline + BlockContainer at (0,0) content-size 800x216 children: not-inline + BlockContainer at (8,8) content-size 784x200 children: not-inline + Box at (8,8) content-size 784x0 children: not-inline + BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline + TextNode <#text> + BlockContainer at (8,8) content-size 196x0 children: not-inline + BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline + TextNode <#text> + BlockContainer at (8,8) content-size 784x0 children: not-inline + BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline + TextNode <#text> + BlockContainer at (204,8) content-size 588x0 children: not-inline + BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline + TextNode <#text> + BlockContainer at (8,8) content-size 784x0 children: not-inline + BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline + TextNode <#text> + BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline + TextNode <#text> + TextNode <#text> + Box at (8,8) content-size 784x200 children: not-inline + BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline + TextNode <#text> + BlockContainer
at (8,8) content-size 784x30 children: inline + line 0 width: 55.703125, height: 17.46875, bottom: 17.46875, baseline: 13.53125 + frag 0 from TextNode start: 0, length: 6, rect: [8,8 55.703125x17.46875] + "Header" + TextNode <#text> + BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline + TextNode <#text> + BlockContainer