Bug 190223

Summary: radio / checkbox inputs should fire "click, input, change" events in order when clicked
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: DOMAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, cdumez, commit-queue, darin, ggaren, rniwa, sam, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 190252    
Bug Blocks: 190891    
Attachments:
Description Flags
Patch none

Chris Dumez
Reported 2018-10-02 15:42:05 PDT
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
Attachments
Patch (16.11 KB, patch)
2018-10-02 15:49 PDT, Chris Dumez
no flags
Chris Dumez
Comment 1 2018-10-02 15:49:00 PDT
WebKit Commit Bot
Comment 2 2018-10-02 17:28:29 PDT
Comment on attachment 351448 [details] Patch Clearing flags on attachment: 351448 Committed r236779: <https://trac.webkit.org/changeset/236779>
WebKit Commit Bot
Comment 3 2018-10-02 17:28:30 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 4 2018-10-02 17:29:31 PDT
Darin Adler
Comment 5 2018-10-02 17:32:11 PDT
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?
Chris Dumez
Comment 6 2018-10-03 09:45:42 PDT
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.
Note You need to log in before you can comment on or make changes to this bug.