From fbcc46568230a0f809ff96ae08c470af211f9070 Mon Sep 17 00:00:00 2001 From: "peterl%netscape.com" Date: Thu, 27 Aug 1998 00:48:53 +0000 Subject: [PATCH] made col tag be handled as a leaf git-svn-id: svn://10.0.0.236/trunk@8581 18797224-902f-48f8-a5cc-f745e15eee43 --- .../html/document/src/nsHTMLContentSink.cpp | 22 +++++++++++++++---- .../html/document/src/nsHTMLContentSink.cpp | 22 +++++++++++++++---- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/mozilla/content/html/document/src/nsHTMLContentSink.cpp b/mozilla/content/html/document/src/nsHTMLContentSink.cpp index fce0dcb7df1..0511e10ba03 100644 --- a/mozilla/content/html/document/src/nsHTMLContentSink.cpp +++ b/mozilla/content/html/document/src/nsHTMLContentSink.cpp @@ -183,6 +183,8 @@ protected: const nsIParserNode& aNode); nsresult ProcessSPACERTag(nsIHTMLContent** aInstancePtrResult, const nsIParserNode& aNode); + nsresult ProcessCOLTag(nsIHTMLContent** aInstancePtrResult, + const nsIParserNode& aNode); nsresult ProcessTEXTAREATag(nsIHTMLContent** aInstancePtrResult, const nsIParserNode& aNode); nsresult ProcessWBRTag(nsIHTMLContent** aInstancePtrResult, @@ -769,10 +771,6 @@ HTMLContentSink::OpenContainer(const nsIParserNode& aNode) rv = NS_NewTableColGroupPart(&container, atom); break; - case eHTMLTag_col: - rv = NS_NewTableColPart(&container, atom); - break; - case eHTMLTag_td: case eHTMLTag_th: rv = NS_NewTableCellPart(&container, atom); @@ -1379,6 +1377,9 @@ NS_IMETHODIMP HTMLContentSink::AddLeaf(const nsIParserNode& aNode) FlushText(); rv = ProcessEMBEDTag(&leaf, aNode); break; + case eHTMLTag_col: + rv = ProcessCOLTag(&leaf, aNode); + break; } break; @@ -1817,6 +1818,19 @@ nsresult HTMLContentSink::ProcessSPACERTag(nsIHTMLContent** aInstancePtrResult, return rv; } +nsresult HTMLContentSink::ProcessCOLTag(nsIHTMLContent** aInstancePtrResult, + const nsIParserNode& aNode) +{ + nsAutoString tmp("COL"); + nsIAtom* atom = NS_NewAtom(tmp); + nsresult rv = NS_NewTableColPart(aInstancePtrResult, atom); + if (NS_OK == rv) { + rv = AddAttributes(aNode, *aInstancePtrResult); + } + NS_RELEASE(atom); + return rv; +} + #define SCRIPT_BUF_SIZE 1024 nsresult HTMLContentSink::ProcessSCRIPTTag(const nsIParserNode& aNode) diff --git a/mozilla/layout/html/document/src/nsHTMLContentSink.cpp b/mozilla/layout/html/document/src/nsHTMLContentSink.cpp index fce0dcb7df1..0511e10ba03 100644 --- a/mozilla/layout/html/document/src/nsHTMLContentSink.cpp +++ b/mozilla/layout/html/document/src/nsHTMLContentSink.cpp @@ -183,6 +183,8 @@ protected: const nsIParserNode& aNode); nsresult ProcessSPACERTag(nsIHTMLContent** aInstancePtrResult, const nsIParserNode& aNode); + nsresult ProcessCOLTag(nsIHTMLContent** aInstancePtrResult, + const nsIParserNode& aNode); nsresult ProcessTEXTAREATag(nsIHTMLContent** aInstancePtrResult, const nsIParserNode& aNode); nsresult ProcessWBRTag(nsIHTMLContent** aInstancePtrResult, @@ -769,10 +771,6 @@ HTMLContentSink::OpenContainer(const nsIParserNode& aNode) rv = NS_NewTableColGroupPart(&container, atom); break; - case eHTMLTag_col: - rv = NS_NewTableColPart(&container, atom); - break; - case eHTMLTag_td: case eHTMLTag_th: rv = NS_NewTableCellPart(&container, atom); @@ -1379,6 +1377,9 @@ NS_IMETHODIMP HTMLContentSink::AddLeaf(const nsIParserNode& aNode) FlushText(); rv = ProcessEMBEDTag(&leaf, aNode); break; + case eHTMLTag_col: + rv = ProcessCOLTag(&leaf, aNode); + break; } break; @@ -1817,6 +1818,19 @@ nsresult HTMLContentSink::ProcessSPACERTag(nsIHTMLContent** aInstancePtrResult, return rv; } +nsresult HTMLContentSink::ProcessCOLTag(nsIHTMLContent** aInstancePtrResult, + const nsIParserNode& aNode) +{ + nsAutoString tmp("COL"); + nsIAtom* atom = NS_NewAtom(tmp); + nsresult rv = NS_NewTableColPart(aInstancePtrResult, atom); + if (NS_OK == rv) { + rv = AddAttributes(aNode, *aInstancePtrResult); + } + NS_RELEASE(atom); + return rv; +} + #define SCRIPT_BUF_SIZE 1024 nsresult HTMLContentSink::ProcessSCRIPTTag(const nsIParserNode& aNode)