From 072fdf695bc2ed57264039e6d8f6bd1582b9b90a Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Tue, 14 Jul 2015 18:14:47 +0200 Subject: [PATCH] Handle Send correctly if readyState is not Open. --- components/script/dom/websocket.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index bad0e1a8e7f..94385c5ba89 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -169,8 +169,15 @@ impl<'a> WebSocketMethods for &'a WebSocket { } fn Send(self, data: Option) -> Fallible<()> { - if self.ready_state.get() == WebSocketRequestState::Connecting { - return Err(Error::InvalidState); + match self.ready_state.get() { + WebSocketRequestState::Connecting => { + return Err(Error::InvalidState); + }, + WebSocketRequestState::Open => (), + WebSocketRequestState::Closing | WebSocketRequestState::Closed => { + // TODO: Update bufferedAmount. + return Ok(()); + } } /*TODO: This is not up to spec see http://html.spec.whatwg.org/multipage/comms.html search for