From 66e9b33a527b10f1f775f2f0aeab34a07150ecda Mon Sep 17 00:00:00 2001 From: Paul Faria Date: Sat, 16 May 2015 14:10:10 -0400 Subject: Fixed definition of Close and Send in WebSocket.webidl and updated implementation in websocket.rs. --- components/script/dom/websocket.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'components/script/dom/websocket.rs') 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)-> Fallible<()>{ + fn Send(self, data: Option)-> 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, reason: Option) -> Fallible<()>{ + fn Close(self, code: Option, reason: Option) -> 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); -- cgit v1.2.3