return NS_OK; }    if (stopCount == 0 && checkURITarget()) { rv = mNextGrad->GetStopOffset(aIndex, aOffset); } else { *aOffset = 0.0f; rv = NS_ERROR_FAILURE;
nsSVGGradientFrame::GetStopOffset(PRInt32 aIndex, float *aOffset){  nsIDOMSVGStopElement *stopElement = nsnull;  nsresult rv = NS_OK;  PRInt32 stopCount = GetStopElement(aIndex, &stopElement, nsnull);  if (stopCount && !stopElement) {    *aOffset = 0.0f;    return NS_ERROR_FAILURE;  }  if (stopCount == 0 && !stopElement && checkURITarget()) {    rv = mNextGrad->GetStopOffset(aIndex, aOffset);  } else {    nsCOMPtr<nsIDOMSVGAnimatedNumber> aNum;    stopElement->GetOffset(getter_AddRefs(aNum));    aNum->GetAnimVal(aOffset);    if (*aOffset < 0.0f)      *aOffset = 0.0f;    if (*aOffset > 1.0f)      *aOffset = 1.0f;  }  mLoopFlag = PR_FALSE;  return rv;}