Skip to content

Commit

Permalink
typed array support for XMLHttpRequest's send API
Browse files Browse the repository at this point in the history
  • Loading branch information
nupurbaghel committed Mar 29, 2018
1 parent a69ecee commit 2009c4e
Show file tree
Hide file tree
Showing 14 changed files with 6 additions and 289 deletions.
2 changes: 1 addition & 1 deletion components/script/dom/webidls/XMLHttpRequest.webidl
Expand Up @@ -13,7 +13,7 @@
*/

// https://fetch.spec.whatwg.org/#bodyinit
typedef (Blob or /*BufferSource or */ FormData or DOMString or URLSearchParams) BodyInit;
typedef (Blob or BufferSource or FormData or DOMString or URLSearchParams) BodyInit;

enum XMLHttpRequestResponseType {
"",
Expand Down
4 changes: 4 additions & 0 deletions components/script/dom/xmlhttprequest.rs
Expand Up @@ -520,6 +520,8 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
Some(DocumentOrBodyInit::FormData(ref formdata)) => Some(formdata.extract()),
Some(DocumentOrBodyInit::String(ref str)) => Some(str.extract()),
Some(DocumentOrBodyInit::URLSearchParams(ref urlsp)) => Some(urlsp.extract()),
Some(DocumentOrBodyInit::ArrayBuffer(ref typedarray)) => Some((typedarray.to_vec(), None)),
Some(DocumentOrBodyInit::ArrayBufferView(ref typedarray)) => Some((typedarray.to_vec(), None)),
None => None,
};

Expand Down Expand Up @@ -1441,6 +1443,8 @@ impl Extractable for BodyInit {
BodyInit::URLSearchParams(ref usp) => usp.extract(),
BodyInit::Blob(ref b) => b.extract(),
BodyInit::FormData(ref formdata) => formdata.extract(),
BodyInit::ArrayBuffer(ref typedarray) => ((typedarray.to_vec(), None)),
BodyInit::ArrayBufferView(ref typedarray) => ((typedarray.to_vec(), None)),
}
}
}
Expand Down
18 changes: 0 additions & 18 deletions tests/wpt/metadata/fetch/api/basic/request-headers.any.js.ini
Expand Up @@ -12,24 +12,6 @@
[Fetch with POST with URLSearchParams body]
expected: FAIL

[Fetch with POST with ArrayBuffer body]
expected: FAIL

[Fetch with POST with Uint8Array body]
expected: FAIL

[Fetch with POST with Int8Array body]
expected: FAIL

[Fetch with POST with Float32Array body]
expected: FAIL

[Fetch with POST with Float64Array body]
expected: FAIL

[Fetch with POST with DataView body]
expected: FAIL

[Fetch with POST with Blob body with mime type]
expected: FAIL

Expand Down
36 changes: 0 additions & 36 deletions tests/wpt/metadata/fetch/api/basic/request-upload.any.js.ini
@@ -1,23 +1,5 @@
[request-upload.any.html]
type: testharness
[Fetch with POST with ArrayBuffer body]
expected: FAIL

[Fetch with POST with Uint8Array body]
expected: FAIL

[Fetch with POST with Int8Array body]
expected: FAIL

[Fetch with POST with Float32Array body]
expected: FAIL

[Fetch with POST with Float64Array body]
expected: FAIL

[Fetch with POST with DataView body]
expected: FAIL

[Fetch with POST with ReadableStream]
expected: FAIL

Expand All @@ -39,24 +21,6 @@

[request-upload.any.worker.html]
type: testharness
[Fetch with POST with ArrayBuffer body]
expected: FAIL

[Fetch with POST with Uint8Array body]
expected: FAIL

[Fetch with POST with Int8Array body]
expected: FAIL

[Fetch with POST with Float32Array body]
expected: FAIL

[Fetch with POST with Float64Array body]
expected: FAIL

[Fetch with POST with DataView body]
expected: FAIL

[Fetch with POST with ReadableStream]
expected: FAIL

Expand Down
24 changes: 0 additions & 24 deletions tests/wpt/metadata/fetch/api/basic/text-utf8.html.ini
Expand Up @@ -12,27 +12,3 @@
[UTF-8 with BOM with fetched data (UTF-16 charset)]
expected: FAIL

[UTF-8 without BOM with Request.text()]
expected: FAIL

[UTF-8 without BOM with Response.text()]
expected: FAIL

[UTF-16BE with BOM decoded as UTF-8 with Request.text()]
expected: FAIL

[UTF-16BE with BOM decoded as UTF-8 with Response.text()]
expected: FAIL

[UTF-16LE with BOM decoded as UTF-8 with Request.text()]
expected: FAIL

[UTF-16LE with BOM decoded as UTF-8 with Response.text()]
expected: FAIL

[UTF-16 without BOM decoded as UTF-8 with Request.text()]
expected: FAIL

[UTF-16 without BOM decoded as UTF-8 with Response.text()]
expected: FAIL

Expand Up @@ -18,9 +18,6 @@
[Consume empty FormData request body as text]
expected: FAIL
[Consume empty ArrayBuffer request body as text]
expected: FAIL
[Consume request's body as json (error case)]
expected: FAIL

Expand Down
33 changes: 1 addition & 32 deletions tests/wpt/metadata/fetch/api/request/request-consume.html.ini
Expand Up @@ -6,37 +6,7 @@
[Consume String request's body as formData]
expected: FAIL

[Consume Int8Array request's body as text]
expected: FAIL
[Consume Int8Array request's body as blob]
expected: FAIL

[Consume Int8Array request's body as arrayBuffer]
expected: FAIL
[Consume ArrayBuffer request's body as text]
expected: FAIL

[Consume Float32Array request's body as blob]
expected: FAIL
[Consume Float32Array request's body as arrayBuffer]
expected: FAIL

[Consume Float32Array request's body as JSON]
expected: FAIL
[Consume DataView request's body as text]
expected: FAIL

[Consume DataView request's body as blob]
expected: FAIL
[Consume DataView request's body as arrayBuffer]
expected: FAIL

[Consume DataView request's body as JSON]
[Trying to consume bad JSON text as JSON: 'undefined']
expected: FAIL

[Consume FormData request's body as FormData]
Expand Down Expand Up @@ -68,4 +38,3 @@
[Consume Float32Array request's body as text]
expected: FAIL
5 changes: 0 additions & 5 deletions tests/wpt/metadata/xhr/send-data-arraybuffer.htm.ini

This file was deleted.

5 changes: 0 additions & 5 deletions tests/wpt/metadata/xhr/send-data-arraybufferview.htm.ini

This file was deleted.

6 changes: 0 additions & 6 deletions tests/wpt/metadata/xhr/setrequestheader-content-type.htm.ini
@@ -1,14 +1,8 @@
[setrequestheader-content-type.htm]
type: testharness
[ArrayBuffer request sends no Content-Type without setRequestHeader() call]
expected: FAIL

[ArrayBuffer request keeps setRequestHeader() Content-Type and charset]
expected: FAIL

[ArrayBufferView request sends no Content-Type without setRequestHeader() call]
expected: FAIL

[ArrayBufferView request keeps setRequestHeader() Content-Type and charset]
expected: FAIL

Expand Down
29 changes: 0 additions & 29 deletions tests/wpt/mozilla/meta/MANIFEST.json
Expand Up @@ -11593,11 +11593,6 @@
{}
]
],
"mozilla/resources/content.py": [
[
{}
]
],
"mozilla/resources/external.js": [
[
{}
Expand Down Expand Up @@ -39096,18 +39091,6 @@
{}
]
],
"mozilla/send-arraybuffer.htm": [
[
"/_mozilla/mozilla/send-arraybuffer.htm",
{}
]
],
"mozilla/send-blob.htm": [
[
"/_mozilla/mozilla/send-blob.htm",
{}
]
],
"mozilla/sequence-hole.html": [
[
"/_mozilla/mozilla/sequence-hole.html",
Expand Down Expand Up @@ -70613,10 +70596,6 @@
"1a76b81400b1e150f008d11180adcdf786e77b67",
"support"
],
"mozilla/resources/content.py": [
"5cf25421cc9c0e0f88a159b363f99f37036d019f",
"support"
],
"mozilla/resources/external.js": [
"78686147f85e4146e7fc58c1f67a613f65b099a2",
"support"
Expand Down Expand Up @@ -70705,14 +70684,6 @@
"fc757effccd93c56ab79b0510a01ae815b7a8714",
"testharness"
],
"mozilla/send-arraybuffer.htm": [
"dc04c6f888458b28bd29a3a43f4dab7f12e72a33",
"testharness"
],
"mozilla/send-blob.htm": [
"5d8d62c0c2c27edbb875183a31a9005c950141cc",
"testharness"
],
"mozilla/sequence-hole.html": [
"db0cc2660c8d937ccf6e3334c92dc48208c69841",
"testharness"
Expand Down
18 changes: 0 additions & 18 deletions tests/wpt/mozilla/tests/mozilla/resources/content.py

This file was deleted.

50 changes: 0 additions & 50 deletions tests/wpt/mozilla/tests/mozilla/send-arraybuffer.htm

This file was deleted.

62 changes: 0 additions & 62 deletions tests/wpt/mozilla/tests/mozilla/send-blob.htm

This file was deleted.

0 comments on commit 2009c4e

Please sign in to comment.