On Jun 23, 2009, at 3:44 PM, Adam Barth wrote:

I don't mean to pick on workers specifically.  We have lots of bugs in
the bindings where we attach the __proto__ property of new objects to
the wrong prototype chain.  My specific concern is that we should fix
these bugs.  :)

Tentatively speaking, I think it's always right to attach to the prototype chain from the constructor object actually used (i.e. the one present in its "prototype" property). Any time we don't do that, I believe it is a bug. (I'm qualifying all my statements because this area is complex enough that I'm unsure whether there are exceptions.)

 - Maciej


Adam


On Tue, Jun 23, 2009 at 3:38 PM, Drew Wilson<atwil...@google.com> wrote:
BTW, Adam - can you elaborate your specific concerns?

On Tue, Jun 23, 2009 at 3:37 PM, Drew Wilson <atwil...@google.com> 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.
-atw

On Tue, Jun 23, 2009 at 3:26 PM, Adam Barth <aba...@webkit.org> wrote:

2009/6/23 Drew Wilson <atwil...@google.com>:
On Tue, Jun 23, 2009 at 11:49 AM, Adam Barth <aba...@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




_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to