From 0389aba1facbcaffb1bcd1b1f1899be84d158b3d Mon Sep 17 00:00:00 2001 From: "harishd%netscape.com" Date: Mon, 15 May 2000 21:08:57 +0000 Subject: [PATCH] Fix for 38601 - Calling DidBuildModel(), through nsParser::Terminate(), for documents stopped abruptly ( stopped before a complete load ). Fixed a few warnings. r=nisheeth git-svn-id: svn://10.0.0.236/trunk@69863 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/htmlparser/src/CNavDTD.cpp | 4 ---- mozilla/htmlparser/src/nsDTDUtils.cpp | 4 ++-- mozilla/htmlparser/src/nsParser.cpp | 8 ++++++-- mozilla/htmlparser/src/nsParser.h | 2 +- mozilla/parser/htmlparser/src/CNavDTD.cpp | 4 ---- mozilla/parser/htmlparser/src/nsDTDUtils.cpp | 4 ++-- mozilla/parser/htmlparser/src/nsParser.cpp | 8 ++++++-- mozilla/parser/htmlparser/src/nsParser.h | 2 +- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/mozilla/htmlparser/src/CNavDTD.cpp b/mozilla/htmlparser/src/CNavDTD.cpp index 32c66e16261..7a9ada1608f 100644 --- a/mozilla/htmlparser/src/CNavDTD.cpp +++ b/mozilla/htmlparser/src/CNavDTD.cpp @@ -1105,11 +1105,7 @@ nsresult CNavDTD::WillHandleStartTag(CToken* aToken,eHTMLTags aTag,nsCParserNode CObserverService* theService=mParser->GetObserverService(); if(theService) { - CParserContext* pc=mParser->PeekContext(); - void* theDocID=(pc)? pc->mKey:0; - const nsISupportsParserBundle* bundle=mParser->GetParserBundle(); - result=theService->Notify(aTag,aNode,(void*)bundle, NS_ConvertToString(kHTMLTextContentType), mParser); } } diff --git a/mozilla/htmlparser/src/nsDTDUtils.cpp b/mozilla/htmlparser/src/nsDTDUtils.cpp index 790b78f6116..40b196980d3 100644 --- a/mozilla/htmlparser/src/nsDTDUtils.cpp +++ b/mozilla/htmlparser/src/nsDTDUtils.cpp @@ -856,7 +856,7 @@ CToken* CTokenRecycler::CreateTokenOfType(eHTMLTokenTypes aType,eHTMLTags aTag) CNodeRecycler::CNodeRecycler(): mSharedNodes(0) { - MOZ_COUNT_CTOR(CTokenRecycler); + MOZ_COUNT_CTOR(CNodeRecycler); #ifdef NS_DEBUG gNodeCount=0; @@ -865,7 +865,7 @@ CNodeRecycler::CNodeRecycler(): mSharedNodes(0) { CNodeRecycler::~CNodeRecycler() { - MOZ_COUNT_DTOR(CTokenRecycler); + MOZ_COUNT_DTOR(CNodeRecycler); nsCParserNode* theNode=0; diff --git a/mozilla/htmlparser/src/nsParser.cpp b/mozilla/htmlparser/src/nsParser.cpp index 59828078936..11e728aae2d 100644 --- a/mozilla/htmlparser/src/nsParser.cpp +++ b/mozilla/htmlparser/src/nsParser.cpp @@ -1049,9 +1049,13 @@ void nsParser::SetUnusedInput(nsString& aBuffer) { */ nsresult nsParser::Terminate(void){ nsresult result=NS_OK; - if(mParserContext && mParserContext->mDTD) + if(mParserContext && mParserContext->mDTD) { result=mParserContext->mDTD->Terminate(); - mInternalState=result; + if(result==NS_ERROR_HTMLPARSER_STOPPARSING) { + mInternalState=result; + result=DidBuildModel(result); + } + } return result; } diff --git a/mozilla/htmlparser/src/nsParser.h b/mozilla/htmlparser/src/nsParser.h index 9135537635c..0d4db268fda 100644 --- a/mozilla/htmlparser/src/nsParser.h +++ b/mozilla/htmlparser/src/nsParser.h @@ -428,7 +428,7 @@ public: NS_DECL_ISUPPORTS nsParserBundle (); - ~nsParserBundle (); + virtual ~nsParserBundle (); /** * Retrieve data from the bundle by IID. diff --git a/mozilla/parser/htmlparser/src/CNavDTD.cpp b/mozilla/parser/htmlparser/src/CNavDTD.cpp index 32c66e16261..7a9ada1608f 100644 --- a/mozilla/parser/htmlparser/src/CNavDTD.cpp +++ b/mozilla/parser/htmlparser/src/CNavDTD.cpp @@ -1105,11 +1105,7 @@ nsresult CNavDTD::WillHandleStartTag(CToken* aToken,eHTMLTags aTag,nsCParserNode CObserverService* theService=mParser->GetObserverService(); if(theService) { - CParserContext* pc=mParser->PeekContext(); - void* theDocID=(pc)? pc->mKey:0; - const nsISupportsParserBundle* bundle=mParser->GetParserBundle(); - result=theService->Notify(aTag,aNode,(void*)bundle, NS_ConvertToString(kHTMLTextContentType), mParser); } } diff --git a/mozilla/parser/htmlparser/src/nsDTDUtils.cpp b/mozilla/parser/htmlparser/src/nsDTDUtils.cpp index 790b78f6116..40b196980d3 100644 --- a/mozilla/parser/htmlparser/src/nsDTDUtils.cpp +++ b/mozilla/parser/htmlparser/src/nsDTDUtils.cpp @@ -856,7 +856,7 @@ CToken* CTokenRecycler::CreateTokenOfType(eHTMLTokenTypes aType,eHTMLTags aTag) CNodeRecycler::CNodeRecycler(): mSharedNodes(0) { - MOZ_COUNT_CTOR(CTokenRecycler); + MOZ_COUNT_CTOR(CNodeRecycler); #ifdef NS_DEBUG gNodeCount=0; @@ -865,7 +865,7 @@ CNodeRecycler::CNodeRecycler(): mSharedNodes(0) { CNodeRecycler::~CNodeRecycler() { - MOZ_COUNT_DTOR(CTokenRecycler); + MOZ_COUNT_DTOR(CNodeRecycler); nsCParserNode* theNode=0; diff --git a/mozilla/parser/htmlparser/src/nsParser.cpp b/mozilla/parser/htmlparser/src/nsParser.cpp index 59828078936..11e728aae2d 100644 --- a/mozilla/parser/htmlparser/src/nsParser.cpp +++ b/mozilla/parser/htmlparser/src/nsParser.cpp @@ -1049,9 +1049,13 @@ void nsParser::SetUnusedInput(nsString& aBuffer) { */ nsresult nsParser::Terminate(void){ nsresult result=NS_OK; - if(mParserContext && mParserContext->mDTD) + if(mParserContext && mParserContext->mDTD) { result=mParserContext->mDTD->Terminate(); - mInternalState=result; + if(result==NS_ERROR_HTMLPARSER_STOPPARSING) { + mInternalState=result; + result=DidBuildModel(result); + } + } return result; } diff --git a/mozilla/parser/htmlparser/src/nsParser.h b/mozilla/parser/htmlparser/src/nsParser.h index 9135537635c..0d4db268fda 100644 --- a/mozilla/parser/htmlparser/src/nsParser.h +++ b/mozilla/parser/htmlparser/src/nsParser.h @@ -428,7 +428,7 @@ public: NS_DECL_ISUPPORTS nsParserBundle (); - ~nsParserBundle (); + virtual ~nsParserBundle (); /** * Retrieve data from the bundle by IID.