diff --git a/mozilla/content/base/src/nsHTMLContentSerializer.cpp b/mozilla/content/base/src/nsHTMLContentSerializer.cpp index c84df500e42..7a924cc9fdc 100644 --- a/mozilla/content/base/src/nsHTMLContentSerializer.cpp +++ b/mozilla/content/base/src/nsHTMLContentSerializer.cpp @@ -263,6 +263,14 @@ nsHTMLContentSerializer::SerializeAttributes(nsIContent* aContent, (valueStr.EqualsWithConversion(kMozStr, PR_FALSE, sizeof(kMozStr)-1))) { continue; } + + // XXX: This special cased textarea code should be + // removed when bug #17003 is fixed. + if ( (aTagName == nsHTMLAtoms::textarea) && + ((attrName.get() == nsHTMLAtoms::value) || + (attrName.get() == nsHTMLAtoms::defaultvalue)) ){ + continue; + } if (((attrName.get() == nsHTMLAtoms::href) || (attrName.get() == nsHTMLAtoms::src))) { @@ -347,6 +355,15 @@ nsHTMLContentSerializer::AppendElementStart(nsIDOMElement *aElement, mColPos = 0; } + // XXX: This special cased textarea code should be + // removed when bug #17003 is fixed. + if (name.get() == nsHTMLAtoms::textarea) + { + nsAutoString valueStr; + content->GetAttribute(kNameSpaceID_HTML, nsHTMLAtoms::value, valueStr); + AppendToString(valueStr, aStr); + } + if ((name.get() == nsHTMLAtoms::script) || (name.get() == nsHTMLAtoms::style) || (name.get() == nsHTMLAtoms::noscript)) {