Closed
Bug 441418
Opened 16 years ago
Closed 16 years ago
white-space:pre with first-letter makes content disappear
Categories
(Core :: Layout, defect)
Core
Layout
Tracking
()
RESOLVED
FIXED
People
(Reporter: roc, Assigned: roc)
Details
Attachments
(2 files)
184 bytes,
text/html
|
Details | |
7.72 KB,
patch
|
dbaron
:
review+
dbaron
:
superreview+
|
Details | Diff | Splinter Review |
See attached testcase. The problem is that nsBlockFrame::ReflowInlineFrame tries to guess whether an incomplete reflow status is because of a first-letter ending, and decides whether to start a new line based on that. In this testcase the preformatted newline line break is treated as the end of the first-letter, and nsBlockFrame fails to start a new line; in the ensuing chaos the rest of the content is not reflowed.
Assignee | ||
Comment 1•16 years ago
|
||
Don't guess, just add a new reflow status bit to indicate when a break occurred due to a first-letter frame ending.
Attachment #326401 -
Flags: superreview?(dbaron)
Attachment #326401 -
Flags: review?(dbaron)
Assignee | ||
Comment 2•16 years ago
|
||
Note to self: may need to update patch based on changes in bug 399941.
Comment on attachment 326401 [details] [diff] [review] fix > #ifdef NOISY_FIRST_LETTER >+ PRBool reflowingFirstLetter = aLineLayout.GetFirstLetterStyleOK(); Could you put the contents of the ifdef inside {} so that variables don't leak out? >diff -NrpU12 mozilla-trunk.f0aec487ed11/layout/reftests/bugs/441418-1-ref.html mozilla-trunk/layout/reftests/bugs/441418-1-ref.html >+<p><span style="font-size:200%"><br></span> I'm not really sure this is justified or that we expect the behavior of this to be stable. But I guess we'll deal with that if we change it... It would also be good to add a test for the case where the wrapping is just normal wrapping at a space rather than wrapping due to 'pre'. The reftests could also go in layout/reftests/first-letter/ if you want. r+sr=dbaron, although I don't completely follow it
Attachment #326401 -
Flags: superreview?(dbaron)
Attachment #326401 -
Flags: superreview+
Attachment #326401 -
Flags: review?(dbaron)
Attachment #326401 -
Flags: review+
Assignee | ||
Comment 4•16 years ago
|
||
(In reply to comment #3) > Could you put the contents of the ifdef inside {} so that variables don't leak > out? Sure > It would also be good to add a test for the case where the wrapping is just > normal wrapping at a space rather than wrapping due to 'pre'. OK > The reftests could also go in layout/reftests/first-letter/ if you want. OK. > r+sr=dbaron, although I don't completely follow it Which part is hard?
Assignee | ||
Comment 5•16 years ago
|
||
Pushed 2bafc1749899.
Status: NEW → RESOLVED
Closed: 16 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•