bool NonVoidStringToJsval(JSContext *cx, nsAString &str, MutableHandleValue rval) { nsStringBuffer* sharedBuffer; if (!XPCStringConvert::ReadableToJSVal(cx, str, &sharedBuffer, rval)) return false; if (sharedBuffer) { // The string was shared but ReadableToJSVal didn't addref it. // Move the ownership from str to jsstr. str.ForgetSharedBuffer(); } return true; }
bool NonVoidStringToJsval(JSContext *cx, nsAString &str, JS::Value *rval) { nsStringBuffer* sharedBuffer; jsval jsstr = XPCStringConvert::ReadableToJSVal(cx, str, &sharedBuffer); if (JSVAL_IS_NULL(jsstr)) return false; *rval = jsstr; if (sharedBuffer) { // The string was shared but ReadableToJSVal didn't addref it. // Move the ownership from str to jsstr. str.ForgetSharedBuffer(); } return true; }