Closed Bug 34698 Opened 24 years ago Closed 23 years ago

Table captions don't handle embedded tables

Categories

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

defect

Tracking

()

VERIFIED DUPLICATE of bug 67864
mozilla0.9.1

People

(Reporter: markg, Assigned: karnaze)

References

()

Details

(Keywords: compat, css2, testcase)

Attachments

(1 file)

From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
BuildID:    2000033112

the columns look aligned, the links work and the MS Frontpage 2000 java applets 
don't work. as you can see there's yellow text that reads "Your Solid Source 
For Tejano Music!" and it's supposed to be scrolling yellow text on red 
background.

Reproducible: Always
Steps to Reproduce:
1. open browser to that url
2.
3.

Actual Results:  the tables, links, html code is not aligned, also the 
frontpage java applets don't work.

Expected Results:  display it like the previous communicator browser... and 
maybe add support for the frontpage 2000 java applets(Microsoft Server 
Extensions support)
There are no Java applets on this page, just a MARQUEE element, which will not
be supporteed in Mozilla.

The table alignment is a real bug, though (I think).  Either tables or parser:
there's a table in caption in a table in the right column which gets parsed
wrong.  I'll attach a testcase.
Severity: major → normal
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: testcase
OS: Windows 98 → All
Hardware: PC → All
Summary: html code doesn't display correctly, tables, links, are off, some links don't work → Table captions don't handle embedded tables
Attached file testcase
Status: NEW → ASSIGNED
Target Milestone: --- → M16
Harish, the caption should contain a table but it appears to have been moved up 
to an outer td. 
Assignee: karnaze → harishd
Status: ASSIGNED → NEW
The content model for CAPTION is

  <!ELEMENT CAPTION  - - (%inline;)*     -- table caption -->

So TABLE elements inside CAPTION elements are invalid. If this is fixed, it
should be quirks mode *only*. Added "compat" keyword.
Keywords: compat
Not a beta stopper....marking M17.
Status: NEW → ASSIGNED
Target Milestone: M16 → M17
Target Milestone: M17 → Future
We don't support inline-table yet, but when we do, this should be allowed inside 
a caption.
This bug has been marked "future" because the original netscape engineer working 
on this is over-burdened. If you feel this
is an error, that you or another known resource will be working on this bug,or 
if it blocks your work in some way -- please
attach your concern to the bug for reconsideration. 
Keywords: css2
Target Milestone: Future → mozilla0.9.1
Loading the reduced test case results in the following  crash:

nsTableOuterFrame::IR_TargetIsMe(nsTableOuterFrame * const 0x00dbc934, 
nsIPresContext * 0x30026032, nsHTMLReflowMetrics & {...}, const 
nsHTMLReflowState & {...}, unsigned int &) line 1167 + 16 bytes
nsTableCellFrame::MapBorderPadding(nsIPresContext * 0x03133800) line 1012 + 14 
bytes
nsTableCellFrame::DidSetStyleContext(nsTableCellFrame * const 0x00dbc934, 
nsIPresContext * 0x03133800) line 1131
nsFrame::SetStyleContext(nsFrame * const 0x00dbc934, nsIPresContext * 
0x03133800, nsIStyleContext * 0x01298630) line 476
nsFrame::Init(nsFrame * const 0x00dbc934, nsIPresContext * 0x03133800, 
nsIContent * 0x0129d1b0, nsIFrame * 0x00dbc890, nsIStyleContext * 0x01298630, 
nsIFrame * 0x00000000) line 327
nsSplittableFrame::Init(nsSplittableFrame * const 0x00dbc934, nsIPresContext * 
0x03133800, nsIContent * 0x0129d1b0, nsIFrame * 0x00dbc890, nsIStyleContext * 
0x01298630, nsIFrame * 0x00000000) line 37 + 29 bytes
nsTableCellFrame::Init(nsTableCellFrame * const 0x00dbc934, nsIPresContext * 
0x03133800, nsIContent * 0x0129d1b0, nsIFrame * 0x00dbc890, nsIStyleContext * 
0x01298630, nsIFrame * 0x00000000) line 85 + 29 bytes
nsCSSFrameConstructor::InitAndRestoreFrame(nsIPresContext * 0x03133800, 
nsFrameConstructorState & {...}, nsIContent * 0x0129d1b0, nsIFrame * 0x00dbc890, 
nsIStyleContext * 0x01298630, nsIFrame * 0x00000000, nsIFrame * 0x00dbc934) line 
6614 + 32 bytes
nsCSSFrameConstructor::ConstructTableCellFrame(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsFrameConstructorState & {...}, nsIContent * 
0x0129d1b0, nsIFrame * 0x00dbc890, nsIStyleContext * 0x01298630, nsTableCreator 
& {...}, int 1, nsFrameItems & {...}, nsIFrame * & 0x00dbc934, nsIFrame * & 
0x00000000, int & 0) line 2885
nsCSSFrameConstructor::CreatePseudoCellFrame(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsTableCreator & {...}, nsFrameConstructorState & 
{...}, nsIFrame * 0x00dbc890) line 2168 + 64 bytes
nsCSSFrameConstructor::GetPseudoCellFrame(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsTableCreator & {...}, nsFrameConstructorState & 
{...}, nsIFrame & {...}) line 2382 + 28 bytes
nsCSSFrameConstructor::GetParentFrame(nsIPresShell * 0x011e0810, nsIPresContext 
* 0x03133800, nsTableCreator & {...}, nsIFrame & {...}, nsIAtom * 0x01231690, 
nsFrameConstructorState & {...}, nsIFrame * & 0x00dbc890, int & 0) line 2418 + 
28 bytes
nsCSSFrameConstructor::ConstructTableFrame(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsFrameConstructorState & {...}, nsIContent * 
0x0129d0e0, nsIFrame * 0x00dbc890, nsIStyleContext * 0x01298700, nsTableCreator 
& {...}, int 0, nsFrameItems & {...}, nsIFrame * & 0x00dbc8dc, nsIFrame * & 
0x0012e3b0, int & 0) line 2525
nsCSSFrameConstructor::TableProcessChild(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsFrameConstructorState & {...}, nsIContent & 
{...}, nsIFrame * 0x00dbc890, nsIAtom * 0x012319a0, nsIStyleContext * 
0x01299030, nsTableCreator & {...}, nsFrameItems & {...}, nsIFrame * & 
0x00000000) line 3119 + 59 bytes
nsCSSFrameConstructor::TableProcessChildren(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsFrameConstructorState & {...}, nsIContent * 
0x0129d1b0, nsIFrame * 0x00dbc890, nsTableCreator & {...}, nsFrameItems & {...}, 
nsIFrame * & 0x00000000) line 3074 + 69 bytes
nsCSSFrameConstructor::ProcessChildren(nsIPresShell * 0x011e0810, nsIPresContext 
* 0x03133800, nsFrameConstructorState & {...}, nsIContent * 0x0129d1b0, nsIFrame 
* 0x00dbc890, int 1, nsFrameItems & {...}, int 1, nsTableCreator * 0x0012e9a4) 
line 11137
nsCSSFrameConstructor::ConstructTableCaptionFrame(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsFrameConstructorState & {...}, nsIContent * 
0x0129d1b0, nsIFrame * 0x00dbc7d0, nsIStyleContext * 0x01299030, nsTableCreator 
& {...}, nsFrameItems & {...}, nsIFrame * & 0x00dbc890, int & 0) line 2614 + 42 
bytes
nsCSSFrameConstructor::TableProcessChild(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsFrameConstructorState & {...}, nsIContent & 
{...}, nsIFrame * 0x00dbc828, nsIAtom * 0x01231730, nsIStyleContext * 
0x01299370, nsTableCreator & {...}, nsFrameItems & {...}, nsIFrame * & 
0x00dbc890) line 3127 + 53 bytes
nsCSSFrameConstructor::TableProcessChildren(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsFrameConstructorState & {...}, nsIContent * 
0x0129d3c0, nsIFrame * 0x00dbc828, nsTableCreator & {...}, nsFrameItems & {...}, 
nsIFrame * & 0x00dbc890) line 3074 + 69 bytes
nsCSSFrameConstructor::ConstructTableFrame(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsFrameConstructorState & {...}, nsIContent * 
0x0129d3c0, nsIFrame * 0x00dbc748, nsIStyleContext * 0x01299370, nsTableCreator 
& {...}, int 0, nsFrameItems & {...}, nsIFrame * & 0x00dbc7d0, nsIFrame * & 
0x00dbc828, int & 0) line 2558 + 42 bytes
nsCSSFrameConstructor::ConstructFrameByDisplayType(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsFrameConstructorState & {...}, const 
nsStyleDisplay * 0x0129b8d4, nsIContent * 0x0129d3c0, nsIFrame * 0x00dbc748, 
nsIStyleContext * 0x01299370, nsFrameItems & {...}) line 6436 + 63 bytes
nsCSSFrameConstructor::ConstructFrameInternal(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsFrameConstructorState & {...}, nsIContent * 
0x0129d3c0, nsIFrame * 0x00dbc748, nsIAtom * 0x0122d160, int 3, nsIStyleContext 
* 0x01299370, nsFrameItems & {...}, int 0) line 7160 + 48 bytes
nsCSSFrameConstructor::ConstructFrame(nsIPresShell * 0x011e0810, nsIPresContext 
* 0x03133800, nsFrameConstructorState & {...}, nsIContent * 0x0129d3c0, nsIFrame 
* 0x00dbc748, nsFrameItems & {...}) line 7025 + 56 bytes
nsCSSFrameConstructor::ProcessChildren(nsIPresShell * 0x011e0810, nsIPresContext 
* 0x03133800, nsFrameConstructorState & {...}, nsIContent * 0x0129d530, nsIFrame 
* 0x00dbc748, int 1, nsFrameItems & {...}, int 1, nsTableCreator * 0x00000000) 
line 11146 + 43 bytes
nsCSSFrameConstructor::ConstructTableCellFrame(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsFrameConstructorState & {...}, nsIContent * 
0x0129d530, nsIFrame * 0x00dbc588, nsIStyleContext * 0x0129a500, nsTableCreator 
& {...}, int 0, nsFrameItems & {...}, nsIFrame * & 0x00dbc6e8, nsIFrame * & 
0x00dbc748, int & 0) line 2915 + 40 bytes
nsCSSFrameConstructor::TableProcessChild(nsIPresShell * 0x011e0810, 
nsIPresContext * 0x03133800, nsFrameConstructorState & {...}, nsIContent & 
{...}, nsIFrame * 0x00dbc588, nsIAtom * 0x01231550, nsIStyleContext * 
0x0129ab10, nsTableCreator & {...}, nsFrameItems & {...}, nsIFrame * & 
0x00000000) line 3163 + 59 bytes
nsCSSFrameConst

giving bug to karnaze to investigate the crash. Chris, once the crash is 
resolved give the bug back to me to fix the actual problem.
Assignee: harishd → karnaze
Status: ASSIGNED → NEW
QA contact update
QA Contact: chrisd → amar

*** This bug has been marked as a duplicate of 67864 ***
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → DUPLICATE
verified

win2k 2001052504
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: