diff options
Diffstat (limited to 'components/script/dom/file.rs')
-rw-r--r-- | components/script/dom/file.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/components/script/dom/file.rs b/components/script/dom/file.rs index 1ba6ade0a6a..52c21b110ce 100644 --- a/components/script/dom/file.rs +++ b/components/script/dom/file.rs @@ -18,6 +18,7 @@ use crate::dom::bindings::str::DOMString; use crate::dom::blob::{blob_parts_to_bytes, normalize_type_string, Blob}; use crate::dom::globalscope::GlobalScope; use crate::dom::window::Window; +use crate::script_runtime::CanGc; #[dom_struct] pub struct File { @@ -49,7 +50,7 @@ impl File { name: DOMString, modified: Option<i64>, ) -> DomRoot<File> { - Self::new_with_proto(global, None, blob_impl, name, modified) + Self::new_with_proto(global, None, blob_impl, name, modified, CanGc::note()) } #[allow(crown::unrooted_must_root)] @@ -59,11 +60,13 @@ impl File { blob_impl: BlobImpl, name: DOMString, modified: Option<i64>, + can_gc: CanGc, ) -> DomRoot<File> { let file = reflect_dom_object_with_proto( Box::new(File::new_inherited(&blob_impl, name, modified)), global, proto, + can_gc, ); global.track_file(&file, blob_impl); file @@ -96,6 +99,7 @@ impl File { pub fn Constructor( global: &GlobalScope, proto: Option<HandleObject>, + can_gc: CanGc, fileBits: Vec<ArrayBufferOrArrayBufferViewOrBlobOrString>, filename: DOMString, filePropertyBag: &FileBinding::FilePropertyBag, @@ -118,6 +122,7 @@ impl File { BlobImpl::new_from_bytes(bytes, type_string), replaced_filename, modified, + can_gc, )) } |