Tom Van Cutsem wrote:
2012/10/5 Domenic Denicola <[email protected] <mailto:[email protected]>>

    > Indeed, which is why I'm not sure I understand what this idea is
    trying to achieve. Is it more than just an ad hoc way to introduce
    a second namespace?

    Yes, is this noticeably better than just saying "use
    '__space_of_strings_<string>'"? What does this new API accomplish
    that can't already be done with a conventional prefix in the
    normal space of strings?


I also find Symbol.for questionable. If everyone starts to define their symbols using Symbol.for, we have achieved nothing in the way of uniqueness/unforgeability.

Yes, all we'll have done is dodged a name collision with a string-equated property name, at the price of new API and boilerplate using it, plus risk of collision on the argument to Symbol.for!

For the specific case of the iteration protocol, I'd rather use 'iterator' (no dunder affixes) at that point.

If symbols break across frames, I think the fault lies not with the symbols. I think the fault lies with the fact that the object on which the symbol was defined didn't "properly" cross the frame boundaries. Perhaps we need better abstractions to interpose between frame boundaries?

Good point. See

https://developer.mozilla.org/en-US/docs/XPConnect_security_membranes#XPCCrossOriginWrapper

where we nevertheless took advantage of same-process reachability among same-origin frames/windows.

This diagram is now out of date. We always membrane-wrap when crossing frame or window boundaries in Gecko. The membrane for same-origin window boundaries is quite thin, but it could handle symbol unification as you suggest.

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

Reply via email to