return mRangeList->DeleteFromDocument();
nsresult res;     PRBool isCollapsed; mDomSelections[SELECTION_NORMAL]->GetIsCollapsed( &isCollapsed); if (isCollapsed) {  if (mDomSelections[SELECTION_NORMAL]->FetchFocusOffset() > 0) { mDomSelections[SELECTION_NORMAL]->Extend(mDomSelections[SELECTION_NORMAL]->FetchFocusNode(), mDomSelections[SELECTION_NORMAL]->FetchFocusOffset() - 1); } else {  printf("Sorry, don't know how to delete across frame boundaries yet\n"); return NS_ERROR_NOT_IMPLEMENTED; } }   nsRangeListIterator iter(mDomSelections[SELECTION_NORMAL]); res = iter.First(); if (!NS_SUCCEEDED(res)) return res;  nsCOMPtr<nsIDOMRange> range; while (iter.IsDone()) { res = iter.CurrentItem(getter_AddRefs(range)); if (!NS_SUCCEEDED(res)) return res; res = range->DeleteContents(); if (!NS_SUCCEEDED(res)) return res; iter.Next(); }     if (isCollapsed) mDomSelections[SELECTION_NORMAL]->Collapse(mDomSelections[SELECTION_NORMAL]->FetchAnchorNode(), mDomSelections[SELECTION_NORMAL]->FetchAnchorOffset()-1); else if (mDomSelections[SELECTION_NORMAL]->FetchAnchorOffset() > 0) mDomSelections[SELECTION_NORMAL]->Collapse(mDomSelections[SELECTION_NORMAL]->FetchAnchorNode(), mDomSelections[SELECTION_NORMAL]->FetchAnchorOffset()); #ifdef DEBUG else printf("Don't know how to set selection back past frame boundary\n"); #endif  return NS_OK;
nsDOMSelection::DeleteFromDocument(){  return mRangeList->DeleteFromDocument();}