Implement static Response.json (#36589)

Implements https://fetch.spec.whatwg.org/#dom-response-json
Restructured the constructor to follow the spec more closely with a
separate "initialize the response" algorithm.

Testing: There are existing WPT tests for this.

---------

Signed-off-by: Sebastian C <sebsebmc@gmail.com>
This commit is contained in:
Sebastian C 2025-04-25 03:49:21 -05:00 committed by GitHub
parent dc0c067c9b
commit 281d942981
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 215 additions and 179 deletions

View file

@ -1,73 +1,3 @@
[response-static-json.any.worker.html]
[Check response returned by static json() with init undefined]
expected: FAIL
[Check response returned by static json() with init {"status":400}]
expected: FAIL
[Check response returned by static json() with init {"statusText":"foo"}]
expected: FAIL
[Check response returned by static json() with init {"headers":{}}]
expected: FAIL
[Check response returned by static json() with init {"headers":{"content-type":"foo/bar"}}]
expected: FAIL
[Check response returned by static json() with init {"headers":{"x-foo":"bar"}}]
expected: FAIL
[Check static json() encodes JSON objects correctly]
expected: FAIL
[Check static json() propagates JSON serializer errors]
expected: FAIL
[Check response returned by static json() with input 𝌆]
expected: FAIL
[Check response returned by static json() with input U+df06U+d834]
expected: FAIL
[Check response returned by static json() with input U+dead]
expected: FAIL
[response-static-json.any.html]
[Check response returned by static json() with init undefined]
expected: FAIL
[Check response returned by static json() with init {"status":400}]
expected: FAIL
[Check response returned by static json() with init {"statusText":"foo"}]
expected: FAIL
[Check response returned by static json() with init {"headers":{}}]
expected: FAIL
[Check response returned by static json() with init {"headers":{"content-type":"foo/bar"}}]
expected: FAIL
[Check response returned by static json() with init {"headers":{"x-foo":"bar"}}]
expected: FAIL
[Check static json() encodes JSON objects correctly]
expected: FAIL
[Check static json() propagates JSON serializer errors]
expected: FAIL
[Check response returned by static json() with input 𝌆]
expected: FAIL
[Check response returned by static json() with input U+df06U+d834]
expected: FAIL
[Check response returned by static json() with input U+dead]
expected: FAIL
[response-static-json.any.sharedworker.html]
expected: ERROR