Files
ladybird/Tests/LibWeb/Text/input/cancel-of-pointerdown-or-mousedown-should-skip-focus-steps.html
Aliaksandr Kalenik 2a18b6b802 LibWeb: Prevent default on pointerdown/mousedown should skip focus steps
Fixes a bug in the ChatGPT model dropdown where clicking it immediately
closes the menu because focus is being stolen.
2025-11-21 08:30:32 +01:00

39 lines
1.1 KiB
HTML

<!DOCTYPE html>
<button id="test-button" style="width: 100px; height: 100px">Test button</button>
<script src="include.js"></script>
<script>
asyncTest(done => {
const button = document.getElementById("test-button");
const eventsToLog = [
"mousedown",
"mouseup",
"click",
"dblclick",
"pointerdown",
"pointerup",
"focus",
"blur",
"focusin",
"focusout",
];
eventsToLog.forEach(type => {
button.addEventListener(type, event => {
if (type === "pointerdown" || type === "mousedown") event.preventDefault();
println(`${type}`, {
key: event.key,
code: event.code,
button: event.button,
pointerType: event.pointerType,
eventPhase: event.eventPhase,
timeStamp: event.timeStamp,
});
if (type === "click") done();
});
});
internals.click(50, 50);
});
</script>