mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-31 22:25:30 +00:00
Xray wrappers don't cache resolved native properties on the holder object (bug 633382, r=mrbkap, a=blocker).
This commit is contained in:
parent
90fd497f4d
commit
8370276722
@ -442,14 +442,19 @@ XrayWrapper<Base>::resolveOwnProperty(JSContext *cx, JSObject *wrapper, jsid id,
|
||||
JSObject *holder = GetHolder(wrapper);
|
||||
JSObject *expando = GetExpandoObject(holder);
|
||||
if (expando) {
|
||||
if (!JS_GetPropertyDescriptorById(cx, expando, id,
|
||||
(set ? JSRESOLVE_ASSIGNING : 0) | JSRESOLVE_QUALIFIED,
|
||||
desc)) {
|
||||
if (!JS_GetPropertyDescriptorById(cx, expando, id, 0, desc)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (desc->obj)
|
||||
if (desc->obj) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!JS_GetPropertyDescriptorById(cx, holder, id, 0, desc)) {
|
||||
return false;
|
||||
}
|
||||
if (desc->obj) {
|
||||
return true;
|
||||
}
|
||||
|
||||
JSObject *wnObject = GetWrappedNativeObjectFromHolder(cx, holder);
|
||||
|
Loading…
Reference in New Issue
Block a user