diff --git a/components/script/dom/webidls/WebSocket.webidl b/components/script/dom/webidls/WebSocket.webidl index 5d25b56a903..a07514a357a 100644 --- a/components/script/dom/webidls/WebSocket.webidl +++ b/components/script/dom/webidls/WebSocket.webidl @@ -26,7 +26,7 @@ interface WebSocket : EventTarget { [Throws] void close([Clamp] optional unsigned short code, optional USVString reason); //messaging - //attribute EventHandler onmessage; + attribute EventHandler onmessage; //attribute BinaryType binaryType; [Throws] void send(optional USVString data); //void send(Blob data); diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index 710d51af8d3..ce515d0f276 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -224,6 +224,7 @@ impl<'a> WebSocketMethods for &'a WebSocket { event_handler!(open, GetOnopen, SetOnopen); event_handler!(close, GetOnclose, SetOnclose); event_handler!(error, GetOnerror, SetOnerror); + event_handler!(message, GetOnmessage, SetOnmessage); // https://html.spec.whatwg.org/multipage/#dom-websocket-url fn Url(self) -> DOMString { diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini index 3fd0ad22507..aefba4a34f2 100644 --- a/tests/wpt/metadata/html/dom/interfaces.html.ini +++ b/tests/wpt/metadata/html/dom/interfaces.html.ini @@ -8322,9 +8322,6 @@ [WebSocket interface: attribute protocol] expected: FAIL - [WebSocket interface: attribute onmessage] - expected: FAIL - [WebSocket interface: attribute binaryType] expected: FAIL diff --git a/tests/wpt/metadata/websockets/binary/001.html.ini b/tests/wpt/metadata/websockets/binary/001.html.ini index c69310634cd..d6f781287de 100644 --- a/tests/wpt/metadata/websockets/binary/001.html.ini +++ b/tests/wpt/metadata/websockets/binary/001.html.ini @@ -1,6 +1,5 @@ [001.html] type: testharness - expected: TIMEOUT [WebSockets: Send/Receive blob, blob size less than network array buffer] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/websockets/binary/002.html.ini b/tests/wpt/metadata/websockets/binary/002.html.ini index 17c2178f041..f1abd8313bb 100644 --- a/tests/wpt/metadata/websockets/binary/002.html.ini +++ b/tests/wpt/metadata/websockets/binary/002.html.ini @@ -1,5 +1,5 @@ [002.html] type: testharness [WebSockets: Send/Receive blob, blob size greater than network array buffer] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/websockets/binary/004.html.ini b/tests/wpt/metadata/websockets/binary/004.html.ini index ef110ccc8b7..8bb9b6104c4 100644 --- a/tests/wpt/metadata/websockets/binary/004.html.ini +++ b/tests/wpt/metadata/websockets/binary/004.html.ini @@ -1,5 +1,5 @@ [004.html] type: testharness [WebSockets: Send/Receive ArrayBuffer, size greater than network array buffer] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/websockets/binary/005.html.ini b/tests/wpt/metadata/websockets/binary/005.html.ini index 3dc5e6482ad..ba3bbcff4f7 100644 --- a/tests/wpt/metadata/websockets/binary/005.html.ini +++ b/tests/wpt/metadata/websockets/binary/005.html.ini @@ -1,6 +1,5 @@ [005.html] type: testharness - expected: TIMEOUT [WebSockets: Send/Receive ArrayBuffer, size less than network array buffer] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/websockets/constructor/013.html.ini b/tests/wpt/metadata/websockets/constructor/013.html.ini deleted file mode 100644 index 1531cecf0c4..00000000000 --- a/tests/wpt/metadata/websockets/constructor/013.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[013.html] - type: testharness - [WebSockets: multiple WebSocket objects] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/websockets/constructor/018.html.ini b/tests/wpt/metadata/websockets/constructor/018.html.ini deleted file mode 100644 index ba4b969fdd2..00000000000 --- a/tests/wpt/metadata/websockets/constructor/018.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[018.html] - type: testharness - [WebSockets: NULL char in url] - expected: FAIL - diff --git a/tests/wpt/metadata/websockets/cookies/005.html.ini b/tests/wpt/metadata/websockets/cookies/005.html.ini index 079a6da0567..afb9fd5f1fd 100644 --- a/tests/wpt/metadata/websockets/cookies/005.html.ini +++ b/tests/wpt/metadata/websockets/cookies/005.html.ini @@ -1,6 +1,5 @@ [005.html] type: testharness - expected: TIMEOUT [WebSockets: setting HttpOnly cookies in ws response, checking ws request] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/websockets/cookies/006.html.ini b/tests/wpt/metadata/websockets/cookies/006.html.ini deleted file mode 100644 index a50c1a05551..00000000000 --- a/tests/wpt/metadata/websockets/cookies/006.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[006.html] - type: testharness - [WebSockets: setting Secure cookie with document.cookie, checking ws request] - expected: FAIL - diff --git a/tests/wpt/metadata/websockets/eventhandlers.html.ini b/tests/wpt/metadata/websockets/eventhandlers.html.ini deleted file mode 100644 index 6008ad31697..00000000000 --- a/tests/wpt/metadata/websockets/eventhandlers.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[eventhandlers.html] - type: testharness - [Event handler for message should have [TreatNonCallableAsNull\]] - expected: FAIL - diff --git a/tests/wpt/metadata/websockets/extended-payload-length.html.ini b/tests/wpt/metadata/websockets/extended-payload-length.html.ini deleted file mode 100644 index 6e2f07bdb8f..00000000000 --- a/tests/wpt/metadata/websockets/extended-payload-length.html.ini +++ /dev/null @@ -1,14 +0,0 @@ -[extended-payload-length.html] - type: testharness - [Application data is 125 byte which means any 'Extended payload length' field isn't used at all.] - expected: TIMEOUT - - [Application data is 126 byte which starts to use the 16 bit 'Extended payload length' field.] - expected: TIMEOUT - - [Application data is 0xFFFF byte which means the upper bound of the 16 bit 'Extended payload length' field.] - expected: TIMEOUT - - [Application data is (0xFFFF + 1) byte which starts to use the 64 bit 'Extended payload length' field] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/websockets/interfaces.html.ini b/tests/wpt/metadata/websockets/interfaces.html.ini index d26eadcc658..155767f35ee 100644 --- a/tests/wpt/metadata/websockets/interfaces.html.ini +++ b/tests/wpt/metadata/websockets/interfaces.html.ini @@ -15,9 +15,6 @@ [WebSocket interface: attribute protocol] expected: FAIL - [WebSocket interface: attribute onmessage] - expected: FAIL - [WebSocket interface: attribute binaryType] expected: FAIL @@ -45,9 +42,6 @@ [WebSocket interface: new WebSocket("ws://foo") must inherit property "protocol" with the proper type (11)] expected: FAIL - [WebSocket interface: new WebSocket("ws://foo") must inherit property "onmessage" with the proper type (13)] - expected: FAIL - [WebSocket interface: new WebSocket("ws://foo") must inherit property "binaryType" with the proper type (14)] expected: FAIL diff --git a/tests/wpt/metadata/websockets/interfaces/CloseEvent/clean-close.html.ini b/tests/wpt/metadata/websockets/interfaces/CloseEvent/clean-close.html.ini deleted file mode 100644 index db24428e624..00000000000 --- a/tests/wpt/metadata/websockets/interfaces/CloseEvent/clean-close.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[clean-close.html] - type: testharness - [WebSockets: wasClean, true] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/001.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/001.html.ini deleted file mode 100644 index 406e60696e7..00000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/001.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[001.html] - type: testharness - [WebSockets: getting on* 1] - expected: FAIL - diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/006.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/006.html.ini deleted file mode 100644 index 1d8fe97b69b..00000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/006.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[006.html] - type: testharness - [WebSockets: 'on*' in ws] - expected: FAIL - diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/007.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/007.html.ini deleted file mode 100644 index dcdd17dea05..00000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/007.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[007.html] - type: testharness - [WebSockets: listening for events with onmessage] - 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 deleted file mode 100644 index 6bb64424cc1..00000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/010.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[010.html] - type: testharness - [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 deleted file mode 100644 index 77313c47831..00000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/011.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[011.html] - type: testharness - [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 deleted file mode 100644 index 60036f44da0..00000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/012.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[012.html] - type: testharness - [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 f41a6bc9e8d..9aed3cd3b1b 100644 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/013.html.ini +++ b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/013.html.ini @@ -9,3 +9,6 @@ [onerror] expected: FAIL + [onmessage] + expected: FAIL + diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/016.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/events/016.html.ini deleted file mode 100644 index 86e9861f832..00000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/events/016.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[016.html] - type: testharness - [WebSockets: addEventListener] - expected: FAIL - diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/send/006.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/send/006.html.ini deleted file mode 100644 index 655b7e50a75..00000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/send/006.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[006.html] - type: testharness - expected: TIMEOUT - [WebSockets: send() with unpaired surrogate when readyState is OPEN] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/send/010.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/send/010.html.ini deleted file mode 100644 index b658b9b5eaa..00000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/send/010.html.ini +++ /dev/null @@ -1,36 +0,0 @@ -[010.html] - type: testharness - expected: TIMEOUT - [Constructor succeeds] - expected: TIMEOUT - - [WebSockets: sending non-strings (null)] - expected: NOTRUN - - [WebSockets: sending non-strings (undefined)] - expected: NOTRUN - - [WebSockets: sending non-strings (1)] - expected: NOTRUN - - [WebSockets: sending non-strings ([object Window\])] - expected: NOTRUN - - [WebSockets: sending non-strings ([object HTMLBodyElement\])] - expected: NOTRUN - - [WebSockets: sending non-strings ([object Object\])] - expected: NOTRUN - - [WebSockets: sending non-strings ()] - expected: NOTRUN - - [WebSockets: sending non-strings ([object WebSocket\])] - expected: NOTRUN - - [WebSockets: sending non-strings (function (){})] - expected: NOTRUN - - [WebSockets: sending non-strings (Error)] - expected: NOTRUN - diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/send/011.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/send/011.html.ini deleted file mode 100644 index 94cacc22d2d..00000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/send/011.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[011.html] - type: testharness - expected: TIMEOUT - [WebSockets: sending non-ascii, combining chars and non-BMP] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/send/012.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/send/012.html.ini deleted file mode 100644 index 42f6c5278c6..00000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/send/012.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[012.html] - type: testharness - expected: TIMEOUT - [WebSockets: sending null] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/websockets/keeping-connection-open/001.html.ini b/tests/wpt/metadata/websockets/keeping-connection-open/001.html.ini deleted file mode 100644 index 3c26bf005a7..00000000000 --- a/tests/wpt/metadata/websockets/keeping-connection-open/001.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[001.html] - type: testharness - [WebSockets: 20s inactivity after handshake] - expected: TIMEOUT -