On Thu, Jul 16, 2009 at 1:52 PM, Adam Barth<[email protected]> wrote: > On Thu, Jul 16, 2009 at 1:13 PM, Jonas Sicking<[email protected]> wrote: >> On Thu, Jul 16, 2009 at 10:45 AM, Adam Barth<[email protected]> 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
