Closed
Bug 258118
Opened 20 years ago
Closed 20 years ago
The layout of sfgate.com regressed around August 26th
Categories
(Core :: Layout: Block and Inline, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: stephen.moehle, Assigned: roc)
References
()
Details
(Keywords: regression, testcase)
Attachments
(4 files, 2 obsolete files)
46.82 KB,
image/jpeg
|
Details | |
276 bytes,
text/html
|
Details | |
6.14 KB,
patch
|
Details | Diff | Splinter Review | |
6.37 KB,
patch
|
dbaron
:
review+
dbaron
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8a3) Gecko/20040904
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8a3) Gecko/20040904
The layout of sfgate.com is no longer correct. Near the bottom of the page,
there is a gif with the work "MARKETPLACE." Under that should be a table
consisting of the text "Chronicle Classifieds", "OnSale", "Chronicle Mobile",
"Custom Prints", etc. In current trunk Mozilla builds, the table is rendered to
the right of where it should be, and if there is text in this right-hand column,
it will be overwritten by the table.
In Linux trunk build 2004-08-25-05, the layout is OK. In Linux trunk build
2004-08-26-05, the layout is broken.
The first time you ever load the page, or immediately after clearing the cache,
the page will layout OK, but after reloading or revisiting the page, the layout
will be broken as described.
Reproducible: Always
Steps to Reproduce:
Reporter | ||
Comment 1•20 years ago
|
||
![]() |
||
Comment 2•20 years ago
|
||
There're several bugs that were checked in then that could in theory affect this:
Bug 256938 (not too likely), bug 256932, bug 256937 (not too likely), bug
133165, bug 252920, and bug 252771
A minimal testcase would go a long way towards narrowing down which of these is
responsible....
Keywords: qawanted,
regression
Comment 3•20 years ago
|
||
Comment 4•20 years ago
|
||
Backing out bug 252920 solves this.
![]() |
||
Updated•20 years ago
|
Assignee: nobody → roc
Comment 5•20 years ago
|
||
To be precise, this fixes it:
// Keep mY up to date in case we're propagating reflow damage
// and also because our final height may depend on it. Only
// update mY if the line is not empty, because that's what
// PlaceLine does.
- if (!line->IsEmpty()) {
+ if (PR_TRUE) {
aState.mY = line->mBounds.YMost();
}
needToRecoverState = PR_TRUE;
}
Comment 6•20 years ago
|
||
Might this be similar to the "Find a Home or Apartment" regression on
http://channels.netscape.com/ns/homerealestate/default.jsp.
*** Bug 258157 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 8•20 years ago
|
||
The inner table is not needed.
Attachment #157968 -
Attachment is obsolete: true
Assignee | ||
Comment 9•20 years ago
|
||
the real testcase, sorry
Attachment #158038 -
Attachment is obsolete: true
Assignee | ||
Comment 10•20 years ago
|
||
nsBlockFrame::ReflowDirtyLines applies float clearing before the current line
if the previous line was not reflowed and has a float-clearing break type. Now,
if it so happens that we have a line L with a float-clearing break type,
followed by L2 which is empty, followed by L3, and we do a reflow in which only
L3 is dirty, we don't do any float clearing. This used to be covered up because
we'd update aState.mY with L2's YMost which would include the clearing height.
Now that we're not taking into account the YMost of empty lines in
ReflowDirtyLines, we need to ensure that the float clearing required by line L
is applied before we reflow L3. So this patch ensures that the break type is
propagated from any line requesting it to the next line to be reflowed.
It also cleans up the break type identification a little bit.
I'm suspicious about the correctness of CombineBreakType in the cases (NONE,
LEFT) and (NONE, RIGHT)...
Assignee | ||
Comment 11•20 years ago
|
||
Comment on attachment 158275 [details] [diff] [review]
fix
regression fix
Attachment #158275 -
Flags: superreview?(dbaron)
Attachment #158275 -
Flags: review?(dbaron)
Assignee | ||
Comment 12•20 years ago
|
||
I suppose we should clear floatBreakType when we set mY in the !line->IsEmpty()
non-reflow case, since that will include any necessary clearing.
Assignee | ||
Updated•20 years ago
|
Attachment #158275 -
Attachment is obsolete: true
Attachment #158275 -
Flags: superreview?(dbaron)
Attachment #158275 -
Flags: review?(dbaron)
Assignee | ||
Updated•20 years ago
|
Attachment #158277 -
Flags: superreview?(dbaron)
Attachment #158277 -
Flags: review?(dbaron)
Comment on attachment 158277 [details] [diff] [review]
revised
rubber-stamp r+sr
Attachment #158277 -
Flags: superreview?(dbaron)
Attachment #158277 -
Flags: superreview+
Attachment #158277 -
Flags: review?(dbaron)
Attachment #158277 -
Flags: review+
Assignee | ||
Comment 14•20 years ago
|
||
checked in
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 15•20 years ago
|
||
I'll confirm that sfgate.com is fixed.
![]() |
||
Comment 16•20 years ago
|
||
*** Bug 259046 has been marked as a duplicate of this bug. ***
This caused regression bug 261153 and perhaps also bug 260938.
You need to log in
before you can comment on or make changes to this bug.
Description
•