archives

« Bugzilla Issues Index

#2567 — 9.5.*: Some proxy trap implementations use incorrect check for revocation


The header in 9.5 reads:

"When a proxy is revoked, its [[ProxyHander]] and [[ProxyTarget]] internal slots are set to null causing subsequent invocations of internal methods on that proxy obeject to throw a TypeError exception."

and most of the proxy traps in 9.5.* have a check against if |handler| is |null|, but a few use a check against |undefined|. This seems like the check that implements revocation, and is just a bug in the specification. These checks should check against |null| instead.

The effected operations are:

9.5.4 [[PreventExtensions]]
9.5.9 [[Set]]
9.5.12 [[OwnPropertyKeys]]


fixed in rev23 editor's draft


fixed in rev23 draft