- From: Adam Barth <w3c@adambarth.com>
- Date: Thu, 16 Jul 2009 13:52:24 -0700
- To: Jonas Sicking <jonas@sicking.cc>
- Cc: public-webapps <public-webapps@w3.org>, Maciej Stachowiak <mjs@apple.com>
On Thu, Jul 16, 2009 at 1:13 PM, Jonas Sicking<jonas@sicking.cc> wrote: > On Thu, Jul 16, 2009 at 10:45 AM, Adam Barth<w3c@adambarth.com> wrote: >> When a browser creates an instance of a DOM object defined by an >> WebIDL interface, the browser must choose where to connect it's >> prototype chain. For example, consider this case (where frames[0] is >> a same-origin child frame): >> >> var doc = frames[0].document; >> >> 1) To which global object's prototypes ought |doc| connect to, the >> parent frame running the script or the child frame from which we >> obtained the document? >> >> My best guess is that the prototype chain ought to connect to the >> child's prototype > > Absolutely. |doc| will simply be pointing to the same object that > frames[0].document does. So the prototype chain must be the same for > both. And it's clear that when code inside frames[0] accesses that > frames document it should have a protochain based on the globals in > that frame. Firefox is much more consistent in this regard than Safari or Chrome: http://webblaze.org/abarth/tests/protoconfused/test1.html However, Firefox does not appear to attach function prototypes correctly. Maybe I should file a bug. :) Adam
Received on Thursday, 16 July 2009 20:53:24 UTC