Repro:
(1) Define an interface 'Foo' via IDL with [SecureContext] and [Exposed=(Window,Worker)], e.g.
[SecureContext, Exposed=(Window,Worker)]
interface Foo {};
Expected:
`Foo` is exposed as a property of the global, i.e. `'Foo' in self` is true
Actual:
`Foo` is exposed in Window contexts, but not Worker contexts.
Note that [SecureContext] attributes on interfaces marked [Exposed=Worker] do appear, so if e.g. there's a `navigator.foo` you can get at instances from a secure context, but the interface names themselves aren't registered.
Comment 1 by jsb...@chromium.org
, Nov 16 2017