From ad12087706b08499ded874e369dad1ad2dd389cc Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 16 Nov 2023 15:53:54 -0800 Subject: [PATCH] Don't fire dblclick on disabled form control elements As discussed here, we should apply the event blocking behavior for disabled form controls to dblclick in addition to click, mouseup, and mousedown: https://github.com/whatwg/html/issues/2368#issuecomment-1791704780 Change-Id: Ibc52585ce0704d8ba8467efc3462bd378d23fbae --- .../disabled-event-dispatch.tentative.html | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/html/semantics/disabled-elements/disabled-event-dispatch.tentative.html b/html/semantics/disabled-elements/disabled-event-dispatch.tentative.html index e2b8846fc3dbe98..0b2b967bfb4a290 100644 --- a/html/semantics/disabled-elements/disabled-event-dispatch.tentative.html +++ b/html/semantics/disabled-elements/disabled-event-dispatch.tentative.html @@ -25,7 +25,7 @@ static get formAssociated() { return true; } }); -['mousedown', 'mouseup', 'pointerdown', 'pointerup', 'click'].forEach(eventName => { +['mousedown', 'mouseup', 'pointerdown', 'pointerup', 'click', 'dblclick'].forEach(eventName => { [true, false].forEach(clickChildElement => { for (const target of targetparent.children) { promise_test(async () => { @@ -39,7 +39,18 @@ let targetchild = target.firstElementChild; targetchild.addEventListener(eventName, () => childReceivedEvent = true); - await test_driver.click(clickChildElement ? targetchild : target); + const elementToClick = clickChildElement ? targetchild : target; + if (eventName === 'dblclick') { + await (new test_driver.Actions() + .pointerMove(1, 1, {origin: elementToClick}) + .pointerDown() + .pointerUp() + .pointerDown() + .pointerUp()) + .send(); + } else { + await test_driver.click(elementToClick); + } const parentShouldReceiveEvents = eventName.startsWith('pointer'); assert_equals(parentReceivedEvent, parentShouldReceiveEvents,