I'm requesting a TAG review of an updated QuotaExceededError interface.
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" DOMExceptions get upgraded to instead throw QuotaExceededErrors. 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).
WPT Tests: To be added (current DomException WPT here)
Security and Privacy self-review²: This should not be applicable to this change. While it allows features to allow carrying additional information, it does not require it. It should be evaluated case-by-case to ensure it does not cause any privacy leaks for that feature.
OpenedMar 6, 2025
こんにちは TAG-さん!
I'm requesting a TAG review of an updated QuotaExceededError interface.
Currently, when the web platform wants to tell you when you've exceeded quota, it will use
DOMException
with the specificname
property set toQuotaExceededError
. 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 nameQuotaExceededError
from the list of built-inDOMException
and has the additional optional propertiesquota
andrequested
. We propose all instances of specs that throw "QuotaExceededError"DOMException
s get upgraded to instead throwQuotaExceededError
s. For now, such specs would leave thequota
andrequested
properties at their default value ofnull
, 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).Further details: