Skip to content

Is it really true that StructuredDeserialize can't throw in this spec? #391

@mkruisselbrink

Description

@mkruisselbrink

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions