When HTMLSelectElement is menulist mode, it calls formStateDidChange(), however when it is listbox mode, it doesn't. There is a similar bug for multiple field time input UI: bug 97169 - [Forms] multiple fields time input UI should call notifyFormStateChanged() when value of field is changed
Created attachment 164857 [details] Patch 1
Comment on attachment 164857 [details] Patch 1 Could you review this patch? Thanks in advance.
Comment on attachment 164857 [details] Patch 1 View in context: https://bugs.webkit.org/attachment.cgi?id=164857&action=review > Source/WebCore/html/HTMLSelectElement.cpp:635 > + notifyFormStateChanged(); Are there other places which should have notifyFromStateChanged()? I think calling notifyFromStateChanged() in listBoxOnChange() and dispatchChangeEventForMenuList() is more reliable.
Comment on attachment 164857 [details] Patch 1 View in context: https://bugs.webkit.org/attachment.cgi?id=164857&action=review >> Source/WebCore/html/HTMLSelectElement.cpp:635 >> + notifyFormStateChanged(); > > Are there other places which should have notifyFromStateChanged()? > > I think calling notifyFromStateChanged() in listBoxOnChange() and dispatchChangeEventForMenuList() is more reliable. > I think calling notifyFromStateChanged() in listBoxOnChange() and dispatchChangeEventForMenuList() is more reliable. Ah, no. If we do so, state change by JavaScript won't update the state.
(In reply to comment #4) > (From update of attachment 164857 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=164857&action=review > > >> Source/WebCore/html/HTMLSelectElement.cpp:635 > >> + notifyFormStateChanged(); > > > > Are there other places which should have notifyFromStateChanged()? > > > > I think calling notifyFromStateChanged() in listBoxOnChange() and dispatchChangeEventForMenuList() is more reliable. > > > I think calling notifyFromStateChanged() in listBoxOnChange() and dispatchChangeEventForMenuList() is more reliable. > > Ah, no. If we do so, state change by JavaScript won't update the state. Agree, it seems notifyFormStateChanged() is called with setNeedValidityCheck() in other types.
Comment on attachment 164857 [details] Patch 1 Clearing flags on attachment: 164857 Committed r129107: <http://trac.webkit.org/changeset/129107>
All reviewed patches have been landed. Closing bug.