RESOLVED FIXED Bug 35256
HTMLSelectElement::setSelectedIndexByUser() can trigger unnecessary JS when there is no change to the selected index
https://bugs.webkit.org/show_bug.cgi?id=35256
Summary HTMLSelectElement::setSelectedIndexByUser() can trigger unnecessary JS when t...
John Sullivan
Reported 2010-02-22 12:38:28 PST
This is a followup to <http://trac.webkit.org/changeset/51602>. With that patch, HTMLSelectElement::setSelectedIndexByUser() is now triggered by Safari's forms autofill code. Some pages run JS that resets various form elements when the selected Country changes. As of 51602, that JS was being run even when there is no change to a pop-up element, which does no good and causes trouble for autofill.
Attachments
Patch to bail out of setSelectedIndexByUser when the new index matches the old one (1.34 KB, patch)
2010-02-22 12:46 PST, John Sullivan
timothy: review+
John Sullivan
Comment 1 2010-02-22 12:46:45 PST
Created attachment 49235 [details] Patch to bail out of setSelectedIndexByUser when the new index matches the old one
John Sullivan
Comment 2 2010-02-22 13:04:56 PST
Eric Seidel (no email)
Comment 3 2010-02-22 14:06:42 PST
Comment on attachment 49235 [details] Patch to bail out of setSelectedIndexByUser when the new index matches the old one Can't we write a manual test? One which would simply alert() on the change?
Eric Seidel (no email)
Comment 4 2010-02-22 14:06:57 PST
:( for lack of testing.
John Sullivan
Comment 5 2010-02-22 14:43:42 PST
A manual test would have to be dependent on a particular client, since setSelectedIndexByUser() is not called if the user brings up the pop-up menu and then dismisses it with the initially-selected item still selected. So that's more in the realm of testing the browser than testing WebCore, I think.
Note You need to log in before you can comment on or make changes to this bug.