Support optional message for dataclone error (#36308)

- [x] our [DataClone
error](d733abfca0/components/script/dom/bindings/error.rs (L80))
needs to support an optional message
- [x] we need to add support to our DOMException implementation to allow
an optional message to replace the default message
- [x] we need to create a new struct used by both StructuredDataReader
and StructuredDataWriter for storing the error message in the
report_error_callback
- [x] report_error_callback needs to cast the closure pointer to the new
struct
- [x] the code that [throws a DataClone
error](5d1c64dba9/components/script/dom/bindings/structuredclone.rs (L542))
needs to use the stored error message if it's available

Testing: *Describe how this pull request is tested or why it doesn't
require tests*
Fixes: #36191

---------

Signed-off-by: jerensl <54782057+jerensl@users.noreply.github.com>
This commit is contained in:
Jerens Lensun 2025-04-14 02:10:04 +08:00 committed by GitHub
parent 740a94ef20
commit d5284dfad9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 61 additions and 10 deletions

View file

@ -44,7 +44,7 @@ pub enum Error {
/// InvalidNodeTypeError DOMException
InvalidNodeType,
/// DataCloneError DOMException
DataClone,
DataClone(Option<String>),
/// NoModificationAllowedError DOMException
NoModificationAllowed,
/// QuotaExceededError DOMException