https://w3c.github.io/IndexedDB/#database-operations has the (perhaps bold) claim that "Invocations of StructuredDeserialize() in the operation steps below can be asserted not to throw (as indicated by the ! prefix) because they operate only on previous output of StructuredSerializeForStorage()."
I'm not sure if that is a valid argument, and even if it is today it puts requirements on other specs that authors of those specs might not realize. A couple of things that would need to be valid for this to true:
any interface that can be serialized for storage needs to be exposed in all global interfaces where indexed db itself is exposed
the deserialization steps for any interface must never throw if the input to them was the result of serializing that interface for storage
If those are requirements this spec is actually relying on, that should probably at least be reflected as requirements for the serialization steps and deserialization steps in the HTML spec?
https://w3c.github.io/IndexedDB/#database-operations has the (perhaps bold) claim that "Invocations of StructuredDeserialize() in the operation steps below can be asserted not to throw (as indicated by the ! prefix) because they operate only on previous output of StructuredSerializeForStorage()."
I'm not sure if that is a valid argument, and even if it is today it puts requirements on other specs that authors of those specs might not realize. A couple of things that would need to be valid for this to true:
If those are requirements this spec is actually relying on, that should probably at least be reflected as requirements for the serialization steps and deserialization steps in the HTML spec?