for-in loop on proxy does not suppress properties deleted during enumeration (bug 600702, r=brendan)

This commit is contained in:
Andreas Gal 2011-04-16 14:51:18 -07:00
parent ed8e6d5fcf
commit 04ee44b4e6

View File

@ -953,7 +953,7 @@ proxy_DeleteProperty(JSContext *cx, JSObject *obj, jsid id, Value *rval, JSBool
{ {
// TODO: throwing away strict // TODO: throwing away strict
bool deleted; bool deleted;
if (!JSProxy::delete_(cx, obj, id, &deleted)) if (!JSProxy::delete_(cx, obj, id, &deleted) || !js_SuppressDeletedProperty(cx, obj, id))
return false; return false;
rval->setBoolean(deleted); rval->setBoolean(deleted);
return true; return true;