[Webkit-unassigned] [Bug 41125] New: Spurious extra onchange event handler is fired in Safari mac porting layer of list boxes
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jun 23 19:24:49 PDT 2010
https://bugs.webkit.org/show_bug.cgi?id=41125
Summary: Spurious extra onchange event handler is fired in
Safari mac porting layer of list boxes
Product: WebKit
Version: 528+ (Nightly build)
Platform: Macintosh
URL: http://www.mav-start.hu/english/index.php
OS/Version: All
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: Layout and Rendering
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: inferno at chromium.org
Branching off from security bug 40828 since this is a functional issue.
Comment #17 From Abhishek Arya 2010-06-23 18:53:20 PST (-) [reply]
Alexey, the behavior difference looks to come out as a bug in mac implementation. In safari trunk on win and chrome on win is identical to firefox, the select box remain opens and expand the childs (and select the first one). Whereas in mac, for safari, the select box opens during onchange and expands child during mousedown, but as soon mouseup occurs, there is another onchange fired again which is wrong and causes the selectbox to collapse resulting in ugly blink. basically on mouseup, that event should not be fired. I dont know if i was able to summarise properly, so ccing james and justin to help here.
Comment #18 From James Robinson 2010-06-23 18:57:03 PST (-) [reply]
This looks like a bug in the Safari Mac porting layer's handling of list boxes and a behavior bug, not a security bug. The page works properly in Safari/win, Chrome/win, Chrome/mac. The page also works in FireFox/win and FireFox/mac, although not identically. The root of the issue in Safari/mac seems to be that if the select is opened up by clicking on the element (as opposed to hitting a keyboard arrow when the element has focus), selection one of the options fires two onchange events instead of one. It looks like there's a synthentic mousedown event being generated somewhere that shouldn't be.
Comment #19 From James Robinson 2010-06-23 19:00:21 PST (-) [reply]
What Abishek said :). The 'flash' you see is because Safari/mac fires an onchange event and the page's javascript changes the size to >1 and sets the selectedIndex attribute on the <select>. The page then paints in this state. Then, Safari/mac fires _another_ onchange event which causes the page's javascript to set the size back to 1 and to change the selectedIndex property. Then this page is painted. The second onchange event shouldn't be fired at all (and is not in Safari/win, Chrome/* and Firefox/*).
---------
Kudos to James and Justin for analyzing this anomaly with me.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list