Nathan wrote:
>
> Hey Tom, I think you missed my point. The point was that in David and Boris' 
> discussion they agreed that the DOM should throw if it is given a Proxy in 
> `appendChild`. That sounded to me like it presumed that the DOM had a magical 
> ability to distinguish between DOM objects and their proxies. That seemed to 
> contradict the point David made that Proxies should not be distinguishable 
> from their targets (e.g. the no `Proxy.isProxy` decision). If real DOM had a 
> way to determine if something was a proxy (with a target of a *real* DOM 
> node) and throw but there was no way for an emulated DOM (in a non-DOM 
> environment) to determine if an object was a proxy with a target to an 
> emulated DOM node or just a plain emulated DOM node, then the DOM has magical 
> abilities that the emulated DOM can't have. That was my concern.
>
> David's reply works, though, I think. He stated that since you have to create 
> DOM nodes using a method of the DOM itself (`document.createElement`, 
> `document.createTextNode`), then emulated DOM could track all objects created 
> and compare them against objects passed into `appendChild`, and since a proxy 
> would have a different object identity from its target, the emulated DOM 
> would have a way to distinguish proxies from their targets.
>
> Nathan


In short, if real DOM can throw when given a proxy of a real DOM node, fake DOM 
should also be able to throw when given a proxy of a fake DOM node.             
                          
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to