Make SetInnerHTML use the right parser mode (ie strict for strict

documents instead of always quirks).  Bug 106565, r=harishd, sr=jst


git-svn-id: svn://10.0.0.236/trunk@108271 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bzbarsky%mit.edu
2001-11-16 04:48:30 +00:00
parent f0f1ff9e1f
commit c59df8124b
3 changed files with 25 additions and 5 deletions

View File

@@ -1358,7 +1358,10 @@ nsresult nsParser::WillBuildModel(nsString& aFilename){
// XXXVidur Make a copy and only check in the first 1k
mParserContext->mScanner->Peek(theBuffer, 1024);
DetermineParseMode(theBuffer,mParserContext->mDTDMode,mParserContext->mDocType,mParserContext->mMimeType);
if (eDTDMode_unknown == mParserContext->mDTDMode ||
eDTDMode_autodetect == mParserContext->mDTDMode) {
DetermineParseMode(theBuffer,mParserContext->mDTDMode,mParserContext->mDocType,mParserContext->mMimeType);
}
if(PR_TRUE==FindSuitableDTD(*mParserContext,theBuffer)) {
mParserContext->mDTD->WillBuildModel( *mParserContext,mSink);
@@ -1597,6 +1600,7 @@ nsresult nsParser::Parse(nsIURI* aURL,nsIRequestObserver* aListener,PRBool aVeri
if(pc && theScanner) {
pc->mMultipart=PR_TRUE;
pc->mContextType=CParserContext::eCTURL;
pc->mDTDMode=aMode;
PushContext(*pc);
result=NS_OK;
}
@@ -1632,6 +1636,7 @@ nsresult nsParser::Parse(nsIInputStream& aStream,const nsAReadableString& aMimeT
pc->mStreamListenerState=eOnStart;
pc->mMultipart=PR_FALSE;
pc->mContextType=CParserContext::eCTStream;
pc->mDTDMode=aMode;
mParserContext->mScanner->Eof();
result=ResumeParse();
pc=PopContext();
@@ -1721,6 +1726,7 @@ nsresult nsParser::Parse(const nsAReadableString& aSourceBuffer, void* aKey,
pc->mContextType=CParserContext::eCTString;
pc->SetMimeType(aMimeType);
pc->mDTDMode=aMode;
mUnusedInput.Truncate(0);
//printf("Parse(string) iterate: %i",PR_FALSE);
@@ -1779,7 +1785,7 @@ nsresult nsParser::ParseFragment(const nsAReadableString& aSourceBuffer,
//now it's time to try to build the model from this fragment
mObserversEnabled = PR_FALSE; //disable observers for fragments
result = Parse(theContext + aSourceBuffer,(void*)&theContext,aMimeType,PR_FALSE,PR_TRUE);
result = Parse(theContext + aSourceBuffer,(void*)&theContext,aMimeType,PR_FALSE,PR_TRUE, aMode);
mObserversEnabled = PR_TRUE; //now reenable.
return result;