Thanks for flipping the bits, Ayu.

Domenic: it seems like this is part of a longer-running set of changes 
we've had going in DOM-land regarding moving away from subclasses of Error 
types, and IIRC this is a motivating factor in the TAG's Design Principles 
guidance on error types 
<https://www.w3.org/TR/design-principles/#error-types>. Should we cite to 
that? And should the principles be updated to discuss not using subclasses 
with this sort of specific example?

Best,

Alex

On Tuesday, May 6, 2025 at 5:28:48 PM UTC-7 dan...@microsoft.com wrote:

> Can you please request the other review bits in ChromeStatus (privacy, 
> security, etc)?
>
> -- Dan
>
> On Tuesday, May 6, 2025 at 3:42:02 PM UTC-7 ay...@chromium.org wrote:
>
>> Contact emails
>>
>> ay...@chromium.org, dom...@chromium.org 
>>
>
>> Explainer
>>
>> https://github.com/whatwg/webidl/pull/1465
>>
>> Specification
>>
>> https://github.com/whatwg/webidl/pull/1465
>>
>> Summary
>>
>> Currently, when the web platform wants to tell you when you've exceeded 
>> quota, it will use `DOMException` with the specific `name` property set to 
>> `QuotaExceededError`. However this does not allow carrying additional 
>> information.
>>
>> This proposes removing "QuotaExceededError" from the list of built-in 
>> `DOMException` names, and instead creates a class name `QuotaExceededError` 
>> from the list of built-in `DOMException` and has the additional optional 
>> properties `quota` and `requested`. We propose all instances of specs that 
>> throw "QuotaExceededError" `DOMException`s get upgraded to instead throw 
>> `QuotaExceededError`s. For now, such specs would leave the `quota` and 
>> `requested` properties at their default value of `null`, but they could 
>> eventually upgrade to include that data, if it's useful for their use case 
>> (and isn't, e.g., a privacy leak).
>>
>>
>> Blink component
>>
>> Blink 
>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%22>
>>
>> TAG review
>>
>> Review request filed & closed 
>> <https://github.com/w3ctag/design-reviews/issues/1065>
>>
>> TAG review status
>>
>> N/A
>>
>> Risks
>>
>> Interoperability and Compatibility
>>
>> This is technically backward-incompatible with some rare coding patterns. 
>> The spec PR outlines those, and compares them with the more common coding 
>> patterns which work the same even after this change. Given that quota 
>> exceeded exceptions only occur in rare cases anyway, and the most popular 
>> patterns will continue working with no problem, we think the compat risk 
>> here is small. Nevertheless, we'll carefully monitor for breakage, and use 
>> Finch to revert if any serious problems are found.
>>
>> We anticipate low interoperability risk, as we suspect that if Chromium 
>> proves that this is web-compatible, other browsers will quickly follow. And 
>> even during the transition period, the most common coding patterns will 
>> work in all browsers.
>>
>>
>>
>> Gecko: Under consideration (
>> https://github.com/mozilla/standards-positions/issues/1223)
>>
>> WebKit: Pending (https://github.com/WebKit/standards-positions/issues/468
>> )
>>
>> Web developers: No signals
>>
>> Other signals:
>>
>> Ergonomics
>>
>> None
>>
>>
>> Activation
>>
>> N/A
>>
>>
>> Security
>>
>> None
>>
>>
>> WebView application risks
>>
>> Does this intent deprecate or change behavior of existing APIs, such that 
>> it has potentially high risk for Android WebView-based applications?
>>
>> None
>>
>>
>> Debuggability
>>
>> None
>>
>>
>> Will this feature be supported on all six Blink platforms (Windows, Mac, 
>> Linux, ChromeOS, Android, and Android WebView)?
>>
>> Yes
>>
>> Is this feature fully tested by web-platform-tests 
>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>> ?
>>
>> To be added here 
>> <https://crsrc.org/c/third_party/blink/web_tests/external/wpt/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js>
>>
>> Flag name on about://flags
>>
>> None
>>
>> Finch feature name
>>
>> QuotaExceededError
>>
>> Requires code in //chrome?
>>
>> False
>>
>> Measurement
>>
>> N/A
>>
>> Estimated milestones
>>
>> M138
>>
>>
>> Anticipated spec changes
>>
>> Open questions about a feature may be a source of future web compat or 
>> interop issues. Please list open issues (e.g. links to known github issues 
>> in the project for the feature specification) whose resolution may 
>> introduce web compat/interop risk (e.g., changing to naming or structure of 
>> the API in a non-backward-compatible way).
>>
>> We haven't yet sent spec PRs to update all specifications to use this new 
>> error type, but that process is pretty mechanical, and we will do so once 
>> we're sure this sticks. We want to avoid badgering 9 separate spec editors 
>> into merging our update PRs, if there's a possibility we'd then have to 
>> badger them to accept 9 separate revert PRs a couple months later.
>>
>>
>> Link to entry on the Chrome Platform Status
>>
>> https://chromestatus.com/feature/6194847180128256?gate=5011647107956736
>>
>> This intent message was generated by Chrome Platform Status 
>> <https://chromestatus.com/>.
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/9b7ee59b-7346-4870-ab8f-8b549e183868n%40chromium.org.

Reply via email to