script: Implement QuotaExceededError WebIDL interface (#38507)

Implements the new WebIDL interface for QuotaExceededError and uses it
in appropriate places.

Testing: WPT tests. Now passing many more in
`tests/wpt/tests/WebCryptoAPI/getRandomValues.any.js` and
`tests/wpt/tests/webstorage/storage_session_setitem_quotaexceedederr.window.js`.
Fixes: #38489

---------

Signed-off-by: Rahul Menon <menonrahul02@gmail.com>
This commit is contained in:
Rahul Menon 2025-08-14 12:58:50 -05:00 committed by GitHub
parent fad247c802
commit b5932e5abf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 173 additions and 67 deletions

View file

@ -263,7 +263,10 @@ impl IDBTransactionMethods<crate::DomTypeHolder> for IDBTransaction {
// Step 2
if let Err(_result) = result {
// FIXME:(rasviitanen) also support Unknown error
return Err(Error::QuotaExceeded);
return Err(Error::QuotaExceeded {
quota: None,
requested: None,
});
}
// Step 3