diff --git a/mozilla/content/html/document/src/nsHTMLDocument.cpp b/mozilla/content/html/document/src/nsHTMLDocument.cpp
index 109df229943..2d4a69c7fd7 100644
--- a/mozilla/content/html/document/src/nsHTMLDocument.cpp
+++ b/mozilla/content/html/document/src/nsHTMLDocument.cpp
@@ -1719,20 +1719,23 @@ nsHTMLDocument::GetBody(nsIDOMHTMLElement** aBody)
nsCOMPtr nodeList;
- // XXX: This is not quite right, and we should deal with XHTML
- // here too.
- nsresult rv = GetElementsByTagName(NS_LITERAL_STRING("frameset"),
- getter_AddRefs(nodeList));
- if (NS_FAILED(rv))
- return rv;
+ nsresult rv;
+ if (IsXHTML()) {
+ rv = GetElementsByTagNameNS(NS_LITERAL_STRING(NS_HTML_NAMESPACE),
+ NS_LITERAL_STRING("frameset"),
+ getter_AddRefs(nodeList));
+ } else {
+ rv = GetElementsByTagName(NS_LITERAL_STRING("frameset"),
+ getter_AddRefs(nodeList));
+ }
if (nodeList) {
- rv = nodeList->Item(0, getter_AddRefs(node));
- if (NS_FAILED(rv))
- return rv;
+ rv |= nodeList->Item(0, getter_AddRefs(node));
element = node;
}
+
+ NS_ENSURE_SUCCESS(rv, rv);
}
return element ? CallQueryInterface(element, aBody) : NS_OK;
@@ -2175,7 +2178,7 @@ nsHTMLDocument::Open(PRBool aReplace, nsIDOMDocument** aReturn)
return CallQueryInterface(this, aReturn);
}
-#define NS_GENERATE_PARSER_KEY() (void*)((mIsWriting << 31) | (mWriteLevel & 0x7fffffff))
+#define NS_GENERATE_PARSER_KEY() NS_INT32_TO_PTR((mIsWriting << 31) | (mWriteLevel & 0x7fffffff))
NS_IMETHODIMP
nsHTMLDocument::Clear()