diff --git a/mozilla/htmlparser/src/nsHTMLTokens.cpp b/mozilla/htmlparser/src/nsHTMLTokens.cpp index 206d40cdbcc..dd1c80441a1 100644 --- a/mozilla/htmlparser/src/nsHTMLTokens.cpp +++ b/mozilla/htmlparser/src/nsHTMLTokens.cpp @@ -984,6 +984,21 @@ nsresult ConsumeQuotedString(PRUnichar aChar,nsString& aString,nsScanner& aScann nsresult ConsumeAttributeValueText(PRUnichar,nsString& aString,nsScanner& aScanner){ static nsAutoString terminals("\b\t\n\r >"); nsresult result=aScanner.ReadUntil(aString,terminals,PR_FALSE,PR_FALSE); + + //Let's force quotes if either the first or last char is quoted. + PRUnichar theLast=aString.Last(); + PRUnichar theFirst=aString.First(); + if(kQuote==theLast) { + if(kQuote!=theFirst) { + aString.Insert(kQuote,0);; + } + } + else if(kQuote==theFirst) { + if(kQuote!=theLast) { + aString+=kQuote; + } + } + return result; } diff --git a/mozilla/parser/htmlparser/src/nsHTMLTokens.cpp b/mozilla/parser/htmlparser/src/nsHTMLTokens.cpp index 206d40cdbcc..dd1c80441a1 100644 --- a/mozilla/parser/htmlparser/src/nsHTMLTokens.cpp +++ b/mozilla/parser/htmlparser/src/nsHTMLTokens.cpp @@ -984,6 +984,21 @@ nsresult ConsumeQuotedString(PRUnichar aChar,nsString& aString,nsScanner& aScann nsresult ConsumeAttributeValueText(PRUnichar,nsString& aString,nsScanner& aScanner){ static nsAutoString terminals("\b\t\n\r >"); nsresult result=aScanner.ReadUntil(aString,terminals,PR_FALSE,PR_FALSE); + + //Let's force quotes if either the first or last char is quoted. + PRUnichar theLast=aString.Last(); + PRUnichar theFirst=aString.First(); + if(kQuote==theLast) { + if(kQuote!=theFirst) { + aString.Insert(kQuote,0);; + } + } + else if(kQuote==theFirst) { + if(kQuote!=theLast) { + aString+=kQuote; + } + } + return result; }