-
-
Notifications
You must be signed in to change notification settings - Fork 33.4k
Closed
Labels
web-standardsIssues and PRs related to Web APIsIssues and PRs related to Web APIs
Description
Version
22.9.0
Platform
N/A
Subsystem
No response
What steps will reproduce the bug?
// transfer should not be null
structuredClone(undefined, { transfer: null });
How often does it reproduce? Is there a required condition?
always
What is the expected behavior? Why is that the expected behavior?
It should throw TypeError
like other runtimes.
What do you see instead?
it passed
Additional information
I didn't find any requirements on type checking, but seems like other runtimes unanimously perform the webidl sequence conversion for transfer
. IMO, we should do the same.
There are two ways to do this.
One is quick win by updating the check here
Line 1032 in a301596
if (transfer_list_v->IsNullOrUndefined()) { |
The other one is to perform WebIDL conversion at JS layer before hitting the native StructuredClone
. I understand the current implementation has been completely moved to cc, so I am not sure if that approach would be more preferable, but it does benefit us from reducing the C++ to JS overhead inside this function
Line 1045 in a301596
if (!ReadIterable(env, context, *transfer_list_out, transfer_list_v) |
Metadata
Metadata
Assignees
Labels
web-standardsIssues and PRs related to Web APIsIssues and PRs related to Web APIs