Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Mark transactions inactive during key serialization
  • Loading branch information
nolanlawson committed Oct 25, 2025
commit ad8e2d39f133238b43c69850ac646f6e9600912b
12 changes: 12 additions & 0 deletions index.bs
Original file line number Diff line number Diff line change
Expand Up @@ -3010,13 +3010,25 @@ To <dfn>add or put</dfn> with |handle|, |value|, |key|, and |no-overwrite flag|,

1. If |key| was given, then:

1. [=/Assert=]: |transaction|'s [=transaction/state=] is [=transaction/active=].

1. Set |transaction|'s [=transaction/state=] to [=transaction/inactive=].

NOTE:
The [=/transaction=] is made [=transaction/inactive=] so that getters or other side effects triggered by the cloning operation are unable to make additional requests against the transaction.

1. Let |r| be the result of [=/converting a
value to a key=] with |key|. Rethrow any exceptions.

1. Set |transaction|'s [=transaction/state=] to [=transaction/active=].

1. If |r| is "invalid value" or "invalid type", [=exception/throw=] a "{{DataError}}" {{DOMException}}.

1. Let |r| is "invalid value" or "invalid type", [=exception/throw=] a "{{DataError}}" {{DOMException}}.

1. Let |key| be |r|.


1. Let |targetRealm| be a user-agent defined [=ECMAScript/Realm=].

1. Let |clone| be a [=clone=] of |value| in |targetRealm| during |transaction|.
Expand Down