[whatwg/webidl] DOMException needs Exposed=* (Issue #1136)

Currently DOMException’s exposure set is `(Window, Worker)`. However there are interfaces whose exposure sets are `*` which define operations that can throw DOMExceptions:

- [AbortController.prototype.abort](https://dom.spec.whatwg.org/#dom-abortcontroller-abort)
- [AbortSignal.abort](https://dom.spec.whatwg.org/#dom-abortsignal-abort)
- [AbortSignal.timeout](https://dom.spec.whatwg.org/#dom-abortsignal-timeout)
- [EventTarget.prototype.dispatchEvent](https://dom.spec.whatwg.org/#dom-eventtarget-dispatchevent)
- ...probably a bunch more

Likewise there are non-universally exposed constructs that not included covered by the `(Window, Worker)` exposure set with steps that specify to throw DOMException, e.g. [PaintWorkletGlobalScope.prototype.registerPaint](https://drafts.css-houdini.org/css-paint-api/#dom-paintworkletglobalscope-registerpaint).

_Curious aside: I checked what Chromium’s current implementation of PaintWorkletGlobalScope does in practice and found that it did throw a DOMException there as advertised yet did not expose DOMException as a global. The surprise was that most interfaces that are allegedly universal weren’t present there, either, so it’s currently an odd little world where `ReadableStreamDefaultController` is at-the-ready but not, say, `URL`._

-- 
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/webidl/issues/1136

You are receiving this because you are subscribed to this thread.

Message ID: <whatwg/webidl/issues/1136@github.com>

Received on Saturday, 30 April 2022 20:43:32 UTC