diff options
author | Andreas Kling <kling@serenityos.org> | 2023-05-23 18:14:47 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2023-05-24 06:43:21 +0200 |
commit | 71d5dc510e454935fe8f20ae8501fceb633db1ff (patch) | |
tree | c7283a26e3766b87333cfa05eb2db5be294f926a /Tests | |
parent | dd19f615381fb887f44cceaf6a85281e64565689 (diff) | |
download | serenity-71d5dc510e454935fe8f20ae8501fceb633db1ff.zip |
LibWeb: Resolve CSS variables if present in SVG presentation attributes
SVG presentation attributes are parsed as CSS values, so we also need to
handle CSS variable expansion when handling them.
This (roughly) matches the behavior of other engines. It's also used on
the web, for example on https://stripe.com/ :^)
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/LibWeb/Layout/expected/svg/svg-with-css-variable-in-presentation-hint.txt | 7 | ||||
-rw-r--r-- | Tests/LibWeb/Layout/input/svg/svg-with-css-variable-in-presentation-hint.html | 10 |
2 files changed, 17 insertions, 0 deletions
diff --git a/Tests/LibWeb/Layout/expected/svg/svg-with-css-variable-in-presentation-hint.txt b/Tests/LibWeb/Layout/expected/svg/svg-with-css-variable-in-presentation-hint.txt new file mode 100644 index 0000000000..8e4c2837fb --- /dev/null +++ b/Tests/LibWeb/Layout/expected/svg/svg-with-css-variable-in-presentation-hint.txt @@ -0,0 +1,7 @@ +Viewport <#document> at (0,0) content-size 800x600 children: not-inline + BlockContainer <html> at (0,0) content-size 800x118 [BFC] children: not-inline + BlockContainer <body> at (8,8) content-size 784x102 children: inline + line 0 width: 102, height: 102, bottom: 102, baseline: 60 + frag 0 from SVGSVGBox start: 0, length: 0, rect: [9,9 100x100] + SVGSVGBox <svg> at (9,9) content-size 100x100 [SVG] children: not-inline + SVGGeometryBox <rect> at (29,29) content-size 60x60 children: not-inline diff --git a/Tests/LibWeb/Layout/input/svg/svg-with-css-variable-in-presentation-hint.html b/Tests/LibWeb/Layout/input/svg/svg-with-css-variable-in-presentation-hint.html new file mode 100644 index 0000000000..cfc01018d0 --- /dev/null +++ b/Tests/LibWeb/Layout/input/svg/svg-with-css-variable-in-presentation-hint.html @@ -0,0 +1,10 @@ +<!doctype html><style> + :root { + --huge: 5px; + } + svg { + width: 100px; + height: 100px; + border: 1px solid black; + } +</style><svg viewBox="0 0 10 10"><rect x=4.5 y=4.5 width=1 height=1 stroke="green" stroke-width="var(--huge)" />
\ No newline at end of file |