aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2015-07-16 14:29:04 +0200
committerMs2ger <ms2ger@gmail.com>2015-07-16 14:29:04 +0200
commitb467f3e9d6a792c39a4ccc943719d8c87b9c3a2b (patch)
treefdf285d9cdbb8433ae31695a0a0ae725fb6a274f
parent072fdf695bc2ed57264039e6d8f6bd1582b9b90a (diff)
downloadservo-b467f3e9d6a792c39a4ccc943719d8c87b9c3a2b.tar.gz
servo-b467f3e9d6a792c39a4ccc943719d8c87b9c3a2b.zip
Don't try to send a message in WebSocket#close if the sender isn't present.
-rw-r--r--components/script/dom/websocket.rs4
-rw-r--r--tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-basic.html.ini3
-rw-r--r--tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-multiple.html.ini3
-rw-r--r--tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-nested.html.ini3
-rw-r--r--tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-return.html.ini3
-rw-r--r--tests/wpt/metadata/websockets/interfaces/WebSocket/readyState/003.html.ini3
6 files changed, 3 insertions, 16 deletions
diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs
index 94385c5ba89..bd90a36680a 100644
--- a/components/script/dom/websocket.rs
+++ b/components/script/dom/websocket.rs
@@ -200,7 +200,9 @@ impl<'a> WebSocketMethods for &'a WebSocket {
let mut sender = this.sender.borrow_mut();
//TODO: Also check if the buffer is full
- let _ = sender.as_mut().unwrap().send_message(Message::Close(None));
+ if let Some(sender) = sender.as_mut() {
+ let _ = sender.send_message(Message::Close(None));
+ }
}
diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-basic.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-basic.html.ini
deleted file mode 100644
index 5e39841653e..00000000000
--- a/tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-basic.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[close-basic.html]
- type: testharness
- expected: CRASH
diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-multiple.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-multiple.html.ini
deleted file mode 100644
index 1f6d2dc8c50..00000000000
--- a/tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-multiple.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[close-multiple.html]
- type: testharness
- expected: CRASH
diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-nested.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-nested.html.ini
deleted file mode 100644
index 397c897bd1d..00000000000
--- a/tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-nested.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[close-nested.html]
- type: testharness
- expected: CRASH
diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-return.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-return.html.ini
deleted file mode 100644
index 7e788c62166..00000000000
--- a/tests/wpt/metadata/websockets/interfaces/WebSocket/close/close-return.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[close-return.html]
- type: testharness
- expected: CRASH
diff --git a/tests/wpt/metadata/websockets/interfaces/WebSocket/readyState/003.html.ini b/tests/wpt/metadata/websockets/interfaces/WebSocket/readyState/003.html.ini
deleted file mode 100644
index f2b01b122e4..00000000000
--- a/tests/wpt/metadata/websockets/interfaces/WebSocket/readyState/003.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[003.html]
- type: testharness
- expected: CRASH