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