src.Assign(JS_GetStringChars(jsstring));
src.Assign(NS_REINTERPRET_CAST(const PRUnichar*, JS_GetStringChars(jsstring)));
nsHTMLImageElement::SetProperty(JSContext *aContext, JSObject *aObj, jsval aID, jsval *aVp){  nsresult result = NS_OK;  // XXX Security manager needs to be called  if (JSVAL_IS_STRING(aID)) {    char* cString = JS_GetStringBytes(JS_ValueToString(aContext, aID));        if (PL_strcmp("src", cString) == 0) {      nsCOMPtr<nsIURI> base;      nsAutoString src, url;            // Get the parameter passed in      JSString *jsstring;      if ((jsstring = JS_ValueToString(aContext, *aVp)) != nsnull) {        src.Assign(JS_GetStringChars(jsstring));      }      else {        src.Truncate();      }            // Get the source of the caller      result = GetCallerSourceURL(aContext, getter_AddRefs(base));            if (NS_SUCCEEDED(result)) {        result = NS_MakeAbsoluteURI(url, src, base);        if (NS_SUCCEEDED(result)) {          result = SetSrcInner(base, url);        }      }    }  }  else {    result = mInner.SetProperty(aContext, aObj, aID, aVp);  }    return (result == NS_OK);}