[wpt-sync] Sync PR 34687 - Disallow streaming upload on HTTP/1.1
Categories
(Core :: DOM: Networking, task, P4)
Tracking
()
Tracking | Status | |
---|---|---|
firefox104 | --- | fixed |
People
(Reporter: mozilla.org, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 34687 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/34687
Details from upstream follow.
Yutaka Hirano <yhirano@chromium.org> wrote:
Disallow streaming upload on HTTP/1.1
We decided not to allow the streaming upload feature on HTTP/1.1. Remove
the feature, and move tests accordingly.See also: https://github.com/whatwg/fetch/issues/966
Bug: 688906
Change-Id: I4e616469aad2378495ad81ba9034ca034f8ab1b9Reviewed-on: https://chromium-review.googlesource.com/3734308
WPT-Export-Revision: d7c2516ba7ce6acbf47e6ad04d0780efee8ae28b
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 1•2 years ago
|
||
PR 34687 applied with additional changes from upstream: a9b73f530b73d237b0512968715104c96631c22a
Assignee | ||
Comment 2•2 years ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=38af8ff27532b8cb1f609d1e2093b995ddc5cbf6
Assignee | ||
Comment 3•2 years ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=efa46ec936b513b14216936f436700904e6fc5ad
Assignee | ||
Comment 4•2 years ago
|
||
CI Results
Ran 10 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 8 tests and 23 subtests
Status Summary
Firefox
OK
: 4[Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-32-2004-qr-debug, Gecko-windows10-32-2004-qr-opt, Gecko-windows10-64-2004-qr-debug, Gecko-windows10-64-2004-qr-opt, GitHub] 8[Gecko-android-em-7.0-x86_64-lite-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]
PASS
: 40[Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-32-2004-qr-debug, Gecko-windows10-32-2004-qr-opt, Gecko-windows10-64-2004-qr-debug, Gecko-windows10-64-2004-qr-opt, GitHub] 44[Gecko-android-em-7.0-x86_64-lite-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]
FAIL
: 52[Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-32-2004-qr-debug, Gecko-windows10-32-2004-qr-opt, Gecko-windows10-64-2004-qr-debug, Gecko-windows10-64-2004-qr-opt, GitHub] 92[Gecko-android-em-7.0-x86_64-lite-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]
ERROR
: 4
Chrome
OK
: 8
PASS
: 108
FAIL
: 28
Safari
OK
: 8
PASS
: 68
FAIL
: 68
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
Firefox-only Failures
- /fetch/api/basic/request-upload.h2.any.sharedworker.html [wpt.fyi]:
ERROR
[Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows10-32-2004-qr-debug
,Gecko-windows10-32-2004-qr-opt
,Gecko-windows10-64-2004-qr-debug
,Gecko-windows10-64-2004-qr-opt
,GitHub
],OK
[Gecko-android-em-7.0-x86_64-lite-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
] - /fetch/api/basic/request-upload.h2.any.worker.html [wpt.fyi]:
ERROR
[Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows10-32-2004-qr-debug
,Gecko-windows10-32-2004-qr-opt
,Gecko-windows10-64-2004-qr-debug
,Gecko-windows10-64-2004-qr-opt
,GitHub
],OK
[Gecko-android-em-7.0-x86_64-lite-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
] - /fetch/api/basic/request-upload.h2.any.serviceworker.html [wpt.fyi]:
ERROR
[Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows10-32-2004-qr-debug
,Gecko-windows10-32-2004-qr-opt
,Gecko-windows10-64-2004-qr-debug
,Gecko-windows10-64-2004-qr-opt
,GitHub
],OK
[Gecko-android-em-7.0-x86_64-lite-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
] - /fetch/api/basic/request-upload.h2.any.html [wpt.fyi]:
ERROR
[Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows10-32-2004-qr-debug
,Gecko-windows10-32-2004-qr-opt
,Gecko-windows10-64-2004-qr-debug
,Gecko-windows10-64-2004-qr-opt
,GitHub
],OK
[Gecko-android-em-7.0-x86_64-lite-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
] - /fetch/api/request/request-init-stream.any.serviceworker.html [wpt.fyi]
- Constructing a Request with a stream holds the original object.:
FAIL
- Constructing a Request with a stream on which getReader() is called:
FAIL
- Constructing a Request with a stream on which read() is called:
FAIL
- Constructing a Request with a stream on which read() and releaseLock() are called:
FAIL
- Constructing a Request with a Request on which body.getReader() is called:
FAIL
- Constructing a Request with a Request on which body.getReader().read() is called:
FAIL
- Constructing a Request with a Request on which read() and releaseLock() are called:
FAIL
- Constructing a Request with a stream holds the original object.:
- /fetch/api/request/request-init-stream.any.sharedworker.html [wpt.fyi]
- Constructing a Request with a stream holds the original object.:
FAIL
- Constructing a Request with a stream on which getReader() is called:
FAIL
- Constructing a Request with a stream on which read() is called:
FAIL
- Constructing a Request with a stream on which read() and releaseLock() are called:
FAIL
- Constructing a Request with a Request on which body.getReader() is called:
FAIL
- Constructing a Request with a Request on which body.getReader().read() is called:
FAIL
- Constructing a Request with a Request on which read() and releaseLock() are called:
FAIL
- Constructing a Request with a stream holds the original object.:
- /fetch/api/request/request-init-stream.any.worker.html [wpt.fyi]
- Constructing a Request with a stream holds the original object.:
FAIL
- Constructing a Request with a stream on which getReader() is called:
FAIL
- Constructing a Request with a stream on which read() is called:
FAIL
- Constructing a Request with a stream on which read() and releaseLock() are called:
FAIL
- Constructing a Request with a Request on which body.getReader() is called:
FAIL
- Constructing a Request with a Request on which body.getReader().read() is called:
FAIL
- Constructing a Request with a Request on which read() and releaseLock() are called:
FAIL
- Constructing a Request with a stream holds the original object.:
- /fetch/api/request/request-init-stream.any.html [wpt.fyi]
- Constructing a Request with a stream holds the original object.:
FAIL
- Constructing a Request with a stream on which getReader() is called:
FAIL
- Constructing a Request with a stream on which read() is called:
FAIL
- Constructing a Request with a stream on which read() and releaseLock() are called:
FAIL
- Constructing a Request with a Request on which body.getReader() is called:
FAIL
- Constructing a Request with a Request on which body.getReader().read() is called:
FAIL
- Constructing a Request with a Request on which read() and releaseLock() are called:
FAIL
- Constructing a Request with a stream holds the original object.:
New Tests That Don't Pass
- /fetch/api/basic/request-upload.h2.any.sharedworker.html [wpt.fyi]:
ERROR
[Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows10-32-2004-qr-debug
,Gecko-windows10-32-2004-qr-opt
,Gecko-windows10-64-2004-qr-debug
,Gecko-windows10-64-2004-qr-opt
,GitHub
],OK
[Gecko-android-em-7.0-x86_64-lite-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
] (Chrome:OK
, Safari:OK
)- Fetch with POST with empty ReadableStream:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Fetch with POST with ReadableStream:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Fetch with POST with ReadableStream on 421 response should return the response and not retry.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Feature detect for POST with ReadableStream:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Feature detect for POST with ReadableStream, using request object:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload with body containing a String:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload with body containing null:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload with body containing a number:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload should fail on redirect (302):
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload should fail on a 401 response:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Fetch with POST with empty ReadableStream:
- /fetch/api/basic/request-upload.h2.any.worker.html [wpt.fyi]:
ERROR
[Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows10-32-2004-qr-debug
,Gecko-windows10-32-2004-qr-opt
,Gecko-windows10-64-2004-qr-debug
,Gecko-windows10-64-2004-qr-opt
,GitHub
],OK
[Gecko-android-em-7.0-x86_64-lite-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
] (Chrome:OK
, Safari:OK
)- Fetch with POST with empty ReadableStream:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Fetch with POST with ReadableStream:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Fetch with POST with ReadableStream on 421 response should return the response and not retry.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Feature detect for POST with ReadableStream:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Feature detect for POST with ReadableStream, using request object:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload with body containing a String:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload with body containing null:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload with body containing a number:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload should fail on redirect (302):
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload should fail on a 401 response:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Fetch with POST with empty ReadableStream:
- /fetch/api/basic/request-upload.h2.any.serviceworker.html [wpt.fyi]:
ERROR
[Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows10-32-2004-qr-debug
,Gecko-windows10-32-2004-qr-opt
,Gecko-windows10-64-2004-qr-debug
,Gecko-windows10-64-2004-qr-opt
,GitHub
],OK
[Gecko-android-em-7.0-x86_64-lite-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
] (Chrome:OK
, Safari:OK
)- Fetch with POST with empty ReadableStream:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Fetch with POST with ReadableStream:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Fetch with POST with ReadableStream on 421 response should return the response and not retry.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Feature detect for POST with ReadableStream:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Feature detect for POST with ReadableStream, using request object:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload with body containing a String:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload with body containing null:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload with body containing a number:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload should fail on redirect (302):
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload should fail on a 401 response:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Fetch with POST with empty ReadableStream:
- /fetch/api/basic/request-upload.h2.any.html [wpt.fyi]:
ERROR
[Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows10-32-2004-qr-debug
,Gecko-windows10-32-2004-qr-opt
,Gecko-windows10-64-2004-qr-debug
,Gecko-windows10-64-2004-qr-opt
,GitHub
],OK
[Gecko-android-em-7.0-x86_64-lite-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
] (Chrome:OK
, Safari:OK
)- Fetch with POST with empty ReadableStream:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Fetch with POST with ReadableStream:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Fetch with POST with ReadableStream on 421 response should return the response and not retry.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Feature detect for POST with ReadableStream:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Feature detect for POST with ReadableStream, using request object:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload with body containing a String:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload with body containing null:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload with body containing a number:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload should fail on redirect (302):
FAIL
(Chrome:PASS
, Safari:FAIL
) - Streaming upload should fail on a 401 response:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Fetch with POST with empty ReadableStream:
- /fetch/api/request/request-init-stream.any.serviceworker.html [wpt.fyi]
- Constructing a Request with a stream holds the original object.:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a stream on which getReader() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a stream on which read() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a stream on which read() and releaseLock() are called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a Request on which body.getReader() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a Request on which body.getReader().read() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a Request on which read() and releaseLock() are called:
FAIL
(Chrome:PASS
, Safari:PASS
) - It is error to omit .duplex when the body is a ReadableStream.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is null.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a string.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a Uint8Array.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a Blob.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a ReadableStream.:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Constructing a Request with a stream holds the original object.:
- /fetch/api/request/request-init-stream.any.sharedworker.html [wpt.fyi]
- Constructing a Request with a stream holds the original object.:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a stream on which getReader() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a stream on which read() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a stream on which read() and releaseLock() are called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a Request on which body.getReader() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a Request on which body.getReader().read() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a Request on which read() and releaseLock() are called:
FAIL
(Chrome:PASS
, Safari:PASS
) - It is error to omit .duplex when the body is a ReadableStream.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is null.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a string.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a Uint8Array.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a Blob.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a ReadableStream.:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Constructing a Request with a stream holds the original object.:
- /fetch/api/request/request-init-stream.any.worker.html [wpt.fyi]
- Constructing a Request with a stream holds the original object.:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a stream on which getReader() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a stream on which read() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a stream on which read() and releaseLock() are called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a Request on which body.getReader() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a Request on which body.getReader().read() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a Request on which read() and releaseLock() are called:
FAIL
(Chrome:PASS
, Safari:PASS
) - It is error to omit .duplex when the body is a ReadableStream.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is null.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a string.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a Uint8Array.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a Blob.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a ReadableStream.:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Constructing a Request with a stream holds the original object.:
- /fetch/api/request/request-init-stream.any.html [wpt.fyi]
- Constructing a Request with a stream holds the original object.:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a stream on which getReader() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a stream on which read() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a stream on which read() and releaseLock() are called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a Request on which body.getReader() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a Request on which body.getReader().read() is called:
FAIL
(Chrome:PASS
, Safari:PASS
) - Constructing a Request with a Request on which read() and releaseLock() are called:
FAIL
(Chrome:PASS
, Safari:PASS
) - It is error to omit .duplex when the body is a ReadableStream.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is null.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a string.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a Uint8Array.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a Blob.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It is error to set .duplex = 'full' when the body is a ReadableStream.:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Constructing a Request with a stream holds the original object.:
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6c64deb79beb [wpt PR 34687] - Disallow streaming upload on HTTP/1.1, a=testonly https://hg.mozilla.org/integration/autoland/rev/7114fad8e54e [wpt PR 34687] - Update wpt metadata, a=testonly
Comment 6•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/6c64deb79beb
https://hg.mozilla.org/mozilla-central/rev/7114fad8e54e
Description
•