summaryrefslogtreecommitdiff
path: root/Tests
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2023-05-23 18:14:47 +0200
committerAndreas Kling <kling@serenityos.org>2023-05-24 06:43:21 +0200
commit71d5dc510e454935fe8f20ae8501fceb633db1ff (patch)
treec7283a26e3766b87333cfa05eb2db5be294f926a /Tests
parentdd19f615381fb887f44cceaf6a85281e64565689 (diff)
downloadserenity-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.txt7
-rw-r--r--Tests/LibWeb/Layout/input/svg/svg-with-css-variable-in-presentation-hint.html10
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