LibWeb: Fix selector matching for non-HTML mixed-case element names

This change fixes selector matching for non-HTML elements that have
mixed-case names — such as the SVG foreignObject element.

Otherwise, without this change, attempting to use a selector to match
such an element — e.g., document.querySelector("foreignObject") — fails.
This commit is contained in:
sideshowbarker 2024-12-25 20:54:23 +09:00 committed by Tim Ledbetter
commit 72a86f2df3
Notes: github-actions[bot] 2024-12-25 13:55:02 +00:00
3 changed files with 33 additions and 1 deletions

View file

@ -0,0 +1,28 @@
<script src="include.js"></script>
<svg>
<textPath></textPath>
<clipPath></clipPath>
<foreignObject></foreignObject>
<linearGradient></linearGradient>
<radialGradient></radialGradient>
</svg>
<script>
test(() => {
if (document.querySelector("textPath"))
println("✅ Pass: Selector match for SVG element textPath.");
else
println("❌ Fail: No selector match for SVG element textPath.");
if (document.querySelector("clipPath"))
println("✅ Pass: Selector match for SVG element clipPath.");
else
println("❌ Fail: No selector match for SVG element clipPath.");
if (document.querySelector("foreignObject"))
println("✅ Pass: Selector match for SVG element foreignObject.");
else
println("❌ Fail: No selector match for SVG element foreignObject.");
if (document.querySelector("radialGradient"))
println("✅ Pass: Selector match for SVG element radialGradient.");
else
println("❌ Fail: No selector match for SVG element radialGradient.");
});
</script>