[heycam/webidl] Disallow multiple [LegacyFactoryFunction] identifiers per interface (#878)

Currently, the following is allowed:
```webidl
[LegacyFactoryFunction=A(),
 LegacyFactoryFunction=B(optional DOMString src),
 LegacyFactoryFunction=C(optional long width, optional long height)]
interface MultipleLegacyFactoryFunctionInterface {};
```

But it’s not used anywhere, and **Chromium**’s **WebIDL** processor doesn’t support it, and **WebIDL2JS** doesn’t intend to support it either (<https://github.com/jsdom/webidl2js/pull/213#issuecomment-621277733>).

---

This doesn’t intend to deprecate overloaded `[LegacyFactoryFunction]`s, which share the same identifier:
```webidl
[LegacyFactoryFunction=Overloaded(),
 LegacyFactoryFunction=Overloaded(optional DOMString src),
 LegacyFactoryFunction=Overloaded(optional long width, optional long height)]
interface OverloadedLegacyFactoryFunctionInterface {};
```

---

/cc @domenic

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/issues/878

Received on Wednesday, 29 April 2020 16:45:54 UTC