From 0667f6d4e30b5d822b892fb4cb3eccbcd8dfad3f Mon Sep 17 00:00:00 2001 From: "kipp%netscape.com" Date: Tue, 21 Jul 1998 16:43:25 +0000 Subject: [PATCH] Repaired script tag handling so that attributes make it through git-svn-id: svn://10.0.0.236/trunk@6067 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/htmlparser/src/CNavDTD.cpp | 20 ++++++++++---------- mozilla/htmlparser/src/CNavDTD.h | 3 ++- mozilla/htmlparser/src/COtherDTD.cpp | 4 ++-- mozilla/htmlparser/src/COtherDTD.h | 2 +- mozilla/parser/htmlparser/src/CNavDTD.cpp | 20 ++++++++++---------- mozilla/parser/htmlparser/src/CNavDTD.h | 3 ++- mozilla/parser/htmlparser/src/COtherDTD.cpp | 4 ++-- mozilla/parser/htmlparser/src/COtherDTD.h | 2 +- 8 files changed, 30 insertions(+), 28 deletions(-) diff --git a/mozilla/htmlparser/src/CNavDTD.cpp b/mozilla/htmlparser/src/CNavDTD.cpp index 863f001dd76..55950bcc374 100644 --- a/mozilla/htmlparser/src/CNavDTD.cpp +++ b/mozilla/htmlparser/src/CNavDTD.cpp @@ -627,7 +627,7 @@ nsresult CNavDTD::HandleStartToken(CToken* aToken) { break; case eHTMLTag_script: - result=HandleScriptToken(st); break; + result=HandleScriptToken(st, attrNode); break; case eHTMLTag_head: break; //ignore head tags... @@ -821,32 +821,32 @@ nsresult CNavDTD::HandleAttributeToken(CToken* aToken) { * @param aToken -- next (start) token to be handled * @return PR_TRUE if all went well; PR_FALSE if error occured */ -nsresult CNavDTD::HandleScriptToken(CToken* aToken) { +nsresult CNavDTD::HandleScriptToken(CToken* aToken, nsCParserNode& aNode) { NS_PRECONDITION(0!=aToken,kNullToken); nsresult result=NS_OK; PRInt32 pos=GetTopmostIndexOf(eHTMLTag_body); - nsCParserNode theNode((CHTMLToken*)aToken); - nsCParserNode attrNode((CHTMLToken*)aToken); +// nsCParserNode theNode((CHTMLToken*)aToken); +// nsCParserNode attrNode((CHTMLToken*)aToken); PRInt32 attrCount=aToken->GetAttributeCount(); if (kNotFound == pos) { // We're in the HEAD - result=OpenHead(theNode); + result=OpenHead(aNode); if(NS_OK==result) { - mParser->CollectSkippedContent(attrNode,attrCount); + mParser->CollectSkippedContent(aNode,attrCount); if(NS_OK==result) { - result=AddLeaf(attrNode); + result=AddLeaf(aNode); if(NS_OK==result) - result=CloseHead(theNode); + result=CloseHead(aNode); } } } else { // We're in the BODY - mParser->CollectSkippedContent(attrNode,attrCount); + mParser->CollectSkippedContent(aNode,attrCount); if(NS_OK==result) { - result=AddLeaf(attrNode); + result=AddLeaf(aNode); } } diff --git a/mozilla/htmlparser/src/CNavDTD.h b/mozilla/htmlparser/src/CNavDTD.h index 5efe483b0f4..103bf1033e5 100644 --- a/mozilla/htmlparser/src/CNavDTD.h +++ b/mozilla/htmlparser/src/CNavDTD.h @@ -42,6 +42,7 @@ class nsIHTMLContentSink; class nsIDTDDebug; class nsIParserNode; +class nsCParserNode; class CITokenHandler; class nsParser; @@ -359,7 +360,7 @@ CLASS_EXPORT_HTMLPARS CNavDTD : public nsIDTD { nsresult HandleCommentToken(CToken* aToken); nsresult HandleSkippedContentToken(CToken* aToken); nsresult HandleAttributeToken(CToken* aToken); - nsresult HandleScriptToken(CToken* aToken); + nsresult HandleScriptToken(CToken* aToken, nsCParserNode& aNode); nsresult HandleStyleToken(CToken* aToken); diff --git a/mozilla/htmlparser/src/COtherDTD.cpp b/mozilla/htmlparser/src/COtherDTD.cpp index 7521395dd47..862933dd973 100644 --- a/mozilla/htmlparser/src/COtherDTD.cpp +++ b/mozilla/htmlparser/src/COtherDTD.cpp @@ -325,8 +325,8 @@ nsresult COtherDTD::HandleAttributeToken(CToken* aToken) { * @param aToken -- next (start) token to be handled * @return PR_TRUE if all went well; PR_FALSE if error occured */ -nsresult COtherDTD::HandleScriptToken(CToken* aToken) { - return CNavDTD::HandleScriptToken(aToken); +nsresult COtherDTD::HandleScriptToken(CToken* aToken, nsCParserNode& aNode) { + return CNavDTD::HandleScriptToken(aToken, aNode); } /** diff --git a/mozilla/htmlparser/src/COtherDTD.h b/mozilla/htmlparser/src/COtherDTD.h index 15c57706a71..10be7a27ab1 100644 --- a/mozilla/htmlparser/src/COtherDTD.h +++ b/mozilla/htmlparser/src/COtherDTD.h @@ -292,7 +292,7 @@ class COtherDTD : public CNavDTD { * @param aToken is the script token to be handled * @return TRUE if the token was handled. */ - nsresult HandleScriptToken(CToken* aToken); + nsresult HandleScriptToken(CToken* aToken, nsCParserNode& aNode); /** * This method gets called when a style token has been consumed and needs diff --git a/mozilla/parser/htmlparser/src/CNavDTD.cpp b/mozilla/parser/htmlparser/src/CNavDTD.cpp index 863f001dd76..55950bcc374 100644 --- a/mozilla/parser/htmlparser/src/CNavDTD.cpp +++ b/mozilla/parser/htmlparser/src/CNavDTD.cpp @@ -627,7 +627,7 @@ nsresult CNavDTD::HandleStartToken(CToken* aToken) { break; case eHTMLTag_script: - result=HandleScriptToken(st); break; + result=HandleScriptToken(st, attrNode); break; case eHTMLTag_head: break; //ignore head tags... @@ -821,32 +821,32 @@ nsresult CNavDTD::HandleAttributeToken(CToken* aToken) { * @param aToken -- next (start) token to be handled * @return PR_TRUE if all went well; PR_FALSE if error occured */ -nsresult CNavDTD::HandleScriptToken(CToken* aToken) { +nsresult CNavDTD::HandleScriptToken(CToken* aToken, nsCParserNode& aNode) { NS_PRECONDITION(0!=aToken,kNullToken); nsresult result=NS_OK; PRInt32 pos=GetTopmostIndexOf(eHTMLTag_body); - nsCParserNode theNode((CHTMLToken*)aToken); - nsCParserNode attrNode((CHTMLToken*)aToken); +// nsCParserNode theNode((CHTMLToken*)aToken); +// nsCParserNode attrNode((CHTMLToken*)aToken); PRInt32 attrCount=aToken->GetAttributeCount(); if (kNotFound == pos) { // We're in the HEAD - result=OpenHead(theNode); + result=OpenHead(aNode); if(NS_OK==result) { - mParser->CollectSkippedContent(attrNode,attrCount); + mParser->CollectSkippedContent(aNode,attrCount); if(NS_OK==result) { - result=AddLeaf(attrNode); + result=AddLeaf(aNode); if(NS_OK==result) - result=CloseHead(theNode); + result=CloseHead(aNode); } } } else { // We're in the BODY - mParser->CollectSkippedContent(attrNode,attrCount); + mParser->CollectSkippedContent(aNode,attrCount); if(NS_OK==result) { - result=AddLeaf(attrNode); + result=AddLeaf(aNode); } } diff --git a/mozilla/parser/htmlparser/src/CNavDTD.h b/mozilla/parser/htmlparser/src/CNavDTD.h index 5efe483b0f4..103bf1033e5 100644 --- a/mozilla/parser/htmlparser/src/CNavDTD.h +++ b/mozilla/parser/htmlparser/src/CNavDTD.h @@ -42,6 +42,7 @@ class nsIHTMLContentSink; class nsIDTDDebug; class nsIParserNode; +class nsCParserNode; class CITokenHandler; class nsParser; @@ -359,7 +360,7 @@ CLASS_EXPORT_HTMLPARS CNavDTD : public nsIDTD { nsresult HandleCommentToken(CToken* aToken); nsresult HandleSkippedContentToken(CToken* aToken); nsresult HandleAttributeToken(CToken* aToken); - nsresult HandleScriptToken(CToken* aToken); + nsresult HandleScriptToken(CToken* aToken, nsCParserNode& aNode); nsresult HandleStyleToken(CToken* aToken); diff --git a/mozilla/parser/htmlparser/src/COtherDTD.cpp b/mozilla/parser/htmlparser/src/COtherDTD.cpp index 7521395dd47..862933dd973 100644 --- a/mozilla/parser/htmlparser/src/COtherDTD.cpp +++ b/mozilla/parser/htmlparser/src/COtherDTD.cpp @@ -325,8 +325,8 @@ nsresult COtherDTD::HandleAttributeToken(CToken* aToken) { * @param aToken -- next (start) token to be handled * @return PR_TRUE if all went well; PR_FALSE if error occured */ -nsresult COtherDTD::HandleScriptToken(CToken* aToken) { - return CNavDTD::HandleScriptToken(aToken); +nsresult COtherDTD::HandleScriptToken(CToken* aToken, nsCParserNode& aNode) { + return CNavDTD::HandleScriptToken(aToken, aNode); } /** diff --git a/mozilla/parser/htmlparser/src/COtherDTD.h b/mozilla/parser/htmlparser/src/COtherDTD.h index 15c57706a71..10be7a27ab1 100644 --- a/mozilla/parser/htmlparser/src/COtherDTD.h +++ b/mozilla/parser/htmlparser/src/COtherDTD.h @@ -292,7 +292,7 @@ class COtherDTD : public CNavDTD { * @param aToken is the script token to be handled * @return TRUE if the token was handled. */ - nsresult HandleScriptToken(CToken* aToken); + nsresult HandleScriptToken(CToken* aToken, nsCParserNode& aNode); /** * This method gets called when a style token has been consumed and needs