Closed Bug 201066 Opened 22 years ago Closed 22 years ago

NS_FRAME_OUTSIDE_CHILDREN set inconsistently for table cell frames

Categories

(Core :: Layout: Tables, defect, P2)

x86
Windows XP
defect

Tracking

()

RESOLVED DUPLICATE of bug 173277
Future

People

(Reporter: john, Unassigned)

References

Details

One of the major false positives in the layout regression tests is for table cell frames. Specifically, they sometimes end up with their NS_FRAME_OUTSIDE_CHILDREN bit set and sometimes do not. Testcase info and false positive printouts follow.
http://lxr.mozilla.org/seamonkey/source/layout/html/tests/block/bugs/40129.html frame state mismatch: 0xc00004 vs. 0xc0000c Node 1: Block(td)(0) 0xc00004 0,0,1065,960 Node 2: Block(td)(0) 0xc0000c 0,0,1065,960 frame state mismatch: 0xd00104 vs. 0xd0010c Node 1: Area(div)(1) 0xd00104 0,0,960,960 Node 2: Area(div)(1) 0xd0010c 0,0,960,960 (The second one was right after the first in the same file. Ditto with the last two errors in this file.) http://lxr.mozilla.org/seamonkey/source/layout/html/tests/table/viewer_tests/test4.html frame state mismatch: 0x84 vs. 0x4 Node 1: TableCell(th)(3) 0x84 975,0,5580,360, |null attr|-16777216|left: Null top: Null right: Null bottom: Null left: 15[0xf]tw top: 15[0xf]tw right: 15[0xf]tw bottom: 15[0xf]tw left: 15[0xf]tw top: 15[0xf]tw right: 15[0xf]tw bottom: 15[0xf]tw left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null 1[0x1]enum 0|100 100 |left: Auto top: Auto right: Auto bottom: Auto Auto 0[0x0]tw Null Auto 0[0x0]tw Null 0 Auto |3 0 0 Normal Normal 0[0x0]tw Normal |0 16 0 0 0 0 0 0 0 0 0 0 |0 0 0 -1 1 |0 0 0 Null Node 2: TableCell(th)(3) 0x4 975,0,5580,360, |null attr|-16777216|left: Null top: Null right: Null bottom: Null left: 15[0xf]tw top: 15[0xf]tw right: 15[0xf]tw bottom: 15[0xf]tw left: 15[0xf]tw top: 15[0xf]tw right: 15[0xf]tw bottom: 15[0xf]tw left: Null top: Null right: Null bottom: Null left: Null top: Null right: Null bottom: Null 1[0x1]enum 0|100 100 |left: Auto top: Auto right: Auto bottom: Auto Auto 0[0x0]tw Null Auto 0[0x0]tw Null 0 Auto |3 0 0 Normal Normal 0[0x0]tw Normal |0 16 0 0 0 0 0 0 0 0 0 0 |0 0 0 -1 1 |0 0 0 Null http://lxr.mozilla.org/seamonkey/source/layout/html/tests/table/bugs/bug10633.html frame state mismatch: 0x4 vs. 0x84 Node 1: TableCell(td)(11) 0x4 3915,0,2805,330 Node 2: TableCell(td)(11) 0x84 3915,0,2805,330 http://lxr.mozilla.org/seamonkey/source/layout/html/tests/table/bugs/bug12910-2.html frame state mismatch: 0xc0000c vs. 0xc00004 Node 1: Block(td)(5) 0xc0000c 0,45,1575,210 Node 2: Block(td)(5) 0xc00004 0,45,1575,210 The last one got this many times: WARNING: Not Yet Implemented, file c:/cvs/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp, line 425 And a few of these: ###!!! ASSERTION: unexpected containing block height: 'NS_AUTOHEIGHT != aContainingBlockHeight', file c:/cvs/mozilla/layout/html/base/src/nsHTMLReflowState.cpp, line 2449 And this: ###!!! ASSERTION: Registering a placeholder for a frame that already has a placeholder!: '!entry->placeholderFrame', file c:/cvs/mozilla/layout/html/base/src/nsFrameManager.cpp, line 794 http://lxr.mozilla.org/seamonkey/source/layout/html/tests/table/bugs/bug45055-2.html frame state mismatch: 0xc00004 vs. 0xc0000c Node 1: Block(td)(0) 0xc00004 0,0,1065,960 Node 2: Block(td)(0) 0xc0000c 0,0,1065,960 frame state mismatch: 0xd00104 vs. 0xd0010c Node 1: Area(div)(1) 0xd00104 0,0,960,960 Node 2: Area(div)(1) 0xd0010c 0,0,960,960
NS_FRAME_OUTSIDE_CHILDREN: layout/html/tests/block/bugs/40129.html Block(td) -> Area(div) layout/html/tests/table/bugs/bug12910-2.html Block(td) layout/html/tests/table/bugs/bug4849.html Block(td) Oops, most of those were for 0x80, NS_FRAME_HAS_LOADED_IMAGE, which is another frequent source of false positives (and *always* with table cells). So it sounds like it's block-plus-table related. 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) Fixing the false positives in the regression tests should make it possible to automate them much more easily.
Assignee: bernd.mielke → table
I think there's another bug on tables not propagating mOverflowArea in the reflow state correctly and setting NS_FRAME_OUTSIDE_CHILDREN based only on rowspans. There are (or should be) a bunch of painting bugs dup'd to it.
Depends on: 197581
Priority: -- → P2
Target Milestone: --- → Future
*** This bug has been marked as a duplicate of 173277 ***
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.