I think the fix for 13857 causes this problem. Repro steps: 1. Load the above URL in Safari for Windows (it's the test case for 13857). 2. Focus the select control, then type "t" and hit Enter. 3. The selection changes, but no message is displayed. The onchange handler didn't fire. 4. If you change the selection with the mouse, or cause the popup to open, the onchange handler will fire. What's happening is that saveLastSelection(); is getting called before firing the onchange event, which actually saves the *current* selection (it changes immediately when you type "t"). Immediately after that, there's a check in menuListOnChange to see if the current selection is the same as the one we just saved, which of course it is. This doesn't happen in the mac port because there is platform-specific code guarded by ARROW_KEYS_POP_MENU that calls menuListOnChange before we get to the above code.
Created attachment 15151 [details] patch No regression test needed. fast/forms/select-double-onchange.html was failing if ARROW_KEYS_POP_MENU = 0 in HTMLSelectElement.cpp (which it is on the Windows port). This patch fixes that.
Comment on attachment 15151 [details] patch Needs a layout test. We require tests for bug fixes like this one so they don't regress in the future. Fix itself looks pretty good, although the (size_t) casts don't see to be part of the fix (and so should be done separately).
I don't understand. This is a bug fix for a broken layout test (which only fails if ARROW_KEYS_POP_MENU = 0). fast/forms/select-double-onchange.html IS the layout test for this fix.
Comment on attachment 15151 [details] patch Oops, my mistake. Putting back up for review.
Comment on attachment 15151 [details] patch Remove the (size_t) casts and I think we have a winner.
Created attachment 15253 [details] patch without casts Same as above patch, but without the size_t casts.
Comment on attachment 15253 [details] patch without casts r=me
Hrm, svn-apply claims the patch is invalid?
Created attachment 15281 [details] remake of above patch This one should actually apply.
Comment on attachment 15281 [details] remake of above patch r=me
Landed in r23845.