aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-07-14 03:34:47 -0600
committerbors-servo <metajack+bors@gmail.com>2015-07-14 03:34:47 -0600
commita2903091e4ff06a1de8792bb6b09cf888c1edbfc (patch)
treef563b2873886a7377ce6ef1ceb2bb196121e52d7 /components/script
parent556c0e1509cb48b90f492bcf0f25d0ed14b015d1 (diff)
parent48b94ec02b39b65aab25ec2d65d67d21a3ee1f93 (diff)
downloadservo-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.rs6
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