aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/websocket.rs
diff options
context:
space:
mode:
authorZhen Zhang <izgzhen@gmail.com>2016-05-10 20:19:10 +0800
committerZhen Zhang <izgzhen@gmail.com>2016-05-10 20:19:10 +0800
commitf43009333fb919421e584e38af3e8aaa0ff4fd1e (patch)
tree969dd1c36657bd73a8510cb9bf8b8274510646cb /components/script/dom/websocket.rs
parent33fa63a3c5f2f2df27b68ca67cf46bf9788d8723 (diff)
downloadservo-f43009333fb919421e584e38af3e8aaa0ff4fd1e.tar.gz
servo-f43009333fb919421e584e38af3e8aaa0ff4fd1e.zip
Rewrite Blob constructor interface
Diffstat (limited to 'components/script/dom/websocket.rs')
-rw-r--r--components/script/dom/websocket.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs
index 861c91090c8..1145e188555 100644
--- a/components/script/dom/websocket.rs
+++ b/components/script/dom/websocket.rs
@@ -18,7 +18,7 @@ use dom::bindings::refcounted::Trusted;
use dom::bindings::reflector::{Reflectable, reflect_dom_object};
use dom::bindings::str::{USVString, is_token};
use dom::bindings::trace::JSTraceable;
-use dom::blob::Blob;
+use dom::blob::{Blob, DataSlice};
use dom::closeevent::CloseEvent;
use dom::event::{Event, EventBubbles, EventCancelable};
use dom::eventtarget::EventTarget;
@@ -42,6 +42,7 @@ use std::ascii::AsciiExt;
use std::borrow::ToOwned;
use std::cell::Cell;
use std::ptr;
+use std::sync::Arc;
use std::thread;
use util::str::DOMString;
use websocket::client::request::Url;
@@ -598,7 +599,8 @@ impl Runnable for MessageReceivedTask {
MessageData::Binary(data) => {
match ws.binary_type.get() {
BinaryType::Blob => {
- let blob = Blob::new(global.r(), data, "");
+ let slice = DataSlice::new(Arc::new(data), None, None);
+ let blob = Blob::new(global.r(), slice, "");
blob.to_jsval(cx, message.handle_mut());
}
BinaryType::Arraybuffer => {