mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 821850 - Properly propagate |strict| in JSObject::deleteByValue. r=jorendorff
This commit is contained in:
parent
340661f4dc
commit
bae9282c5c
9
js/src/jit-test/tests/basic/bug821850.js
Normal file
9
js/src/jit-test/tests/basic/bug821850.js
Normal file
@ -0,0 +1,9 @@
|
||||
load(libdir + "asserts.js");
|
||||
|
||||
m={}
|
||||
Object.defineProperty(m, 'p', {value: 3});
|
||||
assertThrowsInstanceOf(function() {"use strict"; delete m.p;}, TypeError);
|
||||
|
||||
x = new Proxy(m, {})
|
||||
assertEq(x.p, 3);
|
||||
assertEq((function fun() {"use strict"; return delete x.p; })(), false);
|
@ -1623,10 +1623,10 @@ JSObject::deleteByValue(JSContext *cx, HandleObject obj,
|
||||
return false;
|
||||
|
||||
if (name->isIndex(&index))
|
||||
return deleteElement(cx, obj, index, rval, false);
|
||||
return deleteElement(cx, obj, index, rval, strict);
|
||||
|
||||
Rooted<PropertyName*> propname(cx, name->asPropertyName());
|
||||
return deleteProperty(cx, obj, propname, rval, false);
|
||||
return deleteProperty(cx, obj, propname, rval, strict);
|
||||
}
|
||||
|
||||
JS_FRIEND_API(bool)
|
||||
|
Loading…
Reference in New Issue
Block a user