diff --git a/mozilla/htmlparser/robot/nsDebugRobot.cpp b/mozilla/htmlparser/robot/nsDebugRobot.cpp
index 1ec79852215..94d622cb810 100644
--- a/mozilla/htmlparser/robot/nsDebugRobot.cpp
+++ b/mozilla/htmlparser/robot/nsDebugRobot.cpp
@@ -79,15 +79,15 @@ NS_IMETHODIMP RobotSinkObserver::ProcessLink(const nsString& aURLSpec)
// Geez this is ugly. temporary hack to only process html files
str.Truncate();
nsString(aURLSpec).Right(str,1);
- if (!str.Equals("/"))
+ if (!str.EqualsWithConversion("/"))
{
str.Truncate();
nsString(aURLSpec).Right(str,4);
- if (!str.Equals("html"))
+ if (!str.EqualsWithConversion("html"))
{
str.Truncate();
nsString(aURLSpec).Right(str,3);
- if (!str.Equals("htm"))
+ if (!str.EqualsWithConversion("htm"))
return NS_OK;
}
}
@@ -108,7 +108,7 @@ NS_IMETHODIMP RobotSinkObserver::ProcessLink(const nsString& aURLSpec)
g_duplicateList->AppendElement(new nsString(aURLSpec));
str.Truncate();
nsString(aURLSpec).Left(str,5);
- if (str.Equals("http:")) {
+ if (str.EqualsWithConversion("http:")) {
g_iProcessed++;
if (g_iProcessed == (g_iMaxProcess > 0 ? g_iMaxProcess-1 : 0))
g_bHitTop = PR_TRUE;
@@ -328,7 +328,7 @@ extern "C" NS_EXPORT int DebugRobot(
}
char* spec;
(void)url->GetSpec(&spec);
- nsAutoString theSpec(spec);
+ nsAutoString theSpec; theSpec.AssignWithConversion(spec);
nsCRT::free(spec);
nsCOMPtr webNav(do_QueryInterface(docShell));
webNav->LoadURI(theSpec.GetUnicode());/* XXX hook up stream listener here! */
diff --git a/mozilla/htmlparser/robot/nsRobotSink.cpp b/mozilla/htmlparser/robot/nsRobotSink.cpp
index b717f6fed4a..777609affe4 100644
--- a/mozilla/htmlparser/robot/nsRobotSink.cpp
+++ b/mozilla/htmlparser/robot/nsRobotSink.cpp
@@ -219,7 +219,7 @@ NS_IMETHODIMP RobotSink::OpenContainer(const nsIParserNode& aNode)
{
nsAutoString tmp(aNode.GetText());
tmp.ToLowerCase();
- if (tmp.Equals("a")) {
+ if (tmp.EqualsWithConversion("a")) {
nsAutoString k, v;
PRInt32 ac = aNode.GetAttributeCount();
for (PRInt32 i = 0; i < ac; i++) {
@@ -228,7 +228,7 @@ NS_IMETHODIMP RobotSink::OpenContainer(const nsIParserNode& aNode)
k.Truncate();
k.Append(key);
k.ToLowerCase();
- if (k.Equals("href")) {
+ if (k.EqualsWithConversion("href")) {
// Get value and remove mandatory quotes
v.Truncate();
v.Append(aNode.GetValueAt(i));
@@ -363,7 +363,7 @@ void RobotSink::ProcessLink(const nsString& aLink)
absURLSpec.Truncate();
char* str;
absurl->GetSpec(&str);
- absURLSpec = str;
+ absURLSpec.AssignWithConversion(str);
nsCRT::free(str);
}
}
diff --git a/mozilla/htmlparser/src/CNavDTD.cpp b/mozilla/htmlparser/src/CNavDTD.cpp
index b2e2a5191f3..88dc292738d 100644
--- a/mozilla/htmlparser/src/CNavDTD.cpp
+++ b/mozilla/htmlparser/src/CNavDTD.cpp
@@ -134,9 +134,7 @@ NS_IMPL_RELEASE(CNavDTD)
CNavDTD::CNavDTD() : nsIDTD(),
mMisplacedContent(0),
mSkippedContent(0),
- mSharedNodes(0),
- mScratch(""),
- mMimeType("") {
+ mSharedNodes(0) {
NS_INIT_REFCNT();
mSink = 0;
mParser=0;
@@ -373,18 +371,18 @@ eAutoDetectResult CNavDTD::CanParse(CParserContext& aParserContext,nsString& aBu
if(eViewSource==aParserContext.mParserCommand) {
- if(PR_TRUE==aParserContext.mMimeType.Equals(kPlainTextContentType)) {
+ if(PR_TRUE==aParserContext.mMimeType.EqualsWithConversion(kPlainTextContentType)) {
result=ePrimaryDetect;
}
- else if(aParserContext.mMimeType.Equals(kRTFTextContentType)){
+ else if(aParserContext.mMimeType.EqualsWithConversion(kRTFTextContentType)){
result=ePrimaryDetect;
}
}
else {
- if(PR_TRUE==aParserContext.mMimeType.Equals(kHTMLTextContentType)) {
+ if(PR_TRUE==aParserContext.mMimeType.EqualsWithConversion(kHTMLTextContentType)) {
result=ePrimaryDetect;
}
- else if(PR_TRUE==aParserContext.mMimeType.Equals(kPlainTextContentType)) {
+ else if(PR_TRUE==aParserContext.mMimeType.EqualsWithConversion(kPlainTextContentType)) {
result=ePrimaryDetect;
}
else {
@@ -393,7 +391,7 @@ eAutoDetectResult CNavDTD::CanParse(CParserContext& aParserContext,nsString& aBu
if(BufferContainsHTML(aBuffer,theBufHasXML)){
result = eValidDetect ;
if(0==aParserContext.mMimeType.Length()) {
- aParserContext.SetMimeType(kHTMLTextContentType);
+ aParserContext.SetMimeType(NS_ConvertToString(kHTMLTextContentType));
result = (theBufHasXML) ? eValidDetect : ePrimaryDetect;
}
}
@@ -482,7 +480,7 @@ nsresult CNavDTD::BuildModel(nsIParser* aParser,nsITokenizer* aTokenizer,nsIToke
if(!mBodyContext->GetCount()) {
//if the content model is empty, then begin by opening ...
- CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_html,"html");
+ CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_html,NS_ConvertToString("html"));
HandleStartToken(theToken); //this token should get pushed on the context stack, don't recycle it.
if(ePlainText==mDocType) {
@@ -540,7 +538,7 @@ nsresult CNavDTD::DidBuildModel(nsresult anErrorCode,PRBool aNotifySink,nsIParse
mSkipTarget=eHTMLTag_unknown; //clear this in case we were searching earlier.
- CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_body,"body");
+ CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_body,NS_ConvertToString("body"));
mTokenizer->PushTokenFront(theToken); //this token should get pushed on the context stack, don't recycle it
result=BuildModel(aParser,mTokenizer,0,aSink);
}
@@ -726,7 +724,7 @@ nsresult CNavDTD::HandleToken(CToken* aToken,nsIParser* aParser){
mMisplacedContent.Push(aToken);
aToken->mUseCount++;
if(mParseMode==eParseMode_quirks && (gHTMLElements[theTag].HasSpecialProperty(kRequiresBody))) {
- CToken* theBodyToken=(CToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_body,"body");
+ CToken* theBodyToken=(CToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_body,NS_ConvertToString("body"));
result=HandleToken(theBodyToken,aParser);
}
return result;
@@ -1131,7 +1129,7 @@ nsresult CNavDTD::WillHandleStartTag(CToken* aToken,eHTMLTags aTag,nsCParserNode
CParserContext* pc=mParser->PeekContext();
void* theDocID=(pc)? pc->mKey:0;
- result=theService->Notify(aTag,aNode,(PRUint32)theDocID,kHTMLTextContentType,mParser);
+ result=theService->Notify(aTag,aNode,(PRUint32)theDocID, NS_ConvertToString(kHTMLTextContentType), mParser);
}
}
@@ -2129,7 +2127,7 @@ NS_IMETHODIMP CNavDTD::StringTagToIntTag(nsString &aTag, PRInt32* aIntTag) const
}
NS_IMETHODIMP CNavDTD::IntTagToStringTag(PRInt32 aIntTag, nsString& aTag) const {
- aTag = nsHTMLTags::GetStringValue((nsHTMLTag)aIntTag);
+ aTag.AssignWithConversion(nsHTMLTags::GetStringValue((nsHTMLTag)aIntTag));
return NS_OK;
}
diff --git a/mozilla/htmlparser/src/COtherDTD.cpp b/mozilla/htmlparser/src/COtherDTD.cpp
index fb1c1e14876..b6c4b8f2fa5 100644
--- a/mozilla/htmlparser/src/COtherDTD.cpp
+++ b/mozilla/htmlparser/src/COtherDTD.cpp
@@ -107,7 +107,7 @@ class CTagFinder: public nsDequeFunctor{
public:
CTagFinder(){}
- void Initialize(const nsString &aTagName) {mTagName = aTagName;}
+ void Initialize(const nsString &aTagName) {mTagName.Assign(aTagName);}
virtual ~CTagFinder() {
}
@@ -220,7 +220,7 @@ NS_IMPL_RELEASE(COtherDTD)
* @param
* @return
*/
-COtherDTD::COtherDTD() : nsIDTD(), mMisplacedContent(0), mSkippedContent(0), mSharedNodes(0), mScratch("") {
+COtherDTD::COtherDTD() : nsIDTD(), mMisplacedContent(0), mSkippedContent(0), mSharedNodes(0) {
NS_INIT_REFCNT();
mSink = 0;
mParser=0;
@@ -471,7 +471,7 @@ eAutoDetectResult COtherDTD::CanParse(CParserContext& aParserContext,nsString& a
if(eViewSource!=aParserContext.mParserCommand) {
- if(PR_TRUE==(aParserContext.mMimeType.Equals(kHTMLTextContentType) || aParserContext.mMimeType.Equals(kPlainTextContentType))) {
+ if(PR_TRUE==(aParserContext.mMimeType.EqualsWithConversion(kHTMLTextContentType) || aParserContext.mMimeType.EqualsWithConversion(kPlainTextContentType))) {
result=ePrimaryDetect;
}
else {
@@ -480,7 +480,7 @@ eAutoDetectResult COtherDTD::CanParse(CParserContext& aParserContext,nsString& a
if(BufferContainsHTML(aBuffer,theBufHasXML)){
result = eValidDetect ;
if(0==aParserContext.mMimeType.Length()) {
- aParserContext.SetMimeType(kHTMLTextContentType);
+ aParserContext.SetMimeType( NS_ConvertToString(kHTMLTextContentType) );
result = (theBufHasXML) ? eValidDetect : ePrimaryDetect;
}
}
@@ -569,7 +569,7 @@ nsresult COtherDTD::BuildModel(nsIParser* aParser,nsITokenizer* aTokenizer,nsITo
if(!mBodyContext->GetCount()) {
//if the content model is empty, then begin by opening ...
- CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_html,"html");
+ CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_html, NS_ConvertToString("html"));
HandleStartToken(theToken); //this token should get pushed on the context stack, don't recycle it.
}
@@ -623,11 +623,11 @@ nsresult COtherDTD::DidBuildModel(nsresult anErrorCode,PRBool aNotifySink,nsIPar
mTokenizer->PrependTokens(mMisplacedContent); //push misplaced content
if(ePlainText==mDocType) {
- CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_pre,"pre");
+ CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_pre, NS_ConvertToString("pre"));
mTokenizer->PushTokenFront(theToken); //this token should get pushed on the context stack, don't recycle it
}
- CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_body,"body");
+ CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_body, NS_ConvertToString("body"));
mTokenizer->PushTokenFront(theToken); //this token should get pushed on the context stack, don't recycle it
result=BuildModel(aParser,mTokenizer,0,aSink);
@@ -1204,7 +1204,7 @@ nsresult COtherDTD::WillHandleStartTag(CToken* aToken,eHTMLTags aTag,nsCParserNo
CParserContext* pc=mParser->PeekContext();
void* theDocID=(pc)? pc->mKey:0;
- result=theService->Notify(aTag,aNode,(PRUint32)theDocID,kHTMLTextContentType,mParser);
+ result=theService->Notify(aTag,aNode,(PRUint32)theDocID, NS_ConvertToString(kHTMLTextContentType), mParser);
}
}
@@ -2075,7 +2075,7 @@ nsresult COtherDTD::CollectSkippedContent(nsCParserNode& aNode,PRInt32 &aCount)
// the parser and into the form element code
PRBool aMustConvertLinebreaks = PR_FALSE;
- mScratch="";
+ mScratch.SetLength(0);
aNode.SetSkippedContent(mScratch);
for(aIndex=0;aIndexparser = nsnull;
mState->tokenDeque = nsnull;
- nsAutoString buffer("UTF-16");
+ nsAutoString buffer; buffer.AssignWithConversion("UTF-16");
const PRUnichar* encoding = buffer.GetUnicode();
if (encoding) {
mExpatParser = XML_ParserCreate((const XML_Char*) encoding);
@@ -267,7 +267,10 @@ void nsExpatTokenizer::GetLine(const char* aSourceBuffer, PRUint32 aLength,
aLine.Truncate(0);
if (startIndex == endIndex) {
/* Special case if the error is on a line where the only character is a newline */
- aLine.Append("");
+ // STRING USE WARNING: I have no idea what this is supposed to do; to me it looks like a no-op
+ // ... so I'm not going to delete it but I will fix it to conform to the new standard.
+ // aLine.Append("");
+ aLine.AppendWithConversion("");
}
else {
NS_ASSERTION(endIndex - startIndex >= sizeof(PRUnichar), "?");
@@ -291,15 +294,15 @@ void nsExpatTokenizer::GetLine(const char* aSourceBuffer, PRUint32 aLength,
static nsresult
CreateErrorText(const nsParserError* aError, nsString& aErrorString)
{
- aErrorString = "XML Parsing Error: ";
+ aErrorString.AssignWithConversion("XML Parsing Error: ");
if (aError) {
aErrorString.Append(aError->description);
- aErrorString.Append("\nLine Number ");
- aErrorString.Append(aError->lineNumber, 10);
- aErrorString.Append(", Column ");
- aErrorString.Append(aError->colNumber, 10);
- aErrorString.Append(":");
+ aErrorString.AppendWithConversion("\nLine Number ");
+ aErrorString.AppendWithConversion(aError->lineNumber, 10);
+ aErrorString.AppendWithConversion(", Column ");
+ aErrorString.AppendWithConversion(aError->colNumber, 10);
+ aErrorString.AppendWithConversion(":");
}
return NS_OK;
@@ -311,10 +314,10 @@ CreateSourceText(const nsParserError* aError, nsString& aSourceString)
PRInt32 errorPosition = aError->colNumber;
aSourceString.Append(aError->sourceLine);
- aSourceString.Append("\n");
+ aSourceString.AppendWithConversion("\n");
for (int i = 0; i < errorPosition; i++)
- aSourceString.Append("-");
- aSourceString.Append("^");
+ aSourceString.AppendWithConversion("-");
+ aSourceString.AppendWithConversion("^");
return NS_OK;
}
@@ -337,7 +340,7 @@ nsExpatTokenizer::AddErrorMessageTokens(nsParserError* aError)
CAttributeToken* attrToken = (CAttributeToken*)
mState->tokenRecycler->CreateTokenOfType(eToken_attribute, eHTMLTag_unknown);
nsString& key = attrToken->GetKey();
- key.Assign("xmlns");
+ key.AssignWithConversion("xmlns");
attrToken->SetStringValue(kHTMLNameSpaceURI);
newToken->SetAttributeCount(1);
newToken = (CToken*) attrToken;
@@ -396,7 +399,7 @@ nsExpatTokenizer::PushXMLErrorTokens(const char *aBuffer, PRUint32 aLength, PRBo
error->code = XML_GetErrorCode(mExpatParser);
error->lineNumber = XML_GetCurrentLineNumber(mExpatParser);
error->colNumber = XML_GetCurrentColumnNumber(mExpatParser);
- error->description = XML_ErrorString(error->code);
+ error->description.AssignWithConversion(XML_ErrorString(error->code));
if (!aIsFinal) {
PRInt32 byteIndexRelativeToFile = 0;
byteIndexRelativeToFile = XML_GetCurrentByteIndex(mExpatParser);
@@ -617,13 +620,13 @@ void nsExpatTokenizer::HandleProcessingInstruction(void *userData,
CToken* theToken = state->tokenRecycler->CreateTokenOfType(eToken_instruction,eHTMLTag_unknown);
if(theToken) {
nsString& theString=theToken->GetStringValueXXX();
- theString. Append("");
+ theString. AppendWithConversion("");
theString.Append((PRUnichar *) target);
if(data) {
- theString.Append(" ");
+ theString.AppendWithConversion(" ");
theString.Append((PRUnichar *) data);
}
- theString.Append("?>");
+ theString.AppendWithConversion("?>");
AddToken(theToken, NS_OK, state->tokenDeque, state->tokenRecycler);
}
else{
@@ -687,8 +690,8 @@ IsLoadableDTD(nsIURI** aDTD)
res = dtdURL->GetFileName(&fileName);
if (NS_SUCCEEDED(res) && nsnull != fileName) {
nsSpecialSystemDirectory dtdPath(nsSpecialSystemDirectory::OS_CurrentProcessDirectory);
- nsString path(kDTDDirectory);
- path.Append(fileName);
+ nsString path; path.AssignWithConversion(kDTDDirectory);
+ path.AppendWithConversion(fileName);
dtdPath += path;
if (dtdPath.Exists()) {
// The DTD was found in the local DTD directory.
@@ -728,7 +731,7 @@ nsExpatTokenizer::OpenInputStream(const nsString& aURLStr,
rv = NS_OpenURI(in, uri);
char* absURL = nsnull;
uri->GetSpec(&absURL);
- aAbsURL->Append(absURL);
+ aAbsURL->AppendWithConversion(absURL);
nsCRT::free(absURL);
}
else {
@@ -747,7 +750,7 @@ nsresult nsExpatTokenizer::LoadStream(nsIInputStream* in,
PRUint32 aCount = 1024,
bufsize = aCount*sizeof(PRUnichar);
nsIUnicharInputStream *uniIn = nsnull;
- nsAutoString utf8("UTF-8");
+ nsAutoString utf8; utf8.AssignWithConversion("UTF-8");
nsresult res = NS_NewConverterStream(&uniIn,
nsnull,
@@ -815,7 +818,7 @@ int nsExpatTokenizer::HandleExternalEntityRef(XML_Parser parser,
// Pass the buffer to expat for parsing
if (NS_SUCCEEDED(rv) && nsnull != uniBuf) {
// Create a parser for parsing the external entity
- nsAutoString encoding("UTF-16");
+ nsAutoString encoding; encoding.AssignWithConversion("UTF-16");
XML_Parser entParser = nsnull;
entParser = XML_ExternalEntityParserCreate(parser, 0,
@@ -854,10 +857,10 @@ void nsExpatTokenizer::HandleStartDoctypeDecl(void *userData,
CToken* token = state->tokenRecycler->CreateTokenOfType(eToken_doctypeDecl, eHTMLTag_unknown);
if (token) {
nsString& str = token->GetStringValueXXX();
- str.Append(kDocTypeDeclPrefix);
- str.Append(" ");
+ str.AppendWithConversion(kDocTypeDeclPrefix);
+ str.AppendWithConversion(" ");
str.Append((PRUnichar*) doctypeName);
- str.Append(">");
+ str.AppendWithConversion(">");
AddToken(token, NS_OK, state->tokenDeque, state->tokenRecycler);
}
}
diff --git a/mozilla/htmlparser/src/nsHTMLContentSinkStream.cpp b/mozilla/htmlparser/src/nsHTMLContentSinkStream.cpp
index 3ee154f932e..7dc348a434a 100644
--- a/mozilla/htmlparser/src/nsHTMLContentSinkStream.cpp
+++ b/mozilla/htmlparser/src/nsHTMLContentSinkStream.cpp
@@ -55,7 +55,7 @@ static char* gHeaderComment = "
*********************************************************/
- aString="";
+ temp.AssignWithConversion("->");
result=aScanner.ReadUntil(aString,temp,PR_FALSE);
}
}
@@ -1043,8 +1043,10 @@ PRInt32 CNewlineToken::GetTokenType(void) {
*/
nsString& CNewlineToken::GetStringValueXXX(void) {
static nsString* theStr=0;
- if(!theStr)
- theStr=new nsString("\n");
+ if(!theStr) {
+ theStr=new nsString;
+ theStr->AssignWithConversion("\n");
+ }
return *theStr;
}
@@ -1059,7 +1061,7 @@ nsString& CNewlineToken::GetStringValueXXX(void) {
nsresult CNewlineToken::Consume(PRUnichar aChar, nsScanner& aScanner,PRInt32 aMode) {
#if 1
- mTextValue=kNewLine; //This is what I THINK we should be doing.
+ mTextValue.AssignWithConversion(kNewLine); //This is what I THINK we should be doing.
#else
mTextValue=aChar;
#endif
@@ -1216,9 +1218,9 @@ void CAttributeToken::DebugDumpToken(nsOutputStream& out) {
*/
void CAttributeToken::GetSource(nsString& anOutputString){
anOutputString=mTextKey;
- anOutputString+="=";
+ anOutputString.AppendWithConversion("=");
anOutputString+=mTextValue;
- anOutputString+=";";
+ anOutputString.AppendWithConversion(";");
}
/*
@@ -1230,9 +1232,9 @@ void CAttributeToken::GetSource(nsString& anOutputString){
*/
void CAttributeToken::AppendSource(nsString& anOutputString){
anOutputString+=mTextKey;
- anOutputString+="=";
+ anOutputString.AppendWithConversion("=");
anOutputString+=mTextValue;
- anOutputString+=";";
+ anOutputString.AppendWithConversion(";");
}
/*
@@ -1277,7 +1279,7 @@ nsresult ConsumeQuotedString(PRUnichar aChar,nsString& aString,nsScanner& aScann
*/
static
nsresult ConsumeAttributeValueText(PRUnichar,nsString& aString,nsScanner& aScanner){
- static nsString theTerminals("\b\t\n\r >",6);
+ static nsString theTerminals = NS_ConvertToString("\b\t\n\r >",6);
nsresult result=aScanner.ReadUntil(aString,theTerminals,PR_FALSE);
//Let's force quotes if either the first or last char is quoted.
@@ -1333,7 +1335,7 @@ nsresult CAttributeToken::Consume(PRUnichar aChar, nsScanner& aScanner,PRInt32 a
}
else {
//If you're here, handle an unquoted key.
- static nsString theTerminals("\b\t\n\r \"<=>",9);
+ static nsString theTerminals = NS_ConvertToString("\b\t\n\r \"<=>",9);
result=aScanner.ReadUntil(mTextKey,theTerminals,PR_FALSE);
}
@@ -1475,7 +1477,7 @@ PRInt32 CWhitespaceToken::GetTokenType(void) {
* @return error result
*/
nsresult CWhitespaceToken::Consume(PRUnichar aChar, nsScanner& aScanner,PRInt32 aMode) {
- mTextValue=aChar;
+ mTextValue.AssignWithConversion(aChar);
nsresult result=aScanner.ReadWhitespace(mTextValue);
if(NS_OK==result) {
mTextValue.StripChar(kCR);
@@ -1520,7 +1522,7 @@ CEntityToken::CEntityToken(const nsString& aName) : CHTMLToken(aName) {
*/
nsresult CEntityToken::Consume(PRUnichar aChar, nsScanner& aScanner,PRInt32 aMode) {
if(aChar)
- mTextValue=aChar;
+ mTextValue.AssignWithConversion(aChar);
nsresult result=ConsumeEntity(aChar,mTextValue,aScanner);
return result;
}
@@ -1686,7 +1688,7 @@ PRInt32 CEntityToken::TranslateToUnicodeStr(nsString& aString) {
value = nsHTMLEntities::EntityToUnicode(mTextValue);
if(-1AppendElement(new nsString(aURLSpec));
str.Truncate();
nsString(aURLSpec).Left(str,5);
- if (str.Equals("http:")) {
+ if (str.EqualsWithConversion("http:")) {
g_iProcessed++;
if (g_iProcessed == (g_iMaxProcess > 0 ? g_iMaxProcess-1 : 0))
g_bHitTop = PR_TRUE;
@@ -328,7 +328,7 @@ extern "C" NS_EXPORT int DebugRobot(
}
char* spec;
(void)url->GetSpec(&spec);
- nsAutoString theSpec(spec);
+ nsAutoString theSpec; theSpec.AssignWithConversion(spec);
nsCRT::free(spec);
nsCOMPtr webNav(do_QueryInterface(docShell));
webNav->LoadURI(theSpec.GetUnicode());/* XXX hook up stream listener here! */
diff --git a/mozilla/parser/htmlparser/robot/nsRobotSink.cpp b/mozilla/parser/htmlparser/robot/nsRobotSink.cpp
index b717f6fed4a..777609affe4 100644
--- a/mozilla/parser/htmlparser/robot/nsRobotSink.cpp
+++ b/mozilla/parser/htmlparser/robot/nsRobotSink.cpp
@@ -219,7 +219,7 @@ NS_IMETHODIMP RobotSink::OpenContainer(const nsIParserNode& aNode)
{
nsAutoString tmp(aNode.GetText());
tmp.ToLowerCase();
- if (tmp.Equals("a")) {
+ if (tmp.EqualsWithConversion("a")) {
nsAutoString k, v;
PRInt32 ac = aNode.GetAttributeCount();
for (PRInt32 i = 0; i < ac; i++) {
@@ -228,7 +228,7 @@ NS_IMETHODIMP RobotSink::OpenContainer(const nsIParserNode& aNode)
k.Truncate();
k.Append(key);
k.ToLowerCase();
- if (k.Equals("href")) {
+ if (k.EqualsWithConversion("href")) {
// Get value and remove mandatory quotes
v.Truncate();
v.Append(aNode.GetValueAt(i));
@@ -363,7 +363,7 @@ void RobotSink::ProcessLink(const nsString& aLink)
absURLSpec.Truncate();
char* str;
absurl->GetSpec(&str);
- absURLSpec = str;
+ absURLSpec.AssignWithConversion(str);
nsCRT::free(str);
}
}
diff --git a/mozilla/parser/htmlparser/src/CNavDTD.cpp b/mozilla/parser/htmlparser/src/CNavDTD.cpp
index b2e2a5191f3..88dc292738d 100644
--- a/mozilla/parser/htmlparser/src/CNavDTD.cpp
+++ b/mozilla/parser/htmlparser/src/CNavDTD.cpp
@@ -134,9 +134,7 @@ NS_IMPL_RELEASE(CNavDTD)
CNavDTD::CNavDTD() : nsIDTD(),
mMisplacedContent(0),
mSkippedContent(0),
- mSharedNodes(0),
- mScratch(""),
- mMimeType("") {
+ mSharedNodes(0) {
NS_INIT_REFCNT();
mSink = 0;
mParser=0;
@@ -373,18 +371,18 @@ eAutoDetectResult CNavDTD::CanParse(CParserContext& aParserContext,nsString& aBu
if(eViewSource==aParserContext.mParserCommand) {
- if(PR_TRUE==aParserContext.mMimeType.Equals(kPlainTextContentType)) {
+ if(PR_TRUE==aParserContext.mMimeType.EqualsWithConversion(kPlainTextContentType)) {
result=ePrimaryDetect;
}
- else if(aParserContext.mMimeType.Equals(kRTFTextContentType)){
+ else if(aParserContext.mMimeType.EqualsWithConversion(kRTFTextContentType)){
result=ePrimaryDetect;
}
}
else {
- if(PR_TRUE==aParserContext.mMimeType.Equals(kHTMLTextContentType)) {
+ if(PR_TRUE==aParserContext.mMimeType.EqualsWithConversion(kHTMLTextContentType)) {
result=ePrimaryDetect;
}
- else if(PR_TRUE==aParserContext.mMimeType.Equals(kPlainTextContentType)) {
+ else if(PR_TRUE==aParserContext.mMimeType.EqualsWithConversion(kPlainTextContentType)) {
result=ePrimaryDetect;
}
else {
@@ -393,7 +391,7 @@ eAutoDetectResult CNavDTD::CanParse(CParserContext& aParserContext,nsString& aBu
if(BufferContainsHTML(aBuffer,theBufHasXML)){
result = eValidDetect ;
if(0==aParserContext.mMimeType.Length()) {
- aParserContext.SetMimeType(kHTMLTextContentType);
+ aParserContext.SetMimeType(NS_ConvertToString(kHTMLTextContentType));
result = (theBufHasXML) ? eValidDetect : ePrimaryDetect;
}
}
@@ -482,7 +480,7 @@ nsresult CNavDTD::BuildModel(nsIParser* aParser,nsITokenizer* aTokenizer,nsIToke
if(!mBodyContext->GetCount()) {
//if the content model is empty, then begin by opening ...
- CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_html,"html");
+ CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_html,NS_ConvertToString("html"));
HandleStartToken(theToken); //this token should get pushed on the context stack, don't recycle it.
if(ePlainText==mDocType) {
@@ -540,7 +538,7 @@ nsresult CNavDTD::DidBuildModel(nsresult anErrorCode,PRBool aNotifySink,nsIParse
mSkipTarget=eHTMLTag_unknown; //clear this in case we were searching earlier.
- CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_body,"body");
+ CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_body,NS_ConvertToString("body"));
mTokenizer->PushTokenFront(theToken); //this token should get pushed on the context stack, don't recycle it
result=BuildModel(aParser,mTokenizer,0,aSink);
}
@@ -726,7 +724,7 @@ nsresult CNavDTD::HandleToken(CToken* aToken,nsIParser* aParser){
mMisplacedContent.Push(aToken);
aToken->mUseCount++;
if(mParseMode==eParseMode_quirks && (gHTMLElements[theTag].HasSpecialProperty(kRequiresBody))) {
- CToken* theBodyToken=(CToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_body,"body");
+ CToken* theBodyToken=(CToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_body,NS_ConvertToString("body"));
result=HandleToken(theBodyToken,aParser);
}
return result;
@@ -1131,7 +1129,7 @@ nsresult CNavDTD::WillHandleStartTag(CToken* aToken,eHTMLTags aTag,nsCParserNode
CParserContext* pc=mParser->PeekContext();
void* theDocID=(pc)? pc->mKey:0;
- result=theService->Notify(aTag,aNode,(PRUint32)theDocID,kHTMLTextContentType,mParser);
+ result=theService->Notify(aTag,aNode,(PRUint32)theDocID, NS_ConvertToString(kHTMLTextContentType), mParser);
}
}
@@ -2129,7 +2127,7 @@ NS_IMETHODIMP CNavDTD::StringTagToIntTag(nsString &aTag, PRInt32* aIntTag) const
}
NS_IMETHODIMP CNavDTD::IntTagToStringTag(PRInt32 aIntTag, nsString& aTag) const {
- aTag = nsHTMLTags::GetStringValue((nsHTMLTag)aIntTag);
+ aTag.AssignWithConversion(nsHTMLTags::GetStringValue((nsHTMLTag)aIntTag));
return NS_OK;
}
diff --git a/mozilla/parser/htmlparser/src/COtherDTD.cpp b/mozilla/parser/htmlparser/src/COtherDTD.cpp
index fb1c1e14876..b6c4b8f2fa5 100644
--- a/mozilla/parser/htmlparser/src/COtherDTD.cpp
+++ b/mozilla/parser/htmlparser/src/COtherDTD.cpp
@@ -107,7 +107,7 @@ class CTagFinder: public nsDequeFunctor{
public:
CTagFinder(){}
- void Initialize(const nsString &aTagName) {mTagName = aTagName;}
+ void Initialize(const nsString &aTagName) {mTagName.Assign(aTagName);}
virtual ~CTagFinder() {
}
@@ -220,7 +220,7 @@ NS_IMPL_RELEASE(COtherDTD)
* @param
* @return
*/
-COtherDTD::COtherDTD() : nsIDTD(), mMisplacedContent(0), mSkippedContent(0), mSharedNodes(0), mScratch("") {
+COtherDTD::COtherDTD() : nsIDTD(), mMisplacedContent(0), mSkippedContent(0), mSharedNodes(0) {
NS_INIT_REFCNT();
mSink = 0;
mParser=0;
@@ -471,7 +471,7 @@ eAutoDetectResult COtherDTD::CanParse(CParserContext& aParserContext,nsString& a
if(eViewSource!=aParserContext.mParserCommand) {
- if(PR_TRUE==(aParserContext.mMimeType.Equals(kHTMLTextContentType) || aParserContext.mMimeType.Equals(kPlainTextContentType))) {
+ if(PR_TRUE==(aParserContext.mMimeType.EqualsWithConversion(kHTMLTextContentType) || aParserContext.mMimeType.EqualsWithConversion(kPlainTextContentType))) {
result=ePrimaryDetect;
}
else {
@@ -480,7 +480,7 @@ eAutoDetectResult COtherDTD::CanParse(CParserContext& aParserContext,nsString& a
if(BufferContainsHTML(aBuffer,theBufHasXML)){
result = eValidDetect ;
if(0==aParserContext.mMimeType.Length()) {
- aParserContext.SetMimeType(kHTMLTextContentType);
+ aParserContext.SetMimeType( NS_ConvertToString(kHTMLTextContentType) );
result = (theBufHasXML) ? eValidDetect : ePrimaryDetect;
}
}
@@ -569,7 +569,7 @@ nsresult COtherDTD::BuildModel(nsIParser* aParser,nsITokenizer* aTokenizer,nsITo
if(!mBodyContext->GetCount()) {
//if the content model is empty, then begin by opening ...
- CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_html,"html");
+ CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_html, NS_ConvertToString("html"));
HandleStartToken(theToken); //this token should get pushed on the context stack, don't recycle it.
}
@@ -623,11 +623,11 @@ nsresult COtherDTD::DidBuildModel(nsresult anErrorCode,PRBool aNotifySink,nsIPar
mTokenizer->PrependTokens(mMisplacedContent); //push misplaced content
if(ePlainText==mDocType) {
- CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_pre,"pre");
+ CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_pre, NS_ConvertToString("pre"));
mTokenizer->PushTokenFront(theToken); //this token should get pushed on the context stack, don't recycle it
}
- CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_body,"body");
+ CStartToken *theToken=(CStartToken*)mTokenRecycler->CreateTokenOfType(eToken_start,eHTMLTag_body, NS_ConvertToString("body"));
mTokenizer->PushTokenFront(theToken); //this token should get pushed on the context stack, don't recycle it
result=BuildModel(aParser,mTokenizer,0,aSink);
@@ -1204,7 +1204,7 @@ nsresult COtherDTD::WillHandleStartTag(CToken* aToken,eHTMLTags aTag,nsCParserNo
CParserContext* pc=mParser->PeekContext();
void* theDocID=(pc)? pc->mKey:0;
- result=theService->Notify(aTag,aNode,(PRUint32)theDocID,kHTMLTextContentType,mParser);
+ result=theService->Notify(aTag,aNode,(PRUint32)theDocID, NS_ConvertToString(kHTMLTextContentType), mParser);
}
}
@@ -2075,7 +2075,7 @@ nsresult COtherDTD::CollectSkippedContent(nsCParserNode& aNode,PRInt32 &aCount)
// the parser and into the form element code
PRBool aMustConvertLinebreaks = PR_FALSE;
- mScratch="";
+ mScratch.SetLength(0);
aNode.SetSkippedContent(mScratch);
for(aIndex=0;aIndexparser = nsnull;
mState->tokenDeque = nsnull;
- nsAutoString buffer("UTF-16");
+ nsAutoString buffer; buffer.AssignWithConversion("UTF-16");
const PRUnichar* encoding = buffer.GetUnicode();
if (encoding) {
mExpatParser = XML_ParserCreate((const XML_Char*) encoding);
@@ -267,7 +267,10 @@ void nsExpatTokenizer::GetLine(const char* aSourceBuffer, PRUint32 aLength,
aLine.Truncate(0);
if (startIndex == endIndex) {
/* Special case if the error is on a line where the only character is a newline */
- aLine.Append("");
+ // STRING USE WARNING: I have no idea what this is supposed to do; to me it looks like a no-op
+ // ... so I'm not going to delete it but I will fix it to conform to the new standard.
+ // aLine.Append("");
+ aLine.AppendWithConversion("");
}
else {
NS_ASSERTION(endIndex - startIndex >= sizeof(PRUnichar), "?");
@@ -291,15 +294,15 @@ void nsExpatTokenizer::GetLine(const char* aSourceBuffer, PRUint32 aLength,
static nsresult
CreateErrorText(const nsParserError* aError, nsString& aErrorString)
{
- aErrorString = "XML Parsing Error: ";
+ aErrorString.AssignWithConversion("XML Parsing Error: ");
if (aError) {
aErrorString.Append(aError->description);
- aErrorString.Append("\nLine Number ");
- aErrorString.Append(aError->lineNumber, 10);
- aErrorString.Append(", Column ");
- aErrorString.Append(aError->colNumber, 10);
- aErrorString.Append(":");
+ aErrorString.AppendWithConversion("\nLine Number ");
+ aErrorString.AppendWithConversion(aError->lineNumber, 10);
+ aErrorString.AppendWithConversion(", Column ");
+ aErrorString.AppendWithConversion(aError->colNumber, 10);
+ aErrorString.AppendWithConversion(":");
}
return NS_OK;
@@ -311,10 +314,10 @@ CreateSourceText(const nsParserError* aError, nsString& aSourceString)
PRInt32 errorPosition = aError->colNumber;
aSourceString.Append(aError->sourceLine);
- aSourceString.Append("\n");
+ aSourceString.AppendWithConversion("\n");
for (int i = 0; i < errorPosition; i++)
- aSourceString.Append("-");
- aSourceString.Append("^");
+ aSourceString.AppendWithConversion("-");
+ aSourceString.AppendWithConversion("^");
return NS_OK;
}
@@ -337,7 +340,7 @@ nsExpatTokenizer::AddErrorMessageTokens(nsParserError* aError)
CAttributeToken* attrToken = (CAttributeToken*)
mState->tokenRecycler->CreateTokenOfType(eToken_attribute, eHTMLTag_unknown);
nsString& key = attrToken->GetKey();
- key.Assign("xmlns");
+ key.AssignWithConversion("xmlns");
attrToken->SetStringValue(kHTMLNameSpaceURI);
newToken->SetAttributeCount(1);
newToken = (CToken*) attrToken;
@@ -396,7 +399,7 @@ nsExpatTokenizer::PushXMLErrorTokens(const char *aBuffer, PRUint32 aLength, PRBo
error->code = XML_GetErrorCode(mExpatParser);
error->lineNumber = XML_GetCurrentLineNumber(mExpatParser);
error->colNumber = XML_GetCurrentColumnNumber(mExpatParser);
- error->description = XML_ErrorString(error->code);
+ error->description.AssignWithConversion(XML_ErrorString(error->code));
if (!aIsFinal) {
PRInt32 byteIndexRelativeToFile = 0;
byteIndexRelativeToFile = XML_GetCurrentByteIndex(mExpatParser);
@@ -617,13 +620,13 @@ void nsExpatTokenizer::HandleProcessingInstruction(void *userData,
CToken* theToken = state->tokenRecycler->CreateTokenOfType(eToken_instruction,eHTMLTag_unknown);
if(theToken) {
nsString& theString=theToken->GetStringValueXXX();
- theString. Append("");
+ theString. AppendWithConversion("");
theString.Append((PRUnichar *) target);
if(data) {
- theString.Append(" ");
+ theString.AppendWithConversion(" ");
theString.Append((PRUnichar *) data);
}
- theString.Append("?>");
+ theString.AppendWithConversion("?>");
AddToken(theToken, NS_OK, state->tokenDeque, state->tokenRecycler);
}
else{
@@ -687,8 +690,8 @@ IsLoadableDTD(nsIURI** aDTD)
res = dtdURL->GetFileName(&fileName);
if (NS_SUCCEEDED(res) && nsnull != fileName) {
nsSpecialSystemDirectory dtdPath(nsSpecialSystemDirectory::OS_CurrentProcessDirectory);
- nsString path(kDTDDirectory);
- path.Append(fileName);
+ nsString path; path.AssignWithConversion(kDTDDirectory);
+ path.AppendWithConversion(fileName);
dtdPath += path;
if (dtdPath.Exists()) {
// The DTD was found in the local DTD directory.
@@ -728,7 +731,7 @@ nsExpatTokenizer::OpenInputStream(const nsString& aURLStr,
rv = NS_OpenURI(in, uri);
char* absURL = nsnull;
uri->GetSpec(&absURL);
- aAbsURL->Append(absURL);
+ aAbsURL->AppendWithConversion(absURL);
nsCRT::free(absURL);
}
else {
@@ -747,7 +750,7 @@ nsresult nsExpatTokenizer::LoadStream(nsIInputStream* in,
PRUint32 aCount = 1024,
bufsize = aCount*sizeof(PRUnichar);
nsIUnicharInputStream *uniIn = nsnull;
- nsAutoString utf8("UTF-8");
+ nsAutoString utf8; utf8.AssignWithConversion("UTF-8");
nsresult res = NS_NewConverterStream(&uniIn,
nsnull,
@@ -815,7 +818,7 @@ int nsExpatTokenizer::HandleExternalEntityRef(XML_Parser parser,
// Pass the buffer to expat for parsing
if (NS_SUCCEEDED(rv) && nsnull != uniBuf) {
// Create a parser for parsing the external entity
- nsAutoString encoding("UTF-16");
+ nsAutoString encoding; encoding.AssignWithConversion("UTF-16");
XML_Parser entParser = nsnull;
entParser = XML_ExternalEntityParserCreate(parser, 0,
@@ -854,10 +857,10 @@ void nsExpatTokenizer::HandleStartDoctypeDecl(void *userData,
CToken* token = state->tokenRecycler->CreateTokenOfType(eToken_doctypeDecl, eHTMLTag_unknown);
if (token) {
nsString& str = token->GetStringValueXXX();
- str.Append(kDocTypeDeclPrefix);
- str.Append(" ");
+ str.AppendWithConversion(kDocTypeDeclPrefix);
+ str.AppendWithConversion(" ");
str.Append((PRUnichar*) doctypeName);
- str.Append(">");
+ str.AppendWithConversion(">");
AddToken(token, NS_OK, state->tokenDeque, state->tokenRecycler);
}
}
diff --git a/mozilla/parser/htmlparser/src/nsHTMLContentSinkStream.cpp b/mozilla/parser/htmlparser/src/nsHTMLContentSinkStream.cpp
index 3ee154f932e..7dc348a434a 100644
--- a/mozilla/parser/htmlparser/src/nsHTMLContentSinkStream.cpp
+++ b/mozilla/parser/htmlparser/src/nsHTMLContentSinkStream.cpp
@@ -55,7 +55,7 @@ static char* gHeaderComment = "
*********************************************************/
- aString="";
+ temp.AssignWithConversion("->");
result=aScanner.ReadUntil(aString,temp,PR_FALSE);
}
}
@@ -1043,8 +1043,10 @@ PRInt32 CNewlineToken::GetTokenType(void) {
*/
nsString& CNewlineToken::GetStringValueXXX(void) {
static nsString* theStr=0;
- if(!theStr)
- theStr=new nsString("\n");
+ if(!theStr) {
+ theStr=new nsString;
+ theStr->AssignWithConversion("\n");
+ }
return *theStr;
}
@@ -1059,7 +1061,7 @@ nsString& CNewlineToken::GetStringValueXXX(void) {
nsresult CNewlineToken::Consume(PRUnichar aChar, nsScanner& aScanner,PRInt32 aMode) {
#if 1
- mTextValue=kNewLine; //This is what I THINK we should be doing.
+ mTextValue.AssignWithConversion(kNewLine); //This is what I THINK we should be doing.
#else
mTextValue=aChar;
#endif
@@ -1216,9 +1218,9 @@ void CAttributeToken::DebugDumpToken(nsOutputStream& out) {
*/
void CAttributeToken::GetSource(nsString& anOutputString){
anOutputString=mTextKey;
- anOutputString+="=";
+ anOutputString.AppendWithConversion("=");
anOutputString+=mTextValue;
- anOutputString+=";";
+ anOutputString.AppendWithConversion(";");
}
/*
@@ -1230,9 +1232,9 @@ void CAttributeToken::GetSource(nsString& anOutputString){
*/
void CAttributeToken::AppendSource(nsString& anOutputString){
anOutputString+=mTextKey;
- anOutputString+="=";
+ anOutputString.AppendWithConversion("=");
anOutputString+=mTextValue;
- anOutputString+=";";
+ anOutputString.AppendWithConversion(";");
}
/*
@@ -1277,7 +1279,7 @@ nsresult ConsumeQuotedString(PRUnichar aChar,nsString& aString,nsScanner& aScann
*/
static
nsresult ConsumeAttributeValueText(PRUnichar,nsString& aString,nsScanner& aScanner){
- static nsString theTerminals("\b\t\n\r >",6);
+ static nsString theTerminals = NS_ConvertToString("\b\t\n\r >",6);
nsresult result=aScanner.ReadUntil(aString,theTerminals,PR_FALSE);
//Let's force quotes if either the first or last char is quoted.
@@ -1333,7 +1335,7 @@ nsresult CAttributeToken::Consume(PRUnichar aChar, nsScanner& aScanner,PRInt32 a
}
else {
//If you're here, handle an unquoted key.
- static nsString theTerminals("\b\t\n\r \"<=>",9);
+ static nsString theTerminals = NS_ConvertToString("\b\t\n\r \"<=>",9);
result=aScanner.ReadUntil(mTextKey,theTerminals,PR_FALSE);
}
@@ -1475,7 +1477,7 @@ PRInt32 CWhitespaceToken::GetTokenType(void) {
* @return error result
*/
nsresult CWhitespaceToken::Consume(PRUnichar aChar, nsScanner& aScanner,PRInt32 aMode) {
- mTextValue=aChar;
+ mTextValue.AssignWithConversion(aChar);
nsresult result=aScanner.ReadWhitespace(mTextValue);
if(NS_OK==result) {
mTextValue.StripChar(kCR);
@@ -1520,7 +1522,7 @@ CEntityToken::CEntityToken(const nsString& aName) : CHTMLToken(aName) {
*/
nsresult CEntityToken::Consume(PRUnichar aChar, nsScanner& aScanner,PRInt32 aMode) {
if(aChar)
- mTextValue=aChar;
+ mTextValue.AssignWithConversion(aChar);
nsresult result=ConsumeEntity(aChar,mTextValue,aScanner);
return result;
}
@@ -1686,7 +1688,7 @@ PRInt32 CEntityToken::TranslateToUnicodeStr(nsString& aString) {
value = nsHTMLEntities::EntityToUnicode(mTextValue);
if(-1