W3C home > Mailing lists > Public > public-webapps@w3.org > July to September 2009

Re: WebIDL and prototype chains

From: Adam Barth <w3c@adambarth.com>
Date: Thu, 16 Jul 2009 13:52:24 -0700
Message-ID: <7789133a0907161352v47095ec4g49d0d5b480e6cc28@mail.gmail.com>
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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 18:49:32 GMT