nsKeyEvent *keyEvent = (nsKeyEvent *)aGuiEvent; return NS_ERROR_NOT_IMPLEMENTED;
if (!aGuiEvent || !aFrame) return NS_ERROR_NULL_POINTER; if (NS_KEY_DOWN == aGuiEvent->message) { nsCOMPtr<nsIContent> content; if (NS_FAILED(aFrame->GetContent(*getter_AddRefs(content))) || !content) return NS_ERROR_NULL_POINTER; nsCOMPtr<nsIDOMNode> domnode(content); if (!domnode) return NS_ERROR_FAILURE;   PRBool selected; PRInt32 beginoffset; PRInt32 endoffset; PRInt32 contentoffset;  if (NS_SUCCEEDED(aFrame->GetSelected(&selected,&beginoffset,&endoffset, &contentoffset))){ if (domnode != mFocusNode  || (contentoffset + beginoffset) != mFocusOffset) return NS_ERROR_FAILURE; }  nsKeyEvent *keyEvent = (nsKeyEvent *)aGuiEvent; nsIFrame *resultFrame; PRInt32   frameOffset; PRInt32   contentOffset; switch (keyEvent->keyCode){ case nsIDOMEvent::VK_LEFT  :  printf("debug vk left\n"); if (NS_SUCCEEDED(aFrame->PeekOffset(eCharacter, ePrevious, &resultFrame, &frameOffset, &contentOffset)) && resultFrame){ return TakeFocus(aTracker, resultFrame, frameOffset, contentOffset, PR_FALSE); } break; case nsIDOMEvent::VK_RIGHT :  printf("debug vk right\n"); if (NS_SUCCEEDED(aFrame->PeekOffset(eCharacter, eNext, &resultFrame, &frameOffset, &contentOffset)) && resultFrame){ return TakeFocus(aTracker, resultFrame, frameOffset, contentOffset, PR_FALSE); } default :break; } } return NS_OK;
nsRangeList::HandleKeyEvent(nsGUIEvent *aGuiEvent, nsIFrame *aFrame){  nsKeyEvent *keyEvent = (nsKeyEvent *)aGuiEvent;  return NS_ERROR_NOT_IMPLEMENTED;}