- From: Jonas Sicking <jonas@sicking.cc>
- Date: Thu, 16 Jul 2009 14:44:09 -0700
- To: Adam Barth <w3c@adambarth.com>
- Cc: public-webapps <public-webapps@w3.org>, Maciej Stachowiak <mjs@apple.com>
On Thu, Jul 16, 2009 at 1:52 PM, Adam Barth<w3c@adambarth.com> wrote: > 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. :) A bug would be great, yes :) / Jonas
Received on Thursday, 16 July 2009 21:45:03 UTC