radio / checkbox inputs should fire "click, input, change" events in order when clicked: - https://html.spec.whatwg.org/#radio-button-state-(type=radio) - https://html.spec.whatwg.org/#checkbox-state-(type=checkbox) Gecko and Blink already behave this way. However, WebKit has the following issues: - the input event is not fired - the click event is fired after the change event
Created attachment 351448 [details] Patch
Comment on attachment 351448 [details] Patch Clearing flags on attachment: 351448 Committed r236779: <https://trac.webkit.org/changeset/236779>
All reviewed patches have been landed. Closing bug.
<rdar://problem/44959765>
Comment on attachment 351448 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=351448&action=review > Source/WebCore/html/BaseCheckableInputType.cpp:132 > + element()->setTextAsOfLastFormControlChangeEvent(String()); > + element()->dispatchInputEvent(); > + element()->dispatchFormControlChangeEvent(); Seems like there is a null check missing here. What guarantees that detachFromElement() won’t be called as a result of dispatching the input event?
Comment on attachment 351448 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=351448&action=review >> Source/WebCore/html/BaseCheckableInputType.cpp:132 >> + element()->dispatchFormControlChangeEvent(); > > Seems like there is a null check missing here. What guarantees that detachFromElement() won’t be called as a result of dispatching the input event? You are right. I will follow-up.