Closed
Bug 201076
Opened 22 years ago
Closed 21 years ago
NS_FRAME_HAS_LOADED_IMAGE bit set inconsistently on table cell frames
Categories
(Core :: Layout: Tables, defect, P2)
Tracking
()
RESOLVED
FIXED
mozilla1.7alpha
People
(Reporter: john, Assigned: dbaron)
Details
(Whiteboard: [patch])
Attachments
(1 file)
3.60 KB,
patch
|
bzbarsky
:
review+
bzbarsky
:
superreview+
|
Details | Diff | Splinter Review |
The layout regression tests give several false positives because frames with
background images do not always have the has_loaded_image bit set by the time
frame bits are compared. This may not be a problem in our code; but if not, the
regression tests need to not compare this bit.
NS_FRAME_HAS_LOADED_IMAGE:
layout/html/tests/table/viewer_tests/test4.html TableCell(th)
layout/html/tests/table/bugs/bug10633.html TableCell(td)
layout/html/tests/table/bugs/bug12008.html TableCell(td)
layout/html/tests/table/bugs/bug1271.html TableCell(td)
layout/html/tests/table/bugs/bug1296.html TableCell(td)
layout/html/tests/table/bugs/bug1430.html TableCell(td)
layout/html/tests/table/bugs/bug45055-2.html TableCell(td)
The bit is set only at one place
http://lxr.mozilla.org/seamonkey/source/layout/base/src/nsPresContext.cpp#1450
The LoadImage routine is called from inside the PaintBackgroundWithSC
http://lxr.mozilla.org/seamonkey/source/layout/html/style/src/nsCSSRendering.cpp#2965
My guess would be that we start to write the frame dump before the painting has
finished. Does increasing the mDelay at
http://lxr.mozilla.org/seamonkey/source/webshell/tests/viewer/nsWebCrawler.cpp#461
change the picture?
Reporter | ||
Comment 2•22 years ago
|
||
CC'ing bz ... the basic problem is that onload may fire before background images
are loaded. There are 3 alternatives here that I see:
(1) do not compare the NS_FRAME_HAS_LOADED_IMAGE bit
(2) wait a little while for the image to load (bernd's suggestion in the last
comment)
(3) do not fire onload until background images have loaded.
bz may have insight, especially on this last one.
![]() |
||
Comment 3•22 years ago
|
||
The last one is kinda hard... for one thing, it involves moving background image
loading out of frames and into content/style. ;) That's sorta the plan, but
even then I'm not sure we'll want to delay onload for background images.....
Except perhaps we could in debug builds or have a pref or env var for doing it
in debug builds (so the regression tests could use it).
Though I'm somewhat leery of testing different things between regression tests
and releases....
Reporter | ||
Comment 4•22 years ago
|
||
nah, if we don't want to do it for one we shouldn't do it for anything else. I
think I prefer the solution of not comparing these bits at all, even though it
may miss a regression or two. Increasing time between tests does not seem
desirable to me.
Assignee | ||
Comment 5•22 years ago
|
||
At some point we should start loading images from the stylesheets that reference
them. That would fix this. It's also a rather large change.
Updated•22 years ago
|
Priority: -- → P2
Target Milestone: --- → Future
Assignee | ||
Comment 6•21 years ago
|
||
Assignee | ||
Updated•21 years ago
|
Attachment #138914 -
Flags: superreview?(bz-vacation)
Attachment #138914 -
Flags: review?(bz-vacation)
Assignee | ||
Updated•21 years ago
|
Assignee: core.layout.tables → dbaron
Whiteboard: [patch]
Target Milestone: Future → mozilla1.7alpha
![]() |
||
Comment 7•21 years ago
|
||
Comment on attachment 138914 [details] [diff] [review]
remove NS_FRAME_HAS_LOADED_IMAGES bit, since it's write-only
r+sr=bzbarsky, but it may be a good idea to renumber the last three bits to not
leave a hole.
Attachment #138914 -
Flags: superreview?(bz-vacation)
Attachment #138914 -
Flags: superreview+
Attachment #138914 -
Flags: review?(bz-vacation)
Attachment #138914 -
Flags: review+
Assignee | ||
Comment 8•21 years ago
|
||
Fix checked in, 2004-01-12 17:18 -0800. I didn't change the rest of the bits --
there are lots of them.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•