Testing performance impact of backout of what's left of the patch from

bug 115289.  See bug 123947 for details. a=mcafee


git-svn-id: svn://10.0.0.236/trunk@235773 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bzbarsky%mit.edu
2007-09-12 17:49:38 +00:00
parent b655f807b4
commit 90a1b526dc

View File

@@ -934,22 +934,27 @@ BookmarkParser::Unescape(nsString &text)
while((offset = text.FindChar((PRUnichar('&')), offset)) >= 0)
{
if (Substring(text, offset, 4).Equals(NS_LITERAL_STRING("<"), nsCaseInsensitiveStringComparator()))
// XXX get max of 6 chars; change the value below if
// we ever start looking for longer HTML-escaped values
nsAutoString temp;
text.Mid(temp, offset, 6);
if (Compare(Substring(temp, 0, 4), NS_LITERAL_STRING("<"), nsCaseInsensitiveStringComparator()) == 0)
{
text.Cut(offset, 4);
text.Insert(PRUnichar('<'), offset);
}
else if (Substring(text, offset, 4).Equals(NS_LITERAL_STRING("&gt;"), nsCaseInsensitiveStringComparator()))
if (Compare(Substring(temp, 0, 4), NS_LITERAL_STRING("&gt;"), nsCaseInsensitiveStringComparator()) == 0)
{
text.Cut(offset, 4);
text.Insert(PRUnichar('>'), offset);
}
else if (Substring(text, offset, 5).Equals(NS_LITERAL_STRING("&amp;"), nsCaseInsensitiveStringComparator()))
if (Compare(Substring(temp, 0, 5), NS_LITERAL_STRING("&amp;"), nsCaseInsensitiveStringComparator()) == 0)
{
text.Cut(offset, 5);
text.Insert(PRUnichar('&'), offset);
}
else if (Substring(text, offset, 6).Equals(NS_LITERAL_STRING("&quot;"), nsCaseInsensitiveStringComparator()))
if (Compare(Substring(temp, 0, 6), NS_LITERAL_STRING("&quot;"), nsCaseInsensitiveStringComparator()) == 0)
{
text.Cut(offset, 6);
text.Insert(PRUnichar('\"'), offset);