This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
JavaScript can now define unique keys. Platform should have that ability as well.
Which parts of this do we need in IDL? Presumably we need to have a way for "SomeInterface.something" to be a well-known symbol (well-known in the sense that SomeInterface.something === otherWindow.SomeInterface.something), right? Do we need anything else? Do we need the ability to put these symbols on Symbol instead of SomeInterface? (I'd say we don't want that, personally.)
Only SomeInterface, Symbol is for TC39. (Although this will get messy of course once they adopt something from DOM again.)
OK. So we could support syntax like so: interface Foo { symbol xyz; } which would make Foo.xyz a well-known symbol whose [[Description]] is "Foo.xyz", right? Do we also need the ability to have symbol-named things on dictionaries or something?
Should probably be: interface Foo { static Symbol xyz; } and then the rules for Symbol would have to define that all code realms need to share the Symbol xyz, just like ES6 defines the well known symbols: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-well-known-symbols
Part of this got addressed by https://github.com/heycam/webidl/pull/377. If the other part is still needed it's probably best to file a new issue for that. It's unclear at this point whether there are use cases.