bug 308806: changes to an object's toString method are not reflected when calling toLocaleString. r=shaver

This commit is contained in:
mrbkap%gmail.com 2005-09-29 21:54:37 +00:00
Родитель d57bdb684f
Коммит 0c01573eca
1 изменённых файлов: 15 добавлений и 1 удалений

Просмотреть файл

@ -1016,6 +1016,20 @@ js_obj_toString(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
return JS_TRUE;
}
static JSBool
js_obj_toLocaleString(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
jsval *rval)
{
JSString *value;
value = js_ValueToString(cx, argv[-1]);
if (!value)
return JS_FALSE;
*rval = STRING_TO_JSVAL(value);
return JS_TRUE;
}
static JSBool
obj_valueOf(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
@ -1493,7 +1507,7 @@ static JSFunctionSpec object_methods[] = {
{js_toSource_str, js_obj_toSource, 0, 0, OBJ_TOSTRING_EXTRA},
#endif
{js_toString_str, js_obj_toString, 0, 0, OBJ_TOSTRING_EXTRA},
{js_toLocaleString_str, js_obj_toString, 0, 0, OBJ_TOSTRING_EXTRA},
{js_toLocaleString_str, js_obj_toLocaleString, 0, 0, OBJ_TOSTRING_EXTRA},
{js_valueOf_str, obj_valueOf, 0,0,0},
{js_eval_str, obj_eval, 1,0,0},
#if JS_HAS_OBJ_WATCHPOINT