diff --git a/mozilla/htmlparser/src/nsParser.cpp b/mozilla/htmlparser/src/nsParser.cpp
index 81ab783f8a1..9c20c4ddc6a 100644
--- a/mozilla/htmlparser/src/nsParser.cpp
+++ b/mozilla/htmlparser/src/nsParser.cpp
@@ -637,18 +637,20 @@ PRInt32 nsParser::Parse(nsString& aSourceBuffer,PRBool anHTMLString,PRBool aVeri
PRInt32 result=kNoError;
mDTDVerification=aVerifyEnabled;
- CParserContext* pc=new CParserContext(new CScanner(aSourceBuffer),&aSourceBuffer,0);
+ if(0mSourceType="text/html";
- if(eValidDetect==AutoDetectContentType(aSourceBuffer,mParserContext->mSourceType)) {
- WillBuildModel(mParserContext->mScanner->GetFilename());
- result=ResumeParse();
- DidBuildModel(result);
+ PushContext(*pc);
+ if(PR_TRUE==anHTMLString)
+ pc->mSourceType="text/html";
+ if(eValidDetect==AutoDetectContentType(aSourceBuffer,mParserContext->mSourceType)) {
+ WillBuildModel(mParserContext->mScanner->GetFilename());
+ result=ResumeParse();
+ DidBuildModel(result);
+ }
+ pc=PopContext();
+ delete pc;
}
- pc=PopContext();
- delete pc;
return result;
}
diff --git a/mozilla/parser/htmlparser/src/nsParser.cpp b/mozilla/parser/htmlparser/src/nsParser.cpp
index 81ab783f8a1..9c20c4ddc6a 100644
--- a/mozilla/parser/htmlparser/src/nsParser.cpp
+++ b/mozilla/parser/htmlparser/src/nsParser.cpp
@@ -637,18 +637,20 @@ PRInt32 nsParser::Parse(nsString& aSourceBuffer,PRBool anHTMLString,PRBool aVeri
PRInt32 result=kNoError;
mDTDVerification=aVerifyEnabled;
- CParserContext* pc=new CParserContext(new CScanner(aSourceBuffer),&aSourceBuffer,0);
+ if(0mSourceType="text/html";
- if(eValidDetect==AutoDetectContentType(aSourceBuffer,mParserContext->mSourceType)) {
- WillBuildModel(mParserContext->mScanner->GetFilename());
- result=ResumeParse();
- DidBuildModel(result);
+ PushContext(*pc);
+ if(PR_TRUE==anHTMLString)
+ pc->mSourceType="text/html";
+ if(eValidDetect==AutoDetectContentType(aSourceBuffer,mParserContext->mSourceType)) {
+ WillBuildModel(mParserContext->mScanner->GetFilename());
+ result=ResumeParse();
+ DidBuildModel(result);
+ }
+ pc=PopContext();
+ delete pc;
}
- pc=PopContext();
- delete pc;
return result;
}