зеркало из https://github.com/mozilla/gecko-dev.git
Bug 608963 - Deal with an Xray wrapper being delegated to on the proto chain. r=gal a=blocking beta7
This commit is contained in:
Родитель
469511bfbb
Коммит
b3c1195172
|
@ -0,0 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<script>
|
||||
Object.create(location).constructor;
|
||||
</script>
|
||||
|
|
@ -24,3 +24,4 @@ load 512815-1.html
|
|||
load 545291-1.html
|
||||
load 558979.html
|
||||
load 582649.html
|
||||
load 608963.html
|
||||
|
|
|
@ -720,7 +720,9 @@ XrayWrapper<Base, Policy>::get(JSContext *cx, JSObject *wrapper, JSObject *recei
|
|||
js::Value *vp)
|
||||
{
|
||||
// Skip our Base if it isn't already JSProxyHandler.
|
||||
return JSProxyHandler::get(cx, wrapper, receiver, id, vp);
|
||||
// NB: None of the functions we call are prepared for the receiver not
|
||||
// being the wrapper, so ignore the receiver here.
|
||||
return JSProxyHandler::get(cx, wrapper, wrapper, id, vp);
|
||||
}
|
||||
|
||||
template <typename Base, typename Policy>
|
||||
|
@ -729,7 +731,9 @@ XrayWrapper<Base, Policy>::set(JSContext *cx, JSObject *wrapper, JSObject *recei
|
|||
js::Value *vp)
|
||||
{
|
||||
// Skip our Base if it isn't already JSProxyHandler.
|
||||
return JSProxyHandler::set(cx, wrapper, receiver, id, vp);
|
||||
// NB: None of the functions we call are prepared for the receiver not
|
||||
// being the wrapper, so ignore the receiver here.
|
||||
return JSProxyHandler::set(cx, wrapper, wrapper, id, vp);
|
||||
}
|
||||
|
||||
template <typename Base, typename Policy>
|
||||
|
|
Загрузка…
Ссылка в новой задаче