Fix for 31846 [PDT+]

r=rickg
a=jar,rickg


git-svn-id: svn://10.0.0.236/trunk@63345 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
harishd%netscape.com
2000-03-18 00:49:54 +00:00
parent 2e4a599787
commit 388e7fbe08
2 changed files with 38 additions and 30 deletions

View File

@@ -993,6 +993,9 @@ aContentType,PRBool aVerifyEnabled,PRBool aLastCall,eParseMode aMode){
}
else {
mParserContext->mScanner->Append(aSourceBuffer);
if(!mParserContext->mPrevContext) {
ResumeParse(PR_FALSE);
}
}
}//if
NS_RELEASE(me);
@@ -1152,9 +1155,9 @@ nsresult nsParser::ResumeParse(PRBool allowIteration, PRBool aIsFinalChunk) {
mParserContext->mDTD->WillResumeParse();
PRBool theFirstTime=PR_TRUE;
PRBool theIterationIsOk=(allowIteration || (!mParserContext->mPrevContext));
while((result==NS_OK) && (theFirstTime || theIterationIsOk)) {
PRBool theIterationIsOk=(theFirstTime || allowIteration||(!mParserContext->mPrevContext));
while((result==NS_OK) && (theIterationIsOk)) {
theFirstTime=PR_FALSE;
if(mUnusedInput.Length()>0) {
if(mParserContext->mScanner) {
@@ -1196,26 +1199,27 @@ nsresult nsParser::ResumeParse(PRBool allowIteration, PRBool aIsFinalChunk) {
PRBool theContextIsStringBased=PRBool(CParserContext::eCTString==mParserContext->mContextType);
if( (eOnStop==mParserContext->mStreamListenerState) ||
(!mParserContext->mMultipart) ||
(theContextIsStringBased)) {
(!mParserContext->mMultipart) || theContextIsStringBased) {
if(!mParserContext->mPrevContext) {
if(eOnStop==mParserContext->mStreamListenerState) {
DidBuildModel(mStreamStatus);
DidBuildModel(mStreamStatus);
MOZ_TIMER_DEBUGLOG(("Stop: Parse Time: nsParser::ResumeParse(), this=%p\n", this));
MOZ_TIMER_STOP(mParseTime);
MOZ_TIMER_DEBUGLOG(("Stop: Parse Time: nsParser::ResumeParse(), this=%p\n", this));
MOZ_TIMER_STOP(mParseTime);
MOZ_TIMER_LOG(("Parse Time (this=%p): ", this));
MOZ_TIMER_PRINT(mParseTime);
MOZ_TIMER_LOG(("Parse Time (this=%p): ", this));
MOZ_TIMER_PRINT(mParseTime);
MOZ_TIMER_LOG(("DTD Time: "));
MOZ_TIMER_PRINT(mDTDTime);
MOZ_TIMER_LOG(("DTD Time: "));
MOZ_TIMER_PRINT(mDTDTime);
MOZ_TIMER_LOG(("Tokenize Time: "));
MOZ_TIMER_PRINT(mTokenizeTime);
MOZ_TIMER_LOG(("Tokenize Time: "));
MOZ_TIMER_PRINT(mTokenizeTime);
return result;
return result;
}
}
else {