bug 310927: Use JSPROP_SHARED to prevent phantom nodelist elements from reappearing instead of trying to void out non-existant properties (and thus voiding out non-numeric properties as well). r=jst sr=brendan

This commit is contained in:
mrbkap%gmail.com 2005-10-12 19:07:42 +00:00
parent b957c8d0a7
commit 4a6dc50c3e

View File

@ -6776,7 +6776,7 @@ nsGenericArraySH::NewResolve(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
if ((PRUint32)n < length) {
*_retval = ::JS_DefineElement(cx, obj, n, JSVAL_VOID, nsnull, nsnull,
JSPROP_ENUMERATE);
JSPROP_ENUMERATE | JSPROP_SHARED);
*objp = obj;
}
}
@ -6812,7 +6812,7 @@ nsGenericArraySH::Enumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
PR_snprintf(buf, sizeof(buf), "%d", i);
ok = ::JS_DefineProperty(cx, obj, buf, JSVAL_VOID, nsnull, nsnull,
JSPROP_ENUMERATE);
JSPROP_ENUMERATE | JSPROP_SHARED);
}
}
@ -6865,9 +6865,6 @@ nsArraySH::GetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
rv = NS_SUCCESS_I_DID_SOMETHING;
}
else {
*vp = JSVAL_VOID;
}
}
return rv;
@ -6908,9 +6905,6 @@ nsNamedArraySH::GetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
rv = NS_SUCCESS_I_DID_SOMETHING;
}
else {
*vp = JSVAL_VOID;
}
// Don't fall through to nsArraySH::GetProperty() here
return rv;