If you have an element set to float:right; and you follow it with another element set to clear:right; float:right; and then follow those first two elements with a third element set to float:left; the third element will not float next to the first element, even though it is not being cleared.
This bug is also present when the float directions are reversed from the example described above.

Comment on attachment 12229[details]
Patch that does left/right y-computations separately.
+ FloatingObject* lastFloat = f;
Might as well initialize this to f->prev() to save an unnecessary pass through the while loop.
r=me

This bug is invalid. The previous behavior was correct. CSS2 9.5.1 rule 5 says:
The outer top of a floating box may not be higher than the outer top of any block or floated box generated by an element earlier in the source document.
(Below the rules, it says:
References to other elements in these rules refer only to other elements in the same block formatting context as the float.)
http://www.w3.org/TR/CSS21/visuren.html#float-position