[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