Since proxies always have a target, it would be simple enough for the DOM internally to use the proxy target. As to whether that's going to happen, I guess that would be up to implementers.
On Tue, Jan 8, 2013 at 4:15 PM, Andrea Giammarchi < andrea.giammar...@gmail.com> wrote: > never even tried that since cloneNode() has been good enough but Proxies > are more powerful than "just inheritance" so, as it is now, we are trapped > for the DOM while Object.observe(), if I remember correctly, was > reacting/working with DOM too plus makes object somehow "proxified" or > better "observed". > > I assume we have no solutions now and no solution is discussed, am I > correct? > > thanks > > > On Tue, Jan 8, 2013 at 12:53 PM, François REMY < > francois.remy....@outlook.com> wrote: > >> This is a known problem called Object identity. We already have this >> problem today with Object.create(document.createElement("p")) which is an >> "instanceof HTMLElement" but is invalid for any DOM purpose. >> >> However, if you take the same P element and set its __proto__ to null, it >> will still be a valid P element for DOM purposes even though it's no an >> "instanceof HTMLElement" anymore. I don't know is this behavior is specced >> anywhere, but this is how it works. >> >> Maybe it would be great to have a way to "confer" the object identify to >> another object, and it could be useful for polyfill use cases. Until now, >> it's not possible to create an object whose native object identity is not >> "neutral". Proxies don't escape to this rule... >> >> >> ________________________________ >> > Date: Tue, 8 Jan 2013 12:40:00 -0800 >> > Subject: direct_proxies "problem" >> > From: andrea.giammar...@gmail.com >> > To: es-discuss@mozilla.org >> > >> > So, I am playing with FF 18 and I have this behavior: >> > >> > var a = new Proxy([], {}); >> > console.log(a instanceof Array); // true >> > console.log(Array.isArray(a)); // true >> > console.log({}.toString.call(a));// [object Array] >> > >> > Function.apply(null, a); // anonymous() >> > >> > Cool uh? there's no way to tell that a is not actually an array but >> rather a proxy: awesome!!! >> > >> > Now I go in that dark place called DOM: >> > >> > var n = new Proxy(document.createElement("p"), {}); >> > console.log(n instanceof HTMLElement);// true >> > console.log({}.toString.call(n)); // true >> > document.body.appendChild(n); >> > // Error: Could not convert JavaScript argument arg 0 >> [nsIDOMHTMLBodyElement.appendChild] >> > >> > Is this meant? 'cause it looks lik ewe have half power here and once >> again inconsistencies ... thanks for explaining me this. >> > >> > >> > br >> > >> > _______________________________________________ es-discuss mailing list >> > es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss >> > > > > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss