aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/blob.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2014-03-28 10:17:56 -0400
committerJosh Matthews <josh@joshmatthews.net>2014-05-03 14:18:30 -0400
commitffdc3f5b32a345b88eed774848924e862d47c093 (patch)
tree047371062d728fecca45229a3e2cf87407410ba0 /src/components/script/dom/blob.rs
parent4051a8096d7ba7e7f9c86e76d0b4bffd83e85805 (diff)
downloadservo-ffdc3f5b32a345b88eed774848924e862d47c093.tar.gz
servo-ffdc3f5b32a345b88eed774848924e862d47c093.zip
Turn on GC all the time. Fix rooting errors during parsing and storing timers. Fix borrow errors during tracing.
Diffstat (limited to 'src/components/script/dom/blob.rs')
-rw-r--r--src/components/script/dom/blob.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/components/script/dom/blob.rs b/src/components/script/dom/blob.rs
index 04964af092e..8dba1775ff6 100644
--- a/src/components/script/dom/blob.rs
+++ b/src/components/script/dom/blob.rs
@@ -2,7 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-use dom::bindings::js::JS;
+use dom::bindings::js::{JS, JSRef, RootCollection};
use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
use dom::bindings::error::Fallible;
use dom::bindings::codegen::BindingDeclarations::BlobBinding;
@@ -23,15 +23,15 @@ impl Blob {
}
}
- pub fn new(window: &JS<Window>) -> JS<Blob> {
- reflect_dom_object(~Blob::new_inherited(window.clone()),
+ pub fn new(window: &JSRef<Window>) -> JS<Blob> {
+ reflect_dom_object(~Blob::new_inherited(window.unrooted()),
window,
BlobBinding::Wrap)
}
}
impl Blob {
- pub fn Constructor(window: &JS<Window>) -> Fallible<JS<Blob>> {
+ pub fn Constructor(window: &JSRef<Window>) -> Fallible<JS<Blob>> {
Ok(Blob::new(window))
}
@@ -44,7 +44,9 @@ impl Blob {
}
pub fn Slice(&self, _start: Option<i64>, _end: Option<i64>, _contentType: Option<DOMString>) -> JS<Blob> {
- Blob::new(&self.window)
+ let roots = RootCollection::new();
+ let window = self.window.root(&roots);
+ Blob::new(&window.root_ref())
}
pub fn Close(&self) {}