Lines should be allowed to break between adjacent <select> elements, even if there is no white space between them. The test case shows that WebKit no longer allows it. Firefox does. I think the reason is that the native Mac popups are adjusted to white-space:pre.
Created attachment 9745 [details] Test case
Created attachment 10129 [details] Test of other replaced elements
Created attachment 10130 [details] Test as rendered by WinIE
Created attachment 10131 [details] Test as rendered by Firefox
As the extended test shows, WebKit has the same problem with <input type="button">.
radar 4823049
Created attachment 12411 [details] Patch that I think may be what we want I'm a little hesitant about this, but it does seem to match Firefox. Basically we use the parent white-space when looking at replaced elements. This seems to be what Firefox is doing.
Comment on attachment 12411 [details] Patch that I think may be what we want You attached the wrong patch. This patch is removing the marquee unfurl style!
It's not the wrong patch. I had to remove the whiteSpace() flag from marquees since with this patch it's no longer needed. While in there I decided to yank the unfurl thing, since it was just for Safari RSS prototyping and never used. The important bit is in bidi.cpp near the bottom.
Comment on attachment 12411 [details] Patch that I think may be what we want Setting review flag (timidly).
Comment on attachment 12411 [details] Patch that I think may be what we want Turn the testcase into a layout test, and r=me.
I landed this patch, but as Mitz pointed out, there's still the problem of replaced elements followed by non-replaced elements.
NEver mind, it's ok. I'm going to add an additional test.
This case is still misbehaving: <div style="width: 5px"><select></select><select></select><select></select></div>
Created attachment 12436 [details] Really get every case. Here we go.
Fixed in r18851.