Summary: | SelectElement should check if its renderer exists after calling Element::focus() | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | James Robinson <jamesr> | ||||||||
Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | abarth, ap, dglazkov, eric, tonikitoo, yael | ||||||||
Priority: | P2 | ||||||||||
Version: | 528+ (Nightly build) | ||||||||||
Hardware: | PC | ||||||||||
OS: | OS X 10.5 | ||||||||||
Attachments: |
|
Description
James Robinson
2010-10-14 16:00:21 PDT
Created attachment 70792 [details]
repro
Repro instructions from the original bug: Steps: 1. There is one dropdown. Select 'show' - and the second one appears. 2. Focus remains on the first dropdown. Press 'b' on your keyboard - that will select 'b' in the first dropdon instead of 'show'. 3. Drag your mouse over scrollbar of the second dropdown - scroll to the bottom, for example. 4. Browser crashes Created attachment 70793 [details]
Patch
Patch for discussion - I haven't written proper regression tests yet or a ChangeLog body, so this isn't quite ready to land. This patch assumes that if the element has no renderer then the event is not marked as handled which is consistent with what happens if the renderer is NULL at the initial call to SelectElement::defaultEventHandler(). I dunno if this is really the proper behavior, however. Created attachment 70810 [details]
Patch
Committed r69827: <http://trac.webkit.org/changeset/69827> + * fast/forms/select-listbox-focus-displaynone.html: Added. There is no -expected.txt in ChangeLog. Not that I care - I can't think of any practical difference for anyone. |