Bug 11024

Summary: REGRESSION: A select element that has no children should appear as dimmed but isn't
Product: WebKit Reporter: Chris Petersen <c.petersen87>
Component: FormsAssignee: Adele Peterson <adele>
Status: RESOLVED INVALID    
Severity: Normal Keywords: InRadar, Regression
Priority: P1    
Version: 420+   
Hardware: Mac   
OS: OS X 10.4   
Attachments:
Description Flags
sample test case
none
patch none

Description Chris Petersen 2006-09-25 11:13:13 PDT
* SUMMARY
When a select element doesn't contain any children element, TOT still renders it as a normal select element instead of being dimmed.

I originally found this issue at http://www.oceanfootage.com/stockfootage/Barracuda_Fish/ but I now have a simple test case.

* STEPS TO REPRODUCE
1. With TOT webkit r-16541, open the attached test case "select_with_no_children.html"
2. The select element that is rendered contains no children but is still is selectable. 
3. With stock Safari under 10.4.7, the same select element is rendered as dimmed. TOT should do the same thing but doesn't

* RESULTS
Select element with no children should be rendered as dimmed but isn't

* REGRESSION
This is a edge case issue but is a regression
Comment 1 Chris Petersen 2006-09-25 11:16:01 PDT
This might be subjective since one could argue that stock Safari is doing the wrong thing and r-16541 is correct behavior. But I will let Adele and Hyatt decide this :).
Comment 2 Chris Petersen 2006-09-25 11:16:44 PDT
Created attachment 10761 [details]
sample test case
Comment 3 Chris Petersen 2006-09-25 11:17:36 PDT
This is covered in <rdar://problem/4748594>
Comment 4 David Kilzer (:ddkilzer) 2006-09-26 15:11:34 PDT
Regressions are P1.
Comment 5 Adele Peterson 2006-12-16 14:31:56 PST
Created attachment 11890 [details]
patch
Comment 6 mitz 2006-12-16 14:42:00 PST
Comment on attachment 11890 [details]
patch

r=me (there's an unrelated test in this patch).
Comment 7 Adele Peterson 2006-12-16 14:59:59 PST
Comment on attachment 11890 [details]
patch

Oops. This causes an infinite loop.  Need to rework this.
Comment 8 Dave Hyatt 2006-12-16 16:50:12 PST
Comment on attachment 11890 [details]
patch

Seems like it would be better to set disabled state for real when you have no items rather than doing this check any time someone calls disabled().
Comment 9 Adele Peterson 2006-12-18 13:47:11 PST
Our old behavior was that the popup would also be disabled if it had children, but all of the children were disabled.  After thinking about it some more, I think that matching that part of the old behavior is unnecessary.  There's no harm in opening a menu with all items disabled.  Some people may want that behavior just to see what options exist, even if they're disabled.

So I think we should just disable in the 0 children case.
Comment 10 Maciej Stachowiak 2007-02-07 05:05:10 PST
Since our new behavior matches other browsers better, we decided it was correct.