[webkit-dev] Question about Constructors in WebKit JS Bindings

Maciej Stachowiak mjs at apple.com
Tue Jun 23 15:43:04 PDT 2009

On Jun 23, 2009, at 3:37 PM, Drew Wilson wrote:

> Not sure. There's language in the WebIDL spec around prototype  
> objects of interface objects, but I'm not sure how  
> window.Worker.prototype is intended to relate to new  
> Worker().prototype (if at all), based on my 10 minutes of scanning  
> specs.

window.Worker.prototype should be the initial value of new  
Worker().__proto__ (or equivalently, of the internal [[Prototype]]  
property). This should be taken from the constructor object actually  
used, I think, but there is no reason to store a global object or  
document reference to achieve this effect.

  - Maciej

> -atw
> On Tue, Jun 23, 2009 at 3:26 PM, Adam Barth <abarth at webkit.org> wrote:
> 2009/6/23 Drew Wilson <atwilson at google.com>:
> > On Tue, Jun 23, 2009 at 11:49 AM, Adam Barth <abarth at webkit.org>  
> wrote:
> >>
> >> > I am not even sure all of these should have the same behavior,
> >> > however. For instance, as I read the Web Workers spec, the  
> lexical global
> >> > object may be correct thing to use for the Worker constructor.
> >>
> >> I looked at the spec briefly.  What leads you to think that?  It's
> >> probably a bug in the spec.
> >
> > Section 4.5 of the web workers spec reads:
> >>
> >> Given a script's global scope o when creating or obtaining a  
> worker, the list of relevant Document objects to add depends on the  
> type of o. If o is a WorkerGlobalScope object (i.e. if we are  
> creating a nested worker), then the relevant Documents are the  
> Documents that are in o's own list of the worker's Documents.  
> Otherwise, o is a Window object, and the relevant Document is just  
> the Document that is the active document of the Window object o.
> >
> > So it seems to imply that parent document for a worker is derived  
> from the currently executing script's global scope. I'll ping IanH  
> about this - it may not be what he intended.
> There's another question, which is where does the prototype chain of
> the JS object you get out of the worker constructor point?  It might
> not have anything to do with this Document calculation.
> Adam

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20090623/bdf000f9/attachment.html>

More information about the webkit-dev mailing list