{"action":"created","issue":{"url":"https://api.github.com/repos/heycam/webidl/issues/468","repository_url":"https://api.github.com/repos/heycam/webidl","labels_url":"https://api.github.com/repos/heycam/webidl/issues/468/labels{/name}","comments_url":"https://api.github.com/repos/heycam/webidl/issues/468/comments","events_url":"https://api.github.com/repos/heycam/webidl/issues/468/events","html_url":"https://github.com/heycam/webidl/issues/468","id":267764651,"number":468,"title":"Exposing an interface \"on all globals\"","user":{"login":"littledan","id":189835,"avatar_url":"https://avatars3.githubusercontent.com/u/189835?v=4","gravatar_id":"","url":"https://api.github.com/users/littledan","html_url":"https://github.com/littledan","followers_url":"https://api.github.com/users/littledan/followers","following_url":"https://api.github.com/users/littledan/following{/other_user}","gists_url":"https://api.github.com/users/littledan/gists{/gist_id}","starred_url":"https://api.github.com/users/littledan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/littledan/subscriptions","organizations_url":"https://api.github.com/users/littledan/orgs","repos_url":"https://api.github.com/users/littledan/repos","events_url":"https://api.github.com/users/littledan/events{/privacy}","received_events_url":"https://api.github.com/users/littledan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":11,"created_at":"2017-10-23T18:11:12Z","updated_at":"2018-02-23T13:57:48Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"For WebAssembly, I'm using WebIDL to specify the interface between WebAssembly and JavaScript [in this PR](https://github.com/WebAssembly/spec/pull/591). We're trying to avoid tying this into the Web Platform. One of the few ways that the current spec does tie into the Web is, to expose the interface to global objects, it uses `[Exposed=(Window,Worker)]`.\r\n\r\nWhat we really want for Wasm is for it to be exposed on all global objects. One aspect was accidentally omitting it on Worklets, but the bigger aspect is omitting it for everything that's not the web platform. For example, Node.js is likely to eventually enable Wasm support, and so the interface should be created on its global object as well.\r\n\r\nI imagine that a version of Exposed which is everywhere might be useful for the Web Platform as well. APIs like TextEncoder which don't do any particular I/O wouldn't need a change each time another type of global object is added--they could be like new libraries added in the JavaScript standard.\r\n\r\nWhat would you think about an additional extended attribute, or mode of using `[Exposed]`, to support this case?"},"comment":{"url":"https://api.github.com/repos/heycam/webidl/issues/comments/368015758","html_url":"https://github.com/heycam/webidl/issues/468#issuecomment-368015758","issue_url":"https://api.github.com/repos/heycam/webidl/issues/468","id":368015758,"user":{"login":"annevk","id":1544111,"avatar_url":"https://avatars0.githubusercontent.com/u/1544111?v=4","gravatar_id":"","url":"https://api.github.com/users/annevk","html_url":"https://github.com/annevk","followers_url":"https://api.github.com/users/annevk/followers","following_url":"https://api.github.com/users/annevk/following{/other_user}","gists_url":"https://api.github.com/users/annevk/gists{/gist_id}","starred_url":"https://api.github.com/users/annevk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/annevk/subscriptions","organizations_url":"https://api.github.com/users/annevk/orgs","repos_url":"https://api.github.com/users/annevk/repos","events_url":"https://api.github.com/users/annevk/events{/privacy}","received_events_url":"https://api.github.com/users/annevk/received_events","type":"User","site_admin":false},"created_at":"2018-02-23T13:57:48Z","updated_at":"2018-02-23T13:57:48Z","author_association":"COLLABORATOR","body":"@bfgeek @padenot could you say something about https://github.com/heycam/webidl/issues/468#issuecomment-338774080?\r\n\r\nI think worklets are intentionally small in their API surface and therefore I think the preference is that nothing additional is exposed there, unless it adds sufficient utility. It's not entirely clear they need URL parsing (e.g., they don't want `fetch()`) or text encoding/decoding."}}
{"actor":{"display_login":"annevk"}}