Bug 601130 - Faster attribute serialization for innerHTML, r=laurent, a=jst

--HG--
extra : rebase_source : d58f35bf9260e8a910a3dedc64fc0f5b9adc3372
This commit is contained in:
Olli Pettay 2010-10-15 21:03:44 +03:00
Родитель 2bbb77fa1e
Коммит fac2b683f8
1 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -643,7 +643,11 @@ nsXMLContentSerializer::SerializeAttr(const nsAString& aPrefix,
nsAString& aStr,
PRBool aDoEscapeEntities)
{
nsAutoString attrString;
nsAutoString attrString_;
// For innerHTML we can do faster appending without
// temporary strings.
PRBool rawAppend = mDoRaw && aDoEscapeEntities;
nsAString& attrString = (rawAppend) ? aStr : attrString_;
attrString.Append(PRUnichar(' '));
if (!aPrefix.IsEmpty()) {
@ -662,6 +666,9 @@ nsXMLContentSerializer::SerializeAttr(const nsAString& aPrefix,
mInAttribute = PR_FALSE;
attrString.Append(PRUnichar('"'));
if (rawAppend) {
return;
}
}
else {
// Depending on whether the attribute value contains quotes or apostrophes we