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
This commit is contained in:
kipp%netscape.com
1998-07-21 16:43:25 +00:00
parent 3021463397
commit 0667f6d4e3
8 changed files with 30 additions and 28 deletions

View File

@@ -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);
}
}