Closed
Bug 18085
Opened 25 years ago
Closed 25 years ago
Many assertions and wrong layout when viewing this url
Categories
(Core :: Layout, defect, P3)
Tracking
()
VERIFIED
WONTFIX
People
(Reporter: scottputterman, Assigned: pierre)
References
()
Details
Attachments
(1 file)
34.73 KB,
text/html
|
Details |
When I go to the URL: http://www.zdnet.com/anchordesk/story/story_4072.html I get many assertions in NS_ASSERTION((node->mContent != aNode->mContent) || ((node->mContent == nsnull) && (node->mStyle != aNode->mStyle)), "node in map twice"); and the page lays out too far to the right. NTDLL! 77f7629c() nsDebug::Assertion(const char * 0x01d1fad8, const char * 0x01d1fa70, const char * 0x01d1fa34, int 1757) line 280 + 13 bytes UndisplayedMap::AppendNodeFor(UndisplayedNode * 0x04274b30, nsIContent * 0x042d03b0) line 1757 + 60 bytes UndisplayedMap::AddNodeFor(nsIContent * 0x042d03b0, nsIContent * 0x042a34dc, nsIStyleContext * 0x0433f0b0) line 1779 FrameManager::SetUndisplayedContent(FrameManager * const 0x041dac60, nsIContent * 0x042a34dc, nsIStyleContext * 0x0433f0b0) line 538 + 23 bytes nsCSSFrameConstructor::ConstructFrame(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042a34dc, nsIFrame * 0x04277a80, nsFrameItems & {...}) line 4905 nsCSSFrameConstructor::ProcessChildren(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d03b0, nsIFrame * 0x04277a80, int 1, nsFrameItems & {...}, int 1) line 7938 + 33 bytes nsCSSFrameConstructor::ConstructTableCellFrameOnly(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d03b0, nsIFrame * 0x04277b90, nsIStyleContext * 0x0433b560, nsIFrame * & 0x04277b00, nsIFrame * & 0x04277a80, nsTableCreator & {...}, int 1) line 1772 + 34 bytes nsCSSFrameConstructor::ConstructTableCellFrame(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d03b0, nsIFrame * 0x04277b90, nsIStyleContext * 0x0433b560, nsIFrame * & 0x00000000, nsIFrame * & 0x04277b00, nsIFrame * & 0x04277a80, nsTableCreator & {...}, int 1) line 1683 + 49 bytes nsCSSFrameConstructor::ConstructFrameByDisplayType(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, const nsStyleDisplay * 0x0433b784, nsIContent * 0x042d03b0, nsIFrame * 0x04277b90, nsIStyleContext * 0x0433b560, nsFrameItems & {...}) line 4519 + 55 bytes nsCSSFrameConstructor::ConstructFrame(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d03b0, nsIFrame * 0x04277b90, nsFrameItems & {...}) line 4941 + 41 bytes nsCSSFrameConstructor::TableProcessChild(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d03b0, nsIFrame * 0x04277b90, nsIStyleContext * 0x04275780, nsFrameItems & {...}, nsTableCreator & {...}) line 1853 + 28 bytes nsCSSFrameConstructor::TableProcessChildren(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d042c, nsIFrame * 0x04277b90, nsFrameItems & {...}, nsTableCreator & {...}) line 1828 + 46 bytes nsCSSFrameConstructor::ConstructTableRowFrameOnly(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d042c, nsIFrame * 0x04277c10, nsIStyleContext * 0x04275780, int 1, nsIFrame * & 0x04277b90, nsTableCreator & {...}) line 1573 + 34 bytes nsCSSFrameConstructor::ConstructTableRowFrame(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d042c, nsIFrame * 0x04277c10, nsIStyleContext * 0x04275780, nsIFrame * & 0x00000000, nsIFrame * & 0x04277b90, nsTableCreator & {...}, nsTableList * 0x00000000) line 1516 + 45 bytes nsCSSFrameConstructor::ConstructFrameByDisplayType(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, const nsStyleDisplay * 0x042759a4, nsIContent * 0x042d042c, nsIFrame * 0x04277c10, nsIStyleContext * 0x04275780, nsFrameItems & {...}) line 4511 + 48 bytes nsCSSFrameConstructor::ConstructFrame(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d042c, nsIFrame * 0x04277c10, nsFrameItems & {...}) line 4941 + 41 bytes nsCSSFrameConstructor::TableProcessChild(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d042c, nsIFrame * 0x04277c10, nsIStyleContext * 0x04275c70, nsFrameItems & {...}, nsTableCreator & {...}) line 1853 + 28 bytes nsCSSFrameConstructor::TableProcessChildren(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d04ac, nsIFrame * 0x04277c10, nsFrameItems & {...}, nsTableCreator & {...}) line 1828 + 46 bytes nsCSSFrameConstructor::ConstructTableGroupFrameOnly(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d04ac, nsIFrame * 0x04277d50, nsIStyleContext * 0x04275c70, int 1, nsIFrame * & 0x04277c10, nsIFrame * & 0x04277c10, nsTableCreator & {...}, int 1) line 1463 nsCSSFrameConstructor::ConstructTableGroupFrame(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d04ac, nsIFrame * 0x04277d50, nsIStyleContext * 0x04275c70, int 1, nsIFrame * & 0x04277c10, nsIFrame * & 0x04277c10, nsTableCreator & {...}, nsTableList * 0x00000000) line 1357 + 53 bytes nsCSSFrameConstructor::ConstructTableFrame(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d28ac, nsIFrame * 0x04119ad0, nsIStyleContext * 0x04276300, nsIFrame * & 0x04277de0, nsTableCreator & {...}) line 1062 + 56 bytes nsCSSFrameConstructor::ConstructFrameByDisplayType(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, const nsStyleDisplay * 0x04276524, nsIContent * 0x042d28ac, nsIFrame * 0x04119ad0, nsIStyleContext * 0x04276300, nsFrameItems & {...}) line 4475 + 42 bytes nsCSSFrameConstructor::ConstructFrame(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x042d28ac, nsIFrame * 0x04119ad0, nsFrameItems & {...}) line 4941 + 41 bytes nsCSSFrameConstructor::ProcessChildren(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x04211fac, nsIFrame * 0x04119ad0, int 1, nsFrameItems & {...}, int 0) line 7938 + 33 bytes nsCSSFrameConstructor::ConstructFrameByDisplayType(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, const nsStyleDisplay * 0x042782d4, nsIContent * 0x04211fac, nsIFrame * 0x04119fa0, nsIStyleContext * 0x042780b0, nsFrameItems & {...}) line 4412 nsCSSFrameConstructor::ConstructFrame(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x04211fac, nsIFrame * 0x04119fa0, nsFrameItems & {...}) line 4941 + 41 bytes nsCSSFrameConstructor::ProcessBlockChildren(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x041eaa0c, nsIFrame * 0x04119fa0, int 1, nsFrameItems & {...}, int 1) line 9128 + 33 bytes nsCSSFrameConstructor::ConstructBlock(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, const nsStyleDisplay * 0x042017b4, nsIContent * 0x041eaa0c, nsIFrame * 0x04202a60, nsIStyleContext * 0x04201590, nsIFrame * 0x04119fa0) line 9082 + 32 bytes nsCSSFrameConstructor::ConstructFrameByDisplayType(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, const nsStyleDisplay * 0x042017b4, nsIContent * 0x041eaa0c, nsIFrame * 0x04202a60, nsIStyleContext * 0x04201590, nsFrameItems & {...}) line 4434 + 39 bytes nsCSSFrameConstructor::ConstructFrame(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x041eaa0c, nsIFrame * 0x04202a60, nsFrameItems & {...}) line 4941 + 41 bytes nsCSSFrameConstructor::ContentInserted(nsCSSFrameConstructor * const 0x041db2c0, nsIPresContext * 0x041c60b0, nsIContent * 0x041c55fc, nsIContent * 0x041eaa0c, int 2) line 5849 + 37 bytes nsCSSFrameConstructor::ContentReplaced(nsCSSFrameConstructor * const 0x041db2c0, nsIPresContext * 0x041c60b0, nsIContent * 0x041c55fc, nsIContent * 0x041eaa0c, nsIContent * 0x041eaa0c, int 2) line 5966 + 28 bytes nsCSSFrameConstructor::WipeContainingBlock(nsIPresContext * 0x041c60b0, nsFrameConstructorState & {...}, nsIContent * 0x041eaa0c, nsIFrame * 0x042cd850, nsIFrame * 0x0431c6a0) line 9480 nsCSSFrameConstructor::ContentAppended(nsCSSFrameConstructor * const 0x041db2c0, nsIPresContext * 0x041c60b0, nsIContent * 0x04211fac, int 21) line 5400 + 33 bytes StyleSetImpl::ContentAppended(StyleSetImpl * const 0x041db360, nsIPresContext * 0x041c60b0, nsIContent * 0x04211fac, int 21) line 935 PresShell::ContentAppended(PresShell * const 0x041db1b8, nsIDocument * 0x041c6aa0, nsIContent * 0x04211fac, int 21) line 1875 + 46 bytes nsDocument::ContentAppended(nsDocument * const 0x041c6aa0, nsIContent * 0x04211fac, int 21) line 1510 nsHTMLDocument::ContentAppended(nsHTMLDocument * const 0x041c6aa0, nsIContent * 0x04211fac, int 21) line 994 HTMLContentSink::NotifyAppend(nsIContent * 0x04211fac, int 21) line 3474 SinkContext::FlushTags() line 1726 HTMLContentSink::PreEvaluateScript() line 3521 HTMLContentSink::ProcessSCRIPTTag(const nsIParserNode & {...}) line 3791 + 11 bytes HTMLContentSink::AddLeaf(HTMLContentSink * const 0x041c5810, const nsIParserNode & {...}) line 2588 + 12 bytes CNavDTD::AddLeaf(const nsIParserNode & {...}) line 2863 + 22 bytes CNavDTD::HandleScriptToken(nsCParserNode & {...}) line 1682 + 12 bytes CNavDTD::OpenContainer(const nsIParserNode & {...}, int 1) line 2652 + 12 bytes CNavDTD::HandleDefaultStartToken(CToken * 0x020fef40, nsHTMLTag eHTMLTag_script, nsIParserNode & {...}) line 992 + 14 bytes CNavDTD::HandleStartToken(CToken * 0x020fef40) line 1285 + 22 bytes CNavDTD::HandleToken(CNavDTD * const 0x041da150, CToken * 0x02252260, nsIParser * 0x041c5a60) line 654 + 12 bytes CNavDTD::BuildModel(CNavDTD * const 0x041da150, nsIParser * 0x041c5a60, nsITokenizer * 0x041d9b50, nsITokenObserver * 0x00000000, nsIContentSink * 0x041c5810) line 458 + 20 bytes nsParser::BuildModel() line 1048 + 34 bytes nsParser::ResumeParse(nsIDTD * 0x00000000, int 0) line 959 + 11 bytes nsParser::OnDataAvailable(nsParser * const 0x041c5a64, nsIChannel * 0x04188310, nsISupports * 0x00000000, nsIInputStream * 0x041c6538, unsigned int 0, unsigned int 6319) line 1335 + 19 bytes nsDocumentBindInfo::OnDataAvailable(nsDocumentBindInfo * const 0x0417f290, nsIChannel * 0x04188310, nsISupports * 0x00000000, nsIInputStream * 0x041c6538, unsigned int 0, unsigned int 6319) line 1216 + 32 bytes nsChannelListener::OnDataAvailable(nsChannelListener * const 0x041bd470, nsIChannel * 0x04188310, nsISupports * 0x00000000, nsIInputStream * 0x041c6538, unsigned int 0, unsigned int 6319) line 1402 nsHTTPResponseListener::OnDataAvailable(nsHTTPResponseListener * const 0x041c79c0, nsIChannel * 0x041c74f0, nsISupports * 0x04188310, nsIInputStream * 0x041c6538, unsigned int 8017, unsigned int 6319) line 171 + 47 bytes nsOnDataAvailableEvent::HandleEvent(nsOnDataAvailableEvent * const 0x04270ea0) line 413 nsStreamListenerEvent::HandlePLEvent(PLEvent * 0x04270e50) line 169 + 12 bytes PL_HandleEvent(PLEvent * 0x04270e50) line 537 + 10 bytes PL_ProcessPendingEvents(PLEventQueue * 0x010819a0) line 498 + 9 bytes _md_EventReceiverProc(HWND__ * 0x00070c3a, unsigned int 49405, unsigned int 0, long 17308064) line 972 + 9 bytes USER32! 77e71820() 0108
I'm pretty sure there's an existing bug about the asserts, but I don't know which one it is
Assignee | ||
Updated•25 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 2•25 years ago
|
||
I sent the following mail to Troy: ===== The problem seems to be related to ILAYER tags but when looking into it, I noticed two others weird things. Maybe you know the response for these: - We define NS_STYLE_DISPLAY_INLINE_BLOCK in nsStyleConsts.h which corresponds to eCSSKeyword_inline_block in nsCSSProps.cpp but the 'inline-block' display type doesn't appear anywhere in the CSS specs. Do you know why Peter did it? I thought it could be to solve some problems with inline layers. - Inline layers seem to work correctly inside a <DIV> but not inside a <P>. When <ILAYER> is inside <P>, it looks like the <ILAYER> block generates a new paragraph (ie. it is displayed on a new line and with an additional vertical margin). Do you know why is that just off the top of your head? The sample code is: <HTML> <H3>Test</H3> <p> And now I want a <ILAYER TOP=20 LEFT=30> just-a-single-word </ILAYER> that is offset from its natural position. </p> </HTML> The relevant CSS declarations are: p { display: block; margin: 1em 0; } div { display: block; } ilayer { position: relative; display: inline; } ===== I'll attach a simplified version of the page above. The source has 2 ILAYER tags. If you put a <BR> between, the page displays correctly. It seems to show that we have a bug in the relative positioning of <ilayer> elements.
Assignee | ||
Comment 3•25 years ago
|
||
Assignee | ||
Updated•25 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → WONTFIX
Assignee | ||
Comment 4•25 years ago
|
||
What am I doing? It's a <layer> tag problem: just close it as WontFix, geeesh!
Updated•25 years ago
|
Status: RESOLVED → VERIFIED
Comment 5•25 years ago
|
||
Marking as verified won't fix
You need to log in
before you can comment on or make changes to this bug.
Description
•