Boris Zbarsky wrote:
On 8/11/12 10:42 PM, Brendan Eich wrote:
However, implementations (at least Gecko) give window a proto chain that
is "interesting":

Indeed. For one thing, we haven't switched Window to the new bindings yet.

Could you lay out the new chain here, e.g. viaObject.prototype.toString.call(window.__proto__).slice(8,-1) or better?

I'm hoping my Web Console inspection was accurate for DOM content windows in the current (old) bindings.

This is from a stable-release Firefox Web Console. I believe it matches
a real DOM content window. I don't see EventTarget

Because it's not on the proto chain at all; in Gecko as of today Window doesn't inherit from EventTarget; instead "Window implements EventTarget", effectively. Again, we just haven't switched Window to WebIDL yet.

Sure. Still, either way (old or new bindings), the EventTarget attributes and operations go on a prototype (old: Window.prototype, new: EventTarget.prototype, please correct me if I'm wrong). Which makes for the var+obj-detection hazard.

The Global Scope Polluter you see there, though, is in fact defined in WebIDL.

Cool, I guess. Standardized pollution, what a world!

But the exact chain is not something that should be
standardized in detail.

Why not?

Good question. If browser vendors can agree on total window proto-chain spec for maximum interop, ok. I had thought there were unobservable (prior to ES5) differences among impls that vendors might not want to change. ES5 reflection may disclose these but not create real interop issues.

/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to