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