diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-07-14 03:34:47 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-07-14 03:34:47 -0600 |
commit | a2903091e4ff06a1de8792bb6b09cf888c1edbfc (patch) | |
tree | f563b2873886a7377ce6ef1ceb2bb196121e52d7 /components/script | |
parent | 556c0e1509cb48b90f492bcf0f25d0ed14b015d1 (diff) | |
parent | 48b94ec02b39b65aab25ec2d65d67d21a3ee1f93 (diff) | |
download | servo-a2903091e4ff06a1de8792bb6b09cf888c1edbfc.tar.gz servo-a2903091e4ff06a1de8792bb6b09cf888c1edbfc.zip |
Auto merge of #6622 - Ms2ger:send-invalid-state, r=metajack
Throw an InvalidStateError from WebSocket#send when it is called too early.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6622)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/dom/websocket.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index 13423097cba..e8c6aec8f50 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -208,7 +208,11 @@ impl<'a> WebSocketMethods for &'a WebSocket { self.ready_state.get() as u16 } - fn Send(self, data: Option<USVString>)-> Fallible<()>{ + fn Send(self, data: Option<USVString>) -> Fallible<()> { + if self.ready_state.get() == WebSocketRequestState::Connecting { + return Err(Error::InvalidState); + } + /*TODO: This is not up to spec see http://html.spec.whatwg.org/multipage/comms.html search for "If argument is a string" TODO: Need to buffer data |