From 877c369e0bc5db4286457be36d015eeb1f0ae2f2 Mon Sep 17 00:00:00 2001 From: Jinwoo Song Date: Sat, 16 May 2015 14:48:27 +0900 Subject: [PATCH] WebSocket constructor should not panic Make an early return when the WebSocket connection fails in the constructor. Also let the WebSockect connection to be closed when the connection could not be established. Fixes #6082. --- components/script/dom/websocket.rs | 11 +- tests/wpt/metadata/FileAPI/progress.html.ini | 3 + .../Create-Secure-blocked-port.htm.ini | 4 +- .../websockets/constructor/004.html.ini | 484 +++++++++++++++++- .../websockets/constructor/005.html.ini | 3 - .../websockets/constructor/007.html.ini | 4 +- .../websockets/constructor/008.html.ini | 3 - .../websockets/constructor/017.html.ini | 3 - .../websockets/constructor/021.html.ini | 4 +- ...feredAmount-defineProperty-getter.html.ini | 3 - ...feredAmount-defineProperty-setter.html.ini | 3 - .../interfaces/WebSocket/events/010.html.ini | 4 +- .../interfaces/WebSocket/events/011.html.ini | 4 +- .../interfaces/WebSocket/events/012.html.ini | 4 +- .../interfaces/WebSocket/events/013.html.ini | 10 +- .../interfaces/WebSocket/events/014.html.ini | 3 - .../interfaces/WebSocket/events/020.html.ini | 3 + .../WebSocket/extensions/001.html.ini | 4 +- .../protocol/protocol-initial.html.ini | 4 +- .../WebSocket/readyState/004.html.ini | 3 - .../WebSocket/readyState/005.html.ini | 3 - .../interfaces/WebSocket/url/005.html.ini | 3 - .../interfaces/WebSocket/url/006.html.ini | 3 - tests/wpt/mozilla/meta/MANIFEST.json | 6 + .../mozilla/websocket_connection_fail.html | 19 + 25 files changed, 557 insertions(+), 41 deletions(-) delete mode 100644 tests/wpt/metadata/websockets/constructor/005.html.ini delete mode 100644 tests/wpt/metadata/websockets/constructor/008.html.ini delete mode 100644 tests/wpt/metadata/websockets/constructor/017.html.ini delete mode 100644 tests/wpt/metadata/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-defineProperty-getter.html.ini delete mode 100644 tests/wpt/metadata/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-defineProperty-setter.html.ini delete mode 100644 tests/wpt/metadata/websockets/interfaces/WebSocket/events/014.html.ini delete mode 100644 tests/wpt/metadata/websockets/interfaces/WebSocket/readyState/004.html.ini delete mode 100644 tests/wpt/metadata/websockets/interfaces/WebSocket/readyState/005.html.ini delete mode 100644 tests/wpt/metadata/websockets/interfaces/WebSocket/url/005.html.ini delete mode 100644 tests/wpt/metadata/websockets/interfaces/WebSocket/url/006.html.ini create mode 100644 tests/wpt/mozilla/tests/mozilla/websocket_connection_fail.html diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index c0c6a6248623..9272346d416d 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -141,7 +141,16 @@ impl WebSocket { // TODO Client::connect does not conform to RFC 6455 // see https://github.com/cyderize/rust-websocket/issues/38 - let request = Client::connect(parsed_url).unwrap(); + let request = match Client::connect(parsed_url) { + Ok(request) => request, + Err(_) => { + let global_root = ws_root.global.root(); + let address = Trusted::new(global_root.r().get_cx(), ws_root, global_root.r().script_chan().clone()); + let task = box WebSocketTaskHandler::new(address, WebSocketTask::Close); + global_root.r().script_chan().send(ScriptMsg::RunnableMsg(task)).unwrap(); + return Ok(Temporary::from_rooted(ws_root)); + } + }; let response = request.send().unwrap(); response.validate().unwrap(); ws_root.ready_state.set(WebSocketRequestState::Open); diff --git a/tests/wpt/metadata/FileAPI/progress.html.ini b/tests/wpt/metadata/FileAPI/progress.html.ini index 4a68bc13c80d..bd0857516f72 100644 --- a/tests/wpt/metadata/FileAPI/progress.html.ini +++ b/tests/wpt/metadata/FileAPI/progress.html.ini @@ -1,3 +1,6 @@ [progress.html] type: testharness expected: TIMEOUT + [W3C WebSocket API - Create WebSocket - Pass a URL with a non ws/wss scheme - SYNTAX_ERR is thrown] + expected: FAIL + diff --git a/tests/wpt/metadata/websockets/Create-Secure-blocked-port.htm.ini b/tests/wpt/metadata/websockets/Create-Secure-blocked-port.htm.ini index 263a3d019486..f06483f7ead0 100644 --- a/tests/wpt/metadata/websockets/Create-Secure-blocked-port.htm.ini +++ b/tests/wpt/metadata/websockets/Create-Secure-blocked-port.htm.ini @@ -1,3 +1,5 @@ [Create-Secure-blocked-port.htm] type: testharness - expected: TIMEOUT + [W3C WebSocket API - Create Secure WebSocket - Pass a URL with a blocked port - SECURITY_ERR should be thrown] + expected: FAIL + diff --git a/tests/wpt/metadata/websockets/constructor/004.html.ini b/tests/wpt/metadata/websockets/constructor/004.html.ini index 2c1c228a2516..96b6eb53ac18 100644 --- a/tests/wpt/metadata/websockets/constructor/004.html.ini +++ b/tests/wpt/metadata/websockets/constructor/004.html.ini @@ -1,3 +1,485 @@ [004.html] type: testharness - expected: TIMEOUT + [WebSockets: new WebSocket(url, invalid protocol)] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 1] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 2] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 3] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 4] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 5] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 6] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 7] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 8] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 9] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 10] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 11] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 12] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 13] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 14] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 15] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 16] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 17] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 18] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 19] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 20] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 21] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 22] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 23] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 24] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 25] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 26] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 27] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 28] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 29] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 30] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 31] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 32] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 33] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 34] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 35] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 36] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 37] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 38] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 39] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 40] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 41] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 42] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 43] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 44] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 45] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 46] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 47] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 48] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 49] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 50] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 51] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 52] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 53] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 54] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 55] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 56] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 57] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 58] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 59] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 60] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 61] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 62] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 63] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 64] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 65] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 66] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 67] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 68] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 69] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 70] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 71] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 72] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 73] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 74] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 75] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 76] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 77] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 78] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 79] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 80] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 81] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 82] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 83] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 84] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 85] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 86] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 87] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 88] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 89] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 90] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 91] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 92] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 93] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 94] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 95] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 96] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 97] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 98] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 99] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 100] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 101] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 102] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 103] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 104] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 105] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 106] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 107] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 108] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 109] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 110] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 111] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 112] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 113] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 114] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 115] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 116] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 117] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 118] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 119] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 120] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 121] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 122] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 123] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 124] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 125] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 126] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 127] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 128] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 129] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 130] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 131] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 132] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 133] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 134] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 135] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 136] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 137] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 138] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 139] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 140] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 141] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 142] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 143] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 144] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 145] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 146] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 147] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 148] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 149] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 150] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 151] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 152] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 153] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 154] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 155] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 156] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 157] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 158] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 159] + expected: FAIL + + [WebSockets: new WebSocket(url, invalid protocol) 160] + expected: FAIL + diff --git a/tests/wpt/metadata/websockets/constructor/005.html.ini b/tests/wpt/metadata/websockets/constructor/005.html.ini deleted file mode 100644 index 6a14cc88a269..000000000000 --- a/tests/wpt/metadata/websockets/constructor/005.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[005.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/metadata/websockets/constructor/007.html.ini b/tests/wpt/metadata/websockets/constructor/007.html.ini index d2689f1a8a9d..da31c8e0253f 100644 --- a/tests/wpt/metadata/websockets/constructor/007.html.ini +++ b/tests/wpt/metadata/websockets/constructor/007.html.ini @@ -1,3 +1,5 @@ [007.html] type: testharness - expected: TIMEOUT + [WebSockets: new WebSocket(url, null char)] + expected: FAIL + diff --git a/tests/wpt/metadata/websockets/constructor/008.html.ini b/tests/wpt/metadata/websockets/constructor/008.html.ini deleted file mode 100644 index 9fbd1fc405ac..000000000000 --- a/tests/wpt/metadata/websockets/constructor/008.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[008.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/metadata/websockets/constructor/017.html.ini b/tests/wpt/metadata/websockets/constructor/017.html.ini deleted file mode 100644 index 97d4f9f816bc..000000000000 --- a/tests/wpt/metadata/websockets/constructor/017.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[017.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/metadata/websockets/constructor/021.html.ini b/tests/wpt/metadata/websockets/constructor/021.html.ini index a1080a040efa..450a75a31120 100644 --- a/tests/wpt/metadata/websockets/constructor/021.html.ini +++ b/tests/wpt/metadata/websockets/constructor/021.html.ini @@ -1,3 +1,5 @@ [021.html] type: testharness - expected: TIMEOUT + [WebSockets: Same sub protocol twice] + expected: FAIL + diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-defineProperty-getter.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-defineProperty-getter.html.ini deleted file mode 100644 index 04c21c351cc1..000000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-defineProperty-getter.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[bufferedAmount-defineProperty-getter.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-defineProperty-setter.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-defineProperty-setter.html.ini deleted file mode 100644 index 48c575c65482..000000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-defineProperty-setter.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[bufferedAmount-defineProperty-setter.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/010.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/010.html.ini index 4dc31aa432af..6bb64424cc1c 100644 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/010.html.ini +++ b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/010.html.ini @@ -1,3 +1,5 @@ [010.html] type: testharness - expected: TIMEOUT + [WebSockets: setting event handlers to undefined 3] + expected: FAIL + diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/011.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/011.html.ini index 7962549aeedf..77313c47831f 100644 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/011.html.ini +++ b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/011.html.ini @@ -1,3 +1,5 @@ [011.html] type: testharness - expected: TIMEOUT + [onmessage] + expected: FAIL + diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/012.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/012.html.ini index 778e50e98ce4..60036f44da00 100644 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/012.html.ini +++ b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/012.html.ini @@ -1,3 +1,5 @@ [012.html] type: testharness - expected: TIMEOUT + [onmessage] + expected: FAIL + diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/013.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/013.html.ini index daaf79b28a88..f41a6bc9e8dd 100644 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/013.html.ini +++ b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/013.html.ini @@ -1,3 +1,11 @@ [013.html] type: testharness - expected: TIMEOUT + [onclose] + expected: FAIL + + [onopen] + expected: FAIL + + [onerror] + expected: FAIL + diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/014.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/014.html.ini deleted file mode 100644 index 9a52a26517e1..000000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/014.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[014.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/020.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/020.html.ini index 4a9fd623af2a..e12d8871a89d 100644 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/020.html.ini +++ b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/020.html.ini @@ -1,3 +1,6 @@ [020.html] type: testharness expected: TIMEOUT + [WebSockets: error events] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/extensions/001.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/extensions/001.html.ini index b3538369e2e9..ca9e70bb2557 100644 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/extensions/001.html.ini +++ b/tests/wpt/metadata/websockets/interfaces/WebSocket/extensions/001.html.ini @@ -1,3 +1,5 @@ [001.html] type: testharness - expected: TIMEOUT + [WebSockets: getting extensions in connecting] + expected: FAIL + diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/protocol/protocol-initial.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/protocol/protocol-initial.html.ini index d14ce5bd22e8..1c6ba352e3b8 100644 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/protocol/protocol-initial.html.ini +++ b/tests/wpt/metadata/websockets/interfaces/WebSocket/protocol/protocol-initial.html.ini @@ -1,3 +1,5 @@ [protocol-initial.html] type: testharness - expected: TIMEOUT + [WebSockets: getting protocol in connecting] + expected: FAIL + diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/readyState/004.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/readyState/004.html.ini deleted file mode 100644 index 2c1c228a2516..000000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/readyState/004.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[004.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/readyState/005.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/readyState/005.html.ini deleted file mode 100644 index 6a14cc88a269..000000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/readyState/005.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[005.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/url/005.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/url/005.html.ini deleted file mode 100644 index 6a14cc88a269..000000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/url/005.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[005.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/url/006.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/url/006.html.ini deleted file mode 100644 index 9701e26d8e92..000000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/url/006.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[006.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 86b5ac0f31ee..097dfd3a42c7 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -539,6 +539,12 @@ "url": "/_mozilla/mozilla/union.html" } ], + "mozilla/websocket_connection_fail.html": [ + { + "path": "mozilla/websocket_connection_fail.html", + "url": "/_mozilla/mozilla/websocket_connection_fail.html" + } + ], "mozilla/window.html": [ { "path": "mozilla/window.html", diff --git a/tests/wpt/mozilla/tests/mozilla/websocket_connection_fail.html b/tests/wpt/mozilla/tests/mozilla/websocket_connection_fail.html new file mode 100644 index 000000000000..95c56636d534 --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/websocket_connection_fail.html @@ -0,0 +1,19 @@ + + + + + + + + +