diff --git a/mozilla/layout/generic/nsFrame.cpp b/mozilla/layout/generic/nsFrame.cpp
index fd5285df8ae..60cb7231e8e 100644
--- a/mozilla/layout/generic/nsFrame.cpp
+++ b/mozilla/layout/generic/nsFrame.cpp
@@ -1567,7 +1567,7 @@ nsresult
nsFrame::MakeFrameName(const char* aType, nsString& aResult) const
{
aResult = aType;
- aResult.Append("<");
+ aResult.Append("(");
if (nsnull != mContent) {
nsIAtom* tag;
mContent->GetTag(tag);
@@ -1579,11 +1579,41 @@ nsFrame::MakeFrameName(const char* aType, nsString& aResult) const
}
}
char buf[40];
- PR_snprintf(buf, sizeof(buf), ">(%d)", ContentIndexInContainer(this));
+ PR_snprintf(buf, sizeof(buf), ")(%d)", ContentIndexInContainer(this));
aResult.Append(buf);
return NS_OK;
}
+void
+nsFrame::XMLQuote(nsString& aString)
+{
+ PRInt32 i, len = aString.Length();
+ for (i = 0; i < len; i++) {
+ PRUnichar ch = aString[i];
+ if (ch == '<') {
+ nsAutoString tmp("<");
+ aString.Cut(i, 1);
+ aString.Insert(tmp, i);
+ len += 3;
+ i += 3;
+ }
+ else if (ch == '>') {
+ nsAutoString tmp(">");
+ aString.Cut(i, 1);
+ aString.Insert(tmp, i);
+ len += 3;
+ i += 3;
+ }
+ else if (ch == '"') {
+ nsAutoString tmp(""");
+ aString.Cut(i, 1);
+ aString.Insert(tmp, i);
+ len += 5;
+ i += 5;
+ }
+ }
+}
+
NS_IMETHODIMP
nsFrame::DumpRegressionData(FILE* out, PRInt32 aIndent)
{
@@ -1591,6 +1621,7 @@ nsFrame::DumpRegressionData(FILE* out, PRInt32 aIndent)
fprintf(out, "\n");
@@ -1656,6 +1687,7 @@ nsFrame::DumpBaseRegressionData(FILE* out, PRInt32 aIndent)
nsAutoString listName;
list->ToString(listName);
fprintf(out, "\n");
}
diff --git a/mozilla/layout/generic/nsFrame.h b/mozilla/layout/generic/nsFrame.h
index 250a23be0c1..67a5c119d20 100644
--- a/mozilla/layout/generic/nsFrame.h
+++ b/mozilla/layout/generic/nsFrame.h
@@ -328,12 +328,14 @@ protected:
*/
virtual void DumpBaseRegressionData(FILE* out, PRInt32 aIndent);
- void IndentBy(FILE* out, PRInt32 aIndent) const {
+ static void IndentBy(FILE* out, PRInt32 aIndent) {
while (--aIndent >= 0) fputs(" ", out);
}
nsresult MakeFrameName(const char* aKind, nsString& aResult) const;
+ static void XMLQuote(nsString& aString);
+
nsRect mRect;
nsIContent* mContent;
nsIStyleContext* mStyleContext;
diff --git a/mozilla/layout/html/base/src/nsFrame.cpp b/mozilla/layout/html/base/src/nsFrame.cpp
index fd5285df8ae..60cb7231e8e 100644
--- a/mozilla/layout/html/base/src/nsFrame.cpp
+++ b/mozilla/layout/html/base/src/nsFrame.cpp
@@ -1567,7 +1567,7 @@ nsresult
nsFrame::MakeFrameName(const char* aType, nsString& aResult) const
{
aResult = aType;
- aResult.Append("<");
+ aResult.Append("(");
if (nsnull != mContent) {
nsIAtom* tag;
mContent->GetTag(tag);
@@ -1579,11 +1579,41 @@ nsFrame::MakeFrameName(const char* aType, nsString& aResult) const
}
}
char buf[40];
- PR_snprintf(buf, sizeof(buf), ">(%d)", ContentIndexInContainer(this));
+ PR_snprintf(buf, sizeof(buf), ")(%d)", ContentIndexInContainer(this));
aResult.Append(buf);
return NS_OK;
}
+void
+nsFrame::XMLQuote(nsString& aString)
+{
+ PRInt32 i, len = aString.Length();
+ for (i = 0; i < len; i++) {
+ PRUnichar ch = aString[i];
+ if (ch == '<') {
+ nsAutoString tmp("<");
+ aString.Cut(i, 1);
+ aString.Insert(tmp, i);
+ len += 3;
+ i += 3;
+ }
+ else if (ch == '>') {
+ nsAutoString tmp(">");
+ aString.Cut(i, 1);
+ aString.Insert(tmp, i);
+ len += 3;
+ i += 3;
+ }
+ else if (ch == '"') {
+ nsAutoString tmp(""");
+ aString.Cut(i, 1);
+ aString.Insert(tmp, i);
+ len += 5;
+ i += 5;
+ }
+ }
+}
+
NS_IMETHODIMP
nsFrame::DumpRegressionData(FILE* out, PRInt32 aIndent)
{
@@ -1591,6 +1621,7 @@ nsFrame::DumpRegressionData(FILE* out, PRInt32 aIndent)
fprintf(out, "\n");
@@ -1656,6 +1687,7 @@ nsFrame::DumpBaseRegressionData(FILE* out, PRInt32 aIndent)
nsAutoString listName;
list->ToString(listName);
fprintf(out, "\n");
}
diff --git a/mozilla/layout/html/base/src/nsFrame.h b/mozilla/layout/html/base/src/nsFrame.h
index 250a23be0c1..67a5c119d20 100644
--- a/mozilla/layout/html/base/src/nsFrame.h
+++ b/mozilla/layout/html/base/src/nsFrame.h
@@ -328,12 +328,14 @@ protected:
*/
virtual void DumpBaseRegressionData(FILE* out, PRInt32 aIndent);
- void IndentBy(FILE* out, PRInt32 aIndent) const {
+ static void IndentBy(FILE* out, PRInt32 aIndent) {
while (--aIndent >= 0) fputs(" ", out);
}
nsresult MakeFrameName(const char* aKind, nsString& aResult) const;
+ static void XMLQuote(nsString& aString);
+
nsRect mRect;
nsIContent* mContent;
nsIStyleContext* mStyleContext;