RESOLVED FIXED 17705
Whitespace between nowrap elements ignored after collapsed trailing space in a text run
https://bugs.webkit.org/show_bug.cgi?id=17705
Summary Whitespace between nowrap elements ignored after collapsed trailing space in ...
Kier Darby
Reported 2008-03-07 08:01:50 PST
When placing two <span> elements with white-space:nowrap next to each other but separated by whitespace, under some conditions the whitespace is ignored and the two <span> elements will not wrap together when space is constrained. A test case is available, showing how minor changes can change this behavior.
Attachments
Test case showing incorrect behavior (1.30 KB, text/html)
2008-03-07 08:03 PST, Kier Darby
no flags
Patch (5.54 KB, patch)
2013-03-05 13:02 PST, Robert Hogan
no flags
Patch (7.47 KB, patch)
2013-04-13 09:42 PDT, Robert Hogan
no flags
Kier Darby
Comment 1 2008-03-07 08:03:41 PST
Created attachment 19585 [details] Test case showing incorrect behavior
aravind.akella
Comment 2 2010-11-02 12:39:16 PDT
In all the three cases, both the spans should be on separate lines .... rite ? Thats how firefox and IE display this file. Case 2 should be incorrect as well ?
Robert Hogan
Comment 3 2013-03-05 13:02:06 PST
Ryosuke Niwa
Comment 4 2013-04-09 12:20:39 PDT
Comment on attachment 191544 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=191544&action=review > Source/WebCore/rendering/RenderBlockLineLayout.cpp:3081 > + // If we allow whitespace collapsing 'word ' and 'word' are equivalent when before a whitespace > + // character, so treat both as a potential linebreak. Nit: I would insert a comma after "If we allow whitespace collapsing" and get rid of "when" in "when before a whitespace". > Source/WebCore/rendering/RenderBlockLineLayout.cpp:3082 > + checkForBreak = (ignoringSpaces || !currentCharacterIsSpace) && (c == ' ' || c == '\t' || (c == '\n' && !next->preservesNewline())); We should extract c == ' ' || c == '\t' || (c == '\n' && !next->preservesNewline() as a helper function at some point. > LayoutTests/fast/text/whitespace/inline-whitespace-wrapping-5.html:20 > + <span class="nowrap">xx </span> > + <span class="nowrap">xx</span> Please add a test case for bidirectional text.
Robert Hogan
Comment 5 2013-04-13 09:42:26 PDT
Robert Hogan
Comment 6 2013-04-13 15:01:14 PDT
Alexey Proskuryakov
Comment 7 2013-06-07 18:05:06 PDT
This caused bug 117284.
Note You need to log in before you can comment on or make changes to this bug.