} else { blockFrame = nsnull;
nsresult FindLineContaining(nsIFrame* aFrame, nsIFrame** aBlock, PRInt32* aLine){  nsIFrame *blockFrame = aFrame;  nsIFrame *thisBlock;  nsCOMPtr<nsILineIteratorNavigator> it;   nsresult result = NS_ERROR_FAILURE;  while (NS_FAILED(result) && blockFrame)  {    thisBlock = blockFrame;    result = blockFrame->GetParent(&blockFrame);    if (NS_SUCCEEDED(result) && blockFrame) {      it = do_QueryInterface(blockFrame, &result);    }    else {      blockFrame = nsnull;    }  }  if (!blockFrame || !it)    return NS_ERROR_FAILURE;  *aBlock = blockFrame;  return it->FindLineContaining(thisBlock, aLine);  }