- From: Tobie Langel <notifications@github.com>
- Date: Tue, 17 Oct 2017 19:52:40 +0000 (UTC)
- To: heycam/webidl <webidl@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <heycam/webidl/issues/153/337350301@github.com>
So the question is whether we should normatively disallow tautological constructs, do so informatively, or not at all. If you consider the hierarchy for interfaces or namespaces: 1. interface/namespace 2. (partial interface/namespace) 3. interface/namespace member and that for interface mixins: 1. interface 2. mixin 3. (partial mixin) 4. mixin member Annotating any constructs has a cascading effects on those following (within the same list). So all of the following are redundant. But not all of them are formally disallowed. ```webidl // Your above example; // tautological but not disallowed. [SecureContext] interface Foo {}; partial interface Foo { [SecureContext] void func(); }; ``` ```webidl // Disallowed. [SecureContext] interface Foo { [SecureContext] void func(); }; ``` ```webidl // Disallowed. [SecureContext] partial interface Foo { [SecureContext] void func(); }; ``` ```webidl // Disallowed. [SecureContext] interface mixin Foo { [SecureContext] void func(); }; ``` ```webidl // Disallowed. [SecureContext] interface mixin Foo { [SecureContext] void func(); }; ``` ```webidl // tautological but not disallowed. (Same as your example.) [SecureContext] interface mixin Foo { } partial interface mixin Foo { } [SecureContext] void func(); }; ``` Then there's the special case of mixins (which can be included in both annotated and non-annotated interfaces and must be annotated in both. ```webidl // Allowed [SecureContext] interface Foo { } Foo includes Mixin; interface Bar { } Bar includes Mixin; [SecureContext] interface mixin Mixin { void func(); }; ``` Either way, we must be consistent and fix this open issue. -- 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/153#issuecomment-337350301
Received on Tuesday, 17 October 2017 19:53:03 UTC