new contentsink api's for kipp

git-svn-id: svn://10.0.0.236/trunk@1243 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
rickg
1998-05-07 21:11:07 +00:00
parent 4a9b848ec2
commit 73cdf7b056
18 changed files with 478 additions and 98 deletions

View File

@@ -516,15 +516,19 @@ PRBool nsHTMLParser::Parse(nsIURL* aURL,eParseMode aMode){
mDTD->SetParser(this);
mTokenizer=new CTokenizer(aURL, theDelegate, mParseMode);
mSink->WillBuildModel();
#ifdef __INCREMENTAL
int iter=-1;
for(;;){
mSink->WillResume();
mTokenizer->TokenizeAvailable(++iter);
mSink->WillInterrupt();
}
#else
mTokenizer->Tokenize();
#endif
result=IterateTokens();
mSink->DidBuildModel();
}
return result;
}
@@ -541,6 +545,11 @@ PRBool nsHTMLParser::Parse(nsIURL* aURL,eParseMode aMode){
* @return PR_TRUE if parsing concluded successfully.
*/
PRBool nsHTMLParser::ResumeParse() {
mSink->WillResume();
int iter=0;
PRInt32 errcode=mTokenizer->TokenizeAvailable(iter);
if(kInterrupted==errcode)
mSink->WillInterrupt();
PRBool result=IterateTokens();
return result;
}