- From: Domenic Denicola <notifications@github.com>
- Date: Sat, 18 Jan 2020 13:01:27 -0800
- To: heycam/webidl <webidl@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Saturday, 18 January 2020 21:01:29 UTC
The Web IDL spec says > If an object implements more than one interface that defines a given special operation, then it is undefined which (if any) special operation is invoked for that operation. However we have on the platform ```webidl [Exposed=Window] interface HTMLFormControlsCollection : HTMLCollection { // inherits length and item() getter (RadioNodeList or Element)? namedItem(DOMString name); // shadows inherited namedItem() }; [Exposed=Window, LegacyUnenumerableNamedProperties] interface HTMLCollection { readonly attribute unsigned long length; getter Element? item(unsigned long index); getter Element? namedItem(DOMString name); }; ``` Thus instances of `HTMLFormControlsCollection` implement two interface that both defined named getters, and we're in some kind of undefined situation. We should presumably instead update the Web IDL spec to use the most-derived operation. The normative text in e.g. [LegacyPlatformObjectGetOwnProperty](https://heycam.github.io/webidl/#LegacyPlatformObjectGetOwnProperty) is pretty unclear right now, talking a lot about running steps but not specifying what interface to run them for. -- 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/833
Received on Saturday, 18 January 2020 21:01:29 UTC