{"action":"opened","issue":{"url":"https://api.github.com/repos/w3c/webrtc-pc/issues/748","repository_url":"https://api.github.com/repos/w3c/webrtc-pc","labels_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/748/labels{/name}","comments_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/748/comments","events_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/748/events","html_url":"https://github.com/w3c/webrtc-pc/issues/748","id":172150310,"number":748,"title":"Interface RTCIdentityProviderGlobalScope should be defined with [Global,Exposed]","user":{"login":"tidoust","id":1122927,"avatar_url":"https://avatars.githubusercontent.com/u/1122927?v=3","gravatar_id":"","url":"https://api.github.com/users/tidoust","html_url":"https://github.com/tidoust","followers_url":"https://api.github.com/users/tidoust/followers","following_url":"https://api.github.com/users/tidoust/following{/other_user}","gists_url":"https://api.github.com/users/tidoust/gists{/gist_id}","starred_url":"https://api.github.com/users/tidoust/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tidoust/subscriptions","organizations_url":"https://api.github.com/users/tidoust/orgs","repos_url":"https://api.github.com/users/tidoust/repos","events_url":"https://api.github.com/users/tidoust/events{/privacy}","received_events_url":"https://api.github.com/users/tidoust/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-08-19T14:55:39Z","updated_at":"2016-08-19T14:55:39Z","closed_at":null,"body":"As defined, the `RTCIdentityProviderGlobalScope` interface cannot be used as a [global object](https://heycam.github.io/webidl/#Global), which is what I think you're trying to create here, and its [exposure set](https://heycam.github.io/webidl/#dfn-exposure-set) is the primary global interface, meaning `Window` in practice and you probably do not want to expose that interface there.\r\n\r\nThe interface should rather be defined as:\r\n\r\n```webidl\r\n[Global, Exposed=RTCIdentityProviderGlobalScope]\r\ninterface RTCIdentityProviderGlobalScope { ... };\r\n```\r\n\r\n(This is similar to the way [SharedWorkerGlobalScope](https://html.spec.whatwg.org/multipage/workers.html#shared-workers-and-the-sharedworkerglobalscope-interface) is defined for instance).\r\n\r\nSimilarly, the `RTCIdentityProviderRegistrar` interface should be exposed on the `RTCIdentityProviderGlobalScope` global:\r\n\r\n```webidl\r\n[Exposed=RTCIdentityProviderGlobalScope]\r\ninterface RTCIdentityProviderRegistrar { ... }\r\n```\r\n\r\nBy the way, the spec currently says: \"The realm is populated with a global that implements WorkerGlobalScope\" and never says that the global is actually an instance of the `RTCIdentityProviderGlobalScope` interface.\r\n"}}
{"actor":{"display_login":"tidoust"}}