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
•