Closed Bug 1574112 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 18335 - Implement WebSocketStream

Categories

(Core :: Networking: WebSockets, task, P4)

task

Tracking

()

RESOLVED FIXED
mozilla70
Tracking Status
firefox70 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream][necko-triaged])

Sync web-platform-tests PR 18335 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/18335
Details from upstream follow.

Adam Rice <ricea@chromium.org> wrote:

Implement WebSocketStream

WebSocketStream is a new API for the WebSocket protocol that uses
streams to support backpressure.

See the explainer for more justification:
https://github.com/ricea/websocketstream-explainer/blob/master/README.md

This CL implements WebSocketStream behind the
experimental-web-platform-features flag.

See the design doc at https://docs.google.com/document/d/1XuxEshh5VYBYm1qRVKordTamCOsR-uGQBCYFcHXP4L0/edit#heading=h.7nki9mck5t64

Bug: 983030
Change-Id: I3002fd52ab151acb579e96a24985988e3fd35053
Reviewed-on: https://chromium-review.googlesource.com/1735156
WPT-Export-Revision: 0f1e335f0dc9aa657a6656dc02228dadf8319ec2

Component: web-platform-tests → Networking: WebSockets
Product: Testing → Core
Whiteboard: [wptsync downstream] → [wptsync downstream][necko-triaged]
Ran 8 tests and 144 subtests
OK     : 8
FAIL   : 144

New tests that have failures or other problems:
/websockets/stream-tentative/close.any.html
    aborting the writable should result in a clean close: FAIL
    aborting the writable with a DOMException should be ignored: FAIL
    aborting the writable with a code and reason should use them: FAIL
    aborting the writable with a code should send that code: FAIL
    aborting the writable with a reason but no code should be ignored: FAIL
    aborting the writable with an invalid code should be ignored: FAIL
    aborting the writable with an invalid reason should be ignored: FAIL
    canceling the readable should result in a clean close: FAIL
    canceling the readable with a DOMException should be ignored: FAIL
    canceling the readable with a code and reason should use them: FAIL
    canceling the readable with a code should send that code: FAIL
    canceling the readable with a reason but no code should be ignored: FAIL
    canceling the readable with an invalid code should be ignored: FAIL
    canceling the readable with an invalid reason should be ignored: FAIL
    close code should be sent to server and reflected back: FAIL
    close during handshake should work: FAIL
    close() with an overlong reason should throw: FAIL
    close() with invalid code 1001 should throw: FAIL
    close() with invalid code 2999 should throw: FAIL
    close() with invalid code 5000 should throw: FAIL
    close() with invalid code 999 should throw: FAIL
    close(true) should throw a TypeError: FAIL
    closing the writable should result in a clean close: FAIL
    no close argument should send empty Close frame: FAIL
    unspecified close code should send empty Close frame: FAIL
    unspecified close code with empty reason should send empty Close frame: FAIL
    unspecified close code with non-empty reason should set code to 1000: FAIL
    writer close() promise should not resolve until handshake completes: FAIL
/websockets/stream-tentative/close.any.serviceworker.html
    aborting the writable should result in a clean close: FAIL
    aborting the writable with a DOMException should be ignored: FAIL
    aborting the writable with a code and reason should use them: FAIL
    aborting the writable with a code should send that code: FAIL
    aborting the writable with a reason but no code should be ignored: FAIL
    aborting the writable with an invalid code should be ignored: FAIL
    aborting the writable with an invalid reason should be ignored: FAIL
    canceling the readable should result in a clean close: FAIL
    canceling the readable with a DOMException should be ignored: FAIL
    canceling the readable with a code and reason should use them: FAIL
    canceling the readable with a code should send that code: FAIL
    canceling the readable with a reason but no code should be ignored: FAIL
    canceling the readable with an invalid code should be ignored: FAIL
    canceling the readable with an invalid reason should be ignored: FAIL
    close code should be sent to server and reflected back: FAIL
    close during handshake should work: FAIL
    close() with an overlong reason should throw: FAIL
    close() with invalid code 1001 should throw: FAIL
    close() with invalid code 2999 should throw: FAIL
    close() with invalid code 5000 should throw: FAIL
    close() with invalid code 999 should throw: FAIL
    close(true) should throw a TypeError: FAIL
    closing the writable should result in a clean close: FAIL
    no close argument should send empty Close frame: FAIL
    unspecified close code should send empty Close frame: FAIL
    unspecified close code with empty reason should send empty Close frame: FAIL
    unspecified close code with non-empty reason should set code to 1000: FAIL
    writer close() promise should not resolve until handshake completes: FAIL
/websockets/stream-tentative/close.any.sharedworker.html
    aborting the writable should result in a clean close: FAIL
    aborting the writable with a DOMException should be ignored: FAIL
    aborting the writable with a code and reason should use them: FAIL
    aborting the writable with a code should send that code: FAIL
    aborting the writable with a reason but no code should be ignored: FAIL
    aborting the writable with an invalid code should be ignored: FAIL
    aborting the writable with an invalid reason should be ignored: FAIL
    canceling the readable should result in a clean close: FAIL
    canceling the readable with a DOMException should be ignored: FAIL
    canceling the readable with a code and reason should use them: FAIL
    canceling the readable with a code should send that code: FAIL
    canceling the readable with a reason but no code should be ignored: FAIL
    canceling the readable with an invalid code should be ignored: FAIL
    canceling the readable with an invalid reason should be ignored: FAIL
    close code should be sent to server and reflected back: FAIL
    close during handshake should work: FAIL
    close() with an overlong reason should throw: FAIL
    close() with invalid code 1001 should throw: FAIL
    close() with invalid code 2999 should throw: FAIL
    close() with invalid code 5000 should throw: FAIL
    close() with invalid code 999 should throw: FAIL
    close(true) should throw a TypeError: FAIL
    closing the writable should result in a clean close: FAIL
    no close argument should send empty Close frame: FAIL
    unspecified close code should send empty Close frame: FAIL
    unspecified close code with empty reason should send empty Close frame: FAIL
    unspecified close code with non-empty reason should set code to 1000: FAIL
    writer close() promise should not resolve until handshake completes: FAIL
/websockets/stream-tentative/close.any.worker.html
    aborting the writable should result in a clean close: FAIL
    aborting the writable with a DOMException should be ignored: FAIL
    aborting the writable with a code and reason should use them: FAIL
    aborting the writable with a code should send that code: FAIL
    aborting the writable with a reason but no code should be ignored: FAIL
    aborting the writable with an invalid code should be ignored: FAIL
    aborting the writable with an invalid reason should be ignored: FAIL
    canceling the readable should result in a clean close: FAIL
    canceling the readable with a DOMException should be ignored: FAIL
    canceling the readable with a code and reason should use them: FAIL
    canceling the readable with a code should send that code: FAIL
    canceling the readable with a reason but no code should be ignored: FAIL
    canceling the readable with an invalid code should be ignored: FAIL
    canceling the readable with an invalid reason should be ignored: FAIL
    close code should be sent to server and reflected back: FAIL
    close during handshake should work: FAIL
    close() with an overlong reason should throw: FAIL
    close() with invalid code 1001 should throw: FAIL
    close() with invalid code 2999 should throw: FAIL
    close() with invalid code 5000 should throw: FAIL
    close() with invalid code 999 should throw: FAIL
    close(true) should throw a TypeError: FAIL
    closing the writable should result in a clean close: FAIL
    no close argument should send empty Close frame: FAIL
    unspecified close code should send empty Close frame: FAIL
    unspecified close code with empty reason should send empty Close frame: FAIL
    unspecified close code with non-empty reason should set code to 1000: FAIL
    writer close() promise should not resolve until handshake completes: FAIL
/websockets/stream-tentative/constructor.any.html
    connection failure should reject the promises: FAIL
    constructing with a valid URL should work: FAIL
    constructing with an invalid URL should throw: FAIL
    constructing with invalid options should throw: FAIL
    constructing with no URL should throw: FAIL
    protocols should be required to be a list: FAIL
    setting a protocol in the constructor should work: FAIL
    wss.connection should resolve to the right types: FAIL
/websockets/stream-tentative/constructor.any.serviceworker.html
    connection failure should reject the promises: FAIL
    constructing with a valid URL should work: FAIL
    constructing with an invalid URL should throw: FAIL
    constructing with invalid options should throw: FAIL
    constructing with no URL should throw: FAIL
    protocols should be required to be a list: FAIL
    setting a protocol in the constructor should work: FAIL
    wss.connection should resolve to the right types: FAIL
/websockets/stream-tentative/constructor.any.sharedworker.html
    connection failure should reject the promises: FAIL
    constructing with a valid URL should work: FAIL
    constructing with an invalid URL should throw: FAIL
    constructing with invalid options should throw: FAIL
    constructing with no URL should throw: FAIL
    protocols should be required to be a list: FAIL
    setting a protocol in the constructor should work: FAIL
    wss.connection should resolve to the right types: FAIL
/websockets/stream-tentative/constructor.any.worker.html
    connection failure should reject the promises: FAIL
    constructing with a valid URL should work: FAIL
    constructing with an invalid URL should throw: FAIL
    constructing with invalid options should throw: FAIL
    constructing with no URL should throw: FAIL
    protocols should be required to be a list: FAIL
    setting a protocol in the constructor should work: FAIL
    wss.connection should resolve to the right types: FAIL
Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/dae3c33acdf5
[wpt PR 18335] - Implement WebSocketStream, a=testonly
https://hg.mozilla.org/integration/mozilla-inbound/rev/79cce093d791
[wpt PR 18335] - Update wpt metadata, a=testonly
Pushed by james@hoppipolla.co.uk:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d9336d1a7866
[wpt PR 18335] - Implement WebSocketStream, a=testonly
https://hg.mozilla.org/integration/mozilla-inbound/rev/09a8e080935e
[wpt PR 18335] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
You need to log in before you can comment on or make changes to this bug.