nsresult rv;      mIsActive = PR_TRUE; rv = mIOThunk->EvaluateScript();  if (NS_SUCCEEDED(rv)) { rv = mStreamChannel->Open(aResult); } else {  (void) mStreamChannel->Cancel(rv); } mIsActive = PR_FALSE; return rv;
return NS_OK;
nsJSChannel::Open(nsIInputStream **aResult){    nsresult rv;    // Synchronously execute the script...    // mIsActive is used to indicate the the request is 'busy' during the    // the script evaluation phase.  This means that IsPending() will     // indicate the the request is busy while the script is executing...    mIsActive = PR_TRUE;    rv = mIOThunk->EvaluateScript();    if (NS_SUCCEEDED(rv)) {        rv = mStreamChannel->Open(aResult);    } else {        // Propagate the failure down to the underlying channel...        (void) mStreamChannel->Cancel(rv);    }    mIsActive = PR_FALSE;    return rv;}