diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-05-20 00:20:06 -0500 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-05-20 00:20:06 -0500 |
commit | fe8760cce206ede76b71ccf3cc94fa37addddfc9 (patch) | |
tree | aef8fab13e73591a620e6d0729fa328833535255 /components/script/dom/websocket.rs | |
parent | 79ed6250f0535d62a12b1d7e47e48926d6e3925a (diff) | |
parent | 66e9b33a527b10f1f775f2f0aeab34a07150ecda (diff) | |
download | servo-fe8760cce206ede76b71ccf3cc94fa37addddfc9.tar.gz servo-fe8760cce206ede76b71ccf3cc94fa37addddfc9.zip |
Auto merge of #6094 - Nashenas88:websockets-USVString, r=Ms2ger
Fix #6063
Fix #6062
Fixed definition of Close and Send in WebSocket.webidl and updated implementation in websocket.rs.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6094)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/websocket.rs')
-rw-r--r-- | components/script/dom/websocket.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index 75c868b50db..c9061457a81 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -14,6 +14,7 @@ use dom::bindings::error::Error::Syntax; use dom::bindings::global::{GlobalField, GlobalRef}; use dom::bindings::js::{Temporary, JSRef, Rootable}; use dom::bindings::refcounted::Trusted; +use dom::bindings::str::USVString; use dom::bindings::trace::JSTraceable; use dom::bindings::utils::reflect_dom_object; use dom::closeevent::CloseEvent; @@ -153,7 +154,7 @@ impl<'a> WebSocketMethods for JSRef<'a, WebSocket> { self.ready_state.get() as u16 } - fn Send(self, data: Option<DOMString>)-> Fallible<()>{ + fn Send(self, data: Option<USVString>)-> Fallible<()>{ /*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 TODO: bufferedAmount attribute returns the size of the buffer in bytes - @@ -168,11 +169,11 @@ impl<'a> WebSocketMethods for JSRef<'a, WebSocket> { let _ = my_sender.send_message(Message::Close(None)); return Ok(()); } - let _ = my_sender.send_message(Message::Text(data.unwrap())); + let _ = my_sender.send_message(Message::Text(data.unwrap().0)); return Ok(()) } - fn Close(self, code: Option<u16>, reason: Option<DOMString>) -> Fallible<()>{ + fn Close(self, code: Option<u16>, reason: Option<USVString>) -> Fallible<()>{ if let Some(code) = code { //Check code is NOT 1000 NOR in the range of 3000-4999 (inclusive) if code != 1000 && (code < 3000 || code > 4999) { @@ -180,7 +181,7 @@ impl<'a> WebSocketMethods for JSRef<'a, WebSocket> { } } if let Some(ref reason) = reason { - if reason.as_bytes().len() > 123 { //reason cannot be larger than 123 bytes + if reason.0.as_bytes().len() > 123 { //reason cannot be larger than 123 bytes return Err(Error::Syntax); } } @@ -205,7 +206,7 @@ impl<'a> WebSocketMethods for JSRef<'a, WebSocket> { self.code.set(code); } if let Some(reason) = reason { - *self.reason.borrow_mut() = reason; + *self.reason.borrow_mut() = reason.0; } self.ready_state.set(WebSocketRequestState::Closing); self.sendCloseFrame.set(true); |