If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

NS_FRAME_OUTSIDE_CHILDREN set inconsistently for table cell frames

RESOLVED DUPLICATE of bug 173277

Status

()

Core
Layout: Tables
P2
normal
RESOLVED DUPLICATE of bug 173277
15 years ago
15 years ago

People

(Reporter: John Keiser (jkeiser), Unassigned)

Tracking

Trunk
Future
x86
Windows XP
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

15 years ago
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.
(Reporter)

Comment 1

15 years ago
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
(Reporter)

Comment 2

15 years ago
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.
(Reporter)

Updated

15 years ago
Depends on: 197581

Updated

15 years ago
Priority: -- → P2
Target Milestone: --- → Future

*** This bug has been marked as a duplicate of 173277 ***
Status: NEW → RESOLVED
Last Resolved: 15 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.