Auto merge of #6706 - Ms2ger:ctor, r=jdm

Move the WebSocket constructor logic out of WebSocket::new.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6706)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2015-07-23 01:44:20 -06:00
commit c24d37dfcc

View file

@ -77,7 +77,7 @@ fn establish_a_websocket_connection(url: (Host, String, bool), origin: String)
impl WebSocket { impl WebSocket {
pub fn new_inherited(global: GlobalRef, url: Url) -> WebSocket { fn new_inherited(global: GlobalRef, url: Url) -> WebSocket {
WebSocket { WebSocket {
eventtarget: EventTarget::new_inherited(EventTargetTypeId::WebSocket), eventtarget: EventTarget::new_inherited(EventTargetTypeId::WebSocket),
url: url, url: url,
@ -94,10 +94,15 @@ impl WebSocket {
} }
pub fn new(global: GlobalRef, fn new(global: GlobalRef, url: Url) -> Root<WebSocket> {
url: DOMString, reflect_dom_object(box WebSocket::new_inherited(global, url),
protocols: Option<DOMString>) global, WebSocketBinding::Wrap)
-> Fallible<Root<WebSocket>> { }
pub fn Constructor(global: GlobalRef,
url: DOMString,
protocols: Option<DOMString>)
-> Fallible<Root<WebSocket>> {
// Step 1. // Step 1.
let parsed_url = try!(Url::parse(&url).map_err(|_| Error::Syntax)); let parsed_url = try!(Url::parse(&url).map_err(|_| Error::Syntax));
let url = try!(parse_url(&parsed_url).map_err(|_| Error::Syntax)); let url = try!(parse_url(&parsed_url).map_err(|_| Error::Syntax));
@ -128,9 +133,7 @@ impl WebSocket {
// Step 6: Origin. // Step 6: Origin.
// Step 7. // Step 7.
let ws = reflect_dom_object(box WebSocket::new_inherited(global, parsed_url), let ws = WebSocket::new(global, parsed_url);
global,
WebSocketBinding::Wrap);
let address = Trusted::new(global.get_cx(), ws.r(), global.script_chan()); let address = Trusted::new(global.get_cx(), ws.r(), global.script_chan());
let origin = global.get_url().serialize(); let origin = global.get_url().serialize();
@ -162,13 +165,6 @@ impl WebSocket {
// Step 7. // Step 7.
Ok(ws) Ok(ws)
} }
pub fn Constructor(global: GlobalRef,
url: DOMString,
protocols: Option<DOMString>)
-> Fallible<Root<WebSocket>> {
WebSocket::new(global, url, protocols)
}
} }
impl<'a> WebSocketMethods for &'a WebSocket { impl<'a> WebSocketMethods for &'a WebSocket {