NS_ASSERTION(0, "NOT IMPLEMENTED"); return NS_ERROR_NOT_IMPLEMENTED;
nsCOMPtr<nsIDOMSelection> selection; nsresult rv; rv = GetDocumentSelection(getter_AddRefs(selection)); if (NS_FAILED(rv)) return rv;  nsCOMPtr<nsIDOMHTMLDocument> htmldoc = do_QueryInterface(mDocument); nsCOMPtr<nsIDOMNode> bodyNode;  if (htmldoc) { nsCOMPtr<nsIDOMHTMLElement>bodyElement; rv = htmldoc->GetBody(getter_AddRefs(bodyElement)); if (NS_FAILED(rv) || !bodyElement) return rv;  bodyNode = do_QueryInterface(bodyElement); } else if (mDocument) { nsCOMPtr<nsIContent> rootContent = getter_AddRefs(mDocument->GetRootContent()); bodyNode = do_QueryInterface(rootContent); } if (!bodyNode) return NS_ERROR_FAILURE;  rv = selection->ClearSelection(); if (NS_FAILED(rv)) return rv;  static NS_DEFINE_CID(kCDOMRangeCID,           NS_RANGE_CID); nsCOMPtr<nsIDOMRange> range; rv = nsComponentManager::CreateInstance(kCDOMRangeCID, nsnull, NS_GET_IID(nsIDOMRange), getter_AddRefs(range));  rv = range->SelectNodeContents(bodyNode); if (NS_FAILED(rv)) return rv;  rv = selection->AddRange(range); return rv;
NS_IMETHODIMP DocumentViewerImpl::SelectAll(){  NS_ASSERTION(0, "NOT IMPLEMENTED");  return NS_ERROR_NOT_IMPLEMENTED;}