Re: WebIDL and prototype chains

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