LibWeb: Add PopOverInvokerElement and use it in HTMLButtonElement

The popoverTargetElement seems to be one of the only cases of a
reflected Element? attribute in the HTML spec, the behaviour of which
is specified in section 2.6.1.

Buttons can't actually toggle popovers yet because showing/hiding
popovers is not implemented yet.
This commit is contained in:
Nathan van der Kamp 2024-11-23 23:06:06 +01:00 committed by Tim Ledbetter
commit a276cf2d5e
Notes: github-actions[bot] 2024-12-12 17:12:26 +00:00
9 changed files with 97 additions and 2 deletions

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<button id="toggleButton" popovertarget="mypopover" popovertargetaction="toggle">Toggle the popover</button>
<div id="mypopover" popover>Popover content</div>
<script src="../include.js"></script>
<script>
test(() => {
const button = document.getElementById("toggleButton");
const div = document.getElementById("mypopover");
if (button.popoverTargetElement === div)
println("PASS");
button.popoverTargetElement = null;
if (button.popoverTargetElement === null)
println("PASS");
button.popoverTargetElement = div;
if (button.popoverTargetElement === div)
println("PASS");
if (button.popoverTargetAction === "toggle")
println("PASS");
button.popoverTargetAction = "invalid_value";
if (button.popoverTargetAction === "toggle")
println("PASS");
});
</script>