aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/websocket.rs
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-05-20 00:20:06 -0500
committerbors-servo <metajack+bors@gmail.com>2015-05-20 00:20:06 -0500
commitfe8760cce206ede76b71ccf3cc94fa37addddfc9 (patch)
treeaef8fab13e73591a620e6d0729fa328833535255 /components/script/dom/websocket.rs
parent79ed6250f0535d62a12b1d7e47e48926d6e3925a (diff)
parent66e9b33a527b10f1f775f2f0aeab34a07150ecda (diff)
downloadservo-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.rs11
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);