ladybird/Tests/LibWeb/Text/input/SVG/svg-viewBox-attribute.html
Andreas Kling b12541b286 LibWeb: Add SVGSVGElement.viewBox attribute
This attribute has some compatbility issues...
- The spec says it should be an SVGAnimatedRect which contains
  a DOMRect and a DOMReadOnlyRect.
- Blink gives you an SVGAnimatedRect with 2x SVGRect
- Gecko gives you an SVGAnimatedRect with 2x SVGRect? (nullable)

I ended up with something similar to Gecko, an SVGAnimatedRect
with 2x DOMRect? (nullable)

With this fixed, we can now load https://polar.sh/ :^)
2024-01-25 08:23:41 +01:00

39 lines
1.6 KiB
HTML

<script src="../include.js"></script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none" id="svg-element"></svg>
<script>
test(() => {
const svgElement = document.getElementById("svg-element");
println(svgElement);
println(svgElement.viewBox);
println(svgElement.viewBox.baseVal);
println(svgElement.viewBox.animVal);
svgElement.setAttribute("viewBox", "1 2 3 4");
println(svgElement.viewBox.baseVal);
println(svgElement.viewBox.baseVal.x);
println(svgElement.viewBox.baseVal.y);
println(svgElement.viewBox.baseVal.width);
println(svgElement.viewBox.baseVal.height);
println(svgElement.viewBox.animVal);
println(svgElement.viewBox.animVal.x);
println(svgElement.viewBox.animVal.y);
println(svgElement.viewBox.animVal.width);
println(svgElement.viewBox.animVal.height);
svgElement.setAttribute("viewBox", "5 6 7 8");
println(svgElement.viewBox.baseVal);
println(svgElement.viewBox.baseVal.x);
println(svgElement.viewBox.baseVal.y);
println(svgElement.viewBox.baseVal.width);
println(svgElement.viewBox.baseVal.height);
println(svgElement.viewBox.animVal);
println(svgElement.viewBox.animVal.x);
println(svgElement.viewBox.animVal.y);
println(svgElement.viewBox.animVal.width);
println(svgElement.viewBox.animVal.height);
svgElement.removeAttribute("viewBox");
println(svgElement.viewBox.baseVal);
println(svgElement.viewBox.animVal);
});
</script>