diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:35:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:35:29 +0000 |
commit | 59203c63bb777a3bacec32fb8830fba33540e809 (patch) | |
tree | 58298e711c0ff0575818c30485b44a2f21bf28a0 /dom/indexedDB/IDBObjectStore.cpp | |
parent | Adding upstream version 126.0.1. (diff) | |
download | firefox-59203c63bb777a3bacec32fb8830fba33540e809.tar.xz firefox-59203c63bb777a3bacec32fb8830fba33540e809.zip |
Adding upstream version 127.0.upstream/127.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/indexedDB/IDBObjectStore.cpp')
-rw-r--r-- | dom/indexedDB/IDBObjectStore.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/dom/indexedDB/IDBObjectStore.cpp b/dom/indexedDB/IDBObjectStore.cpp index 728f10b105..401c9defb2 100644 --- a/dom/indexedDB/IDBObjectStore.cpp +++ b/dom/indexedDB/IDBObjectStore.cpp @@ -276,12 +276,22 @@ bool CopyingStructuredCloneWriteCallback(JSContext* aCx, aObj); } +void StructuredCloneErrorCallback(JSContext* aCx, uint32_t aErrorId, + void* aClosure, const char* aErrorMessage) { + // This callback is only used to prevent the default cloning TypeErrors + // from being thrown, as we will throw DataCloneErrors instead per spec. +} + nsresult GetAddInfoCallback(JSContext* aCx, void* aClosure) { static const JSStructuredCloneCallbacks kStructuredCloneCallbacks = { - nullptr /* read */, StructuredCloneWriteCallback /* write */, - nullptr /* reportError */, nullptr /* readTransfer */, - nullptr /* writeTransfer */, nullptr /* freeTransfer */, - nullptr /* canTransfer */, nullptr /* sabCloned */ + nullptr /* read */, + StructuredCloneWriteCallback /* write */, + StructuredCloneErrorCallback /* reportError */, + nullptr /* readTransfer */, + nullptr /* writeTransfer */, + nullptr /* freeTransfer */, + nullptr /* canTransfer */, + nullptr /* sabCloned */ }; MOZ_ASSERT(aCx); @@ -555,7 +565,7 @@ bool IDBObjectStore::DeserializeValue( static const JSStructuredCloneCallbacks callbacks = { StructuredCloneReadCallback<StructuredCloneReadInfoChild>, nullptr, - nullptr, + StructuredCloneErrorCallback, nullptr, nullptr, nullptr, @@ -1751,7 +1761,7 @@ bool IDBObjectStore::ValueWrapper::Clone(JSContext* aCx) { static const JSStructuredCloneCallbacks callbacks = { CopyingStructuredCloneReadCallback /* read */, CopyingStructuredCloneWriteCallback /* write */, - nullptr /* reportError */, + StructuredCloneErrorCallback /* reportError */, nullptr /* readTransfer */, nullptr /* writeTransfer */, nullptr /* freeTransfer */, |