- From: Darien Maillet Valentine <notifications@github.com>
- Date: Sat, 30 Apr 2022 13:43:19 -0700
- To: whatwg/webidl <webidl@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/webidl/issues/1136@github.com>
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