diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-10-09 09:02:45 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-10-09 09:02:45 -0600 |
commit | 8c81d9ab28132cff1d792b5c99e98bea6f7870bd (patch) | |
tree | b4aa8e1d843ecfc48acf0148ccbf647191ce6f7a | |
parent | 7880a1b25f71c9ae6a9429b46132fe49a3d7f564 (diff) | |
parent | 0ffd2f636f89f5829bc858377de8a1cdf0b6550b (diff) | |
download | servo-8c81d9ab28132cff1d792b5c99e98bea6f7870bd.tar.gz servo-8c81d9ab28132cff1d792b5c99e98bea6f7870bd.zip |
Auto merge of #7885 - jimberlage:7858/null-message, r=Ms2ger
Creates empty string when passed null
This should fix #7858. An empty `USVString` is now used when `data` is `None`.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7885)
<!-- Reviewable:end -->
-rw-r--r-- | components/script/dom/webidls/WebSocket.webidl | 2 | ||||
-rw-r--r-- | components/script/dom/websocket.rs | 4 | ||||
-rw-r--r-- | tests/wpt/metadata/html/dom/interfaces.html.ini | 12 | ||||
-rw-r--r-- | tests/wpt/metadata/websockets/interfaces.html.ini | 24 | ||||
-rw-r--r-- | tests/wpt/metadata/websockets/interfaces/WebSocket/send/001.html.ini | 5 |
5 files changed, 3 insertions, 44 deletions
diff --git a/components/script/dom/webidls/WebSocket.webidl b/components/script/dom/webidls/WebSocket.webidl index 9355b37dde1..e2652a3716f 100644 --- a/components/script/dom/webidls/WebSocket.webidl +++ b/components/script/dom/webidls/WebSocket.webidl @@ -28,7 +28,7 @@ interface WebSocket : EventTarget { //messaging attribute EventHandler onmessage; attribute BinaryType binaryType; - [Throws] void send(optional USVString data); + [Throws] void send(USVString data); //void send(Blob data); //void send(ArrayBuffer data); //void send(ArrayBufferView data); diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index 228b8ac92c4..a04b64ded41 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -324,7 +324,7 @@ impl WebSocketMethods for WebSocket { } // https://html.spec.whatwg.org/multipage/#dom-websocket-send - fn Send(&self, data: Option<USVString>) -> Fallible<()> { + fn Send(&self, data: USVString) -> Fallible<()> { match self.ready_state.get() { WebSocketRequestState::Connecting => { return Err(Error::InvalidState); @@ -346,7 +346,7 @@ impl WebSocketMethods for WebSocket { */ let mut other_sender = self.sender.borrow_mut(); let my_sender = other_sender.as_mut().unwrap(); - let _ = my_sender.lock().unwrap().send_message(Message::Text(data.unwrap().0)); + let _ = my_sender.lock().unwrap().send_message(Message::Text(data.0)); Ok(()) } diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini index a6ac270327b..9a528a172da 100644 --- a/tests/wpt/metadata/html/dom/interfaces.html.ini +++ b/tests/wpt/metadata/html/dom/interfaces.html.ini @@ -8733,18 +8733,6 @@ [Location interface: window.location must have own property "reload"] expected: FAIL - [WebSocket interface: operation send(DOMString)] - expected: FAIL - - [WebSocket interface: operation send(Blob)] - expected: FAIL - - [WebSocket interface: operation send(ArrayBuffer)] - expected: FAIL - - [WebSocket interface: operation send(ArrayBufferView)] - expected: FAIL - [HTMLOptionElement must be primary interface of new Option()] expected: FAIL diff --git a/tests/wpt/metadata/websockets/interfaces.html.ini b/tests/wpt/metadata/websockets/interfaces.html.ini index 2082bc52dff..6868d95f058 100644 --- a/tests/wpt/metadata/websockets/interfaces.html.ini +++ b/tests/wpt/metadata/websockets/interfaces.html.ini @@ -15,18 +15,6 @@ [WebSocket interface: attribute protocol] expected: FAIL - [WebSocket interface: operation send(DOMString)] - expected: FAIL - - [WebSocket interface: operation send(Blob)] - expected: FAIL - - [WebSocket interface: operation send(ArrayBuffer)] - expected: FAIL - - [WebSocket interface: operation send(ArrayBufferView)] - expected: FAIL - [Stringification of new WebSocket("ws://foo")] expected: FAIL @@ -39,18 +27,6 @@ [WebSocket interface: new WebSocket("ws://foo") must inherit property "protocol" with the proper type (11)] expected: FAIL - [WebSocket interface: calling send(DOMString) on new WebSocket("ws://foo") with too few arguments must throw TypeError] - expected: FAIL - - [WebSocket interface: calling send(Blob) on new WebSocket("ws://foo") with too few arguments must throw TypeError] - expected: FAIL - - [WebSocket interface: calling send(ArrayBuffer) on new WebSocket("ws://foo") with too few arguments must throw TypeError] - expected: FAIL - - [WebSocket interface: calling send(ArrayBufferView) on new WebSocket("ws://foo") with too few arguments must throw TypeError] - expected: FAIL - [CloseEvent interface: existence and properties of interface object] expected: FAIL diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/send/001.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/send/001.html.ini deleted file mode 100644 index 81dc9b1e553..00000000000 --- a/tests/wpt/metadata/websockets/interfaces/WebSocket/send/001.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[001.html] - type: testharness - [WebSockets: send() with no args] - expected: FAIL - |