diff options
author | yvt <i@yvt.jp> | 2021-07-10 17:24:27 +0900 |
---|---|---|
committer | yvt <i@yvt.jp> | 2021-07-10 17:55:42 +0900 |
commit | 01a7de50ab1843d85295f9dccad7f4c099e7208c (patch) | |
tree | ee53fb6e8889deb7b880ee969e6c662e6128d210 /components/script/dom/filelist.rs | |
parent | ff8d2cdbbfc7a9dc7f38b7dd47cb350fde39388f (diff) | |
parent | 94b613fbdaa2b98f2179fc0bbda13c64e6fa0d38 (diff) | |
download | servo-01a7de50ab1843d85295f9dccad7f4c099e7208c.tar.gz servo-01a7de50ab1843d85295f9dccad7f4c099e7208c.zip |
Merge remote-tracking branch 'upstream/master' into feat-cow-infra
`tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html`
was reverted to the upstream version.
Diffstat (limited to 'components/script/dom/filelist.rs')
-rw-r--r-- | components/script/dom/filelist.rs | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/components/script/dom/filelist.rs b/components/script/dom/filelist.rs index 3a5acc41235..de83ccb9db6 100644 --- a/components/script/dom/filelist.rs +++ b/components/script/dom/filelist.rs @@ -1,13 +1,12 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * 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::codegen::Bindings::FileListBinding; -use dom::bindings::codegen::Bindings::FileListBinding::FileListMethods; -use dom::bindings::js::{JS, Root}; -use dom::bindings::reflector::{Reflector, reflect_dom_object}; -use dom::file::File; -use dom::window::Window; + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +use crate::dom::bindings::codegen::Bindings::FileListBinding::FileListMethods; +use crate::dom::bindings::reflector::{reflect_dom_object, Reflector}; +use crate::dom::bindings::root::{Dom, DomRoot}; +use crate::dom::file::File; +use crate::dom::window::Window; use dom_struct::dom_struct; use std::slice::Iter; @@ -15,26 +14,29 @@ use std::slice::Iter; #[dom_struct] pub struct FileList { reflector_: Reflector, - list: Vec<JS<File>> + list: Vec<Dom<File>>, } impl FileList { #[allow(unrooted_must_root)] - fn new_inherited(files: Vec<JS<File>>) -> FileList { + fn new_inherited(files: Vec<Dom<File>>) -> FileList { FileList { reflector_: Reflector::new(), - list: files + list: files, } } #[allow(unrooted_must_root)] - pub fn new(window: &Window, files: Vec<Root<File>>) -> Root<FileList> { - reflect_dom_object(box FileList::new_inherited(files.iter().map(|r| JS::from_ref(&**r)).collect()), - window, - FileListBinding::Wrap) + pub fn new(window: &Window, files: Vec<DomRoot<File>>) -> DomRoot<FileList> { + reflect_dom_object( + Box::new(FileList::new_inherited( + files.iter().map(|r| Dom::from_ref(&**r)).collect(), + )), + window, + ) } - pub fn iter_files(&self) -> Iter<JS<File>> { + pub fn iter_files(&self) -> Iter<Dom<File>> { self.list.iter() } } @@ -46,16 +48,16 @@ impl FileListMethods for FileList { } // https://w3c.github.io/FileAPI/#dfn-item - fn Item(&self, index: u32) -> Option<Root<File>> { + fn Item(&self, index: u32) -> Option<DomRoot<File>> { if (index as usize) < self.list.len() { - Some(Root::from_ref(&*(self.list[index as usize]))) + Some(DomRoot::from_ref(&*(self.list[index as usize]))) } else { None } } // check-tidy: no specs after this line - fn IndexedGetter(&self, index: u32) -> Option<Root<File>> { + fn IndexedGetter(&self, index: u32) -> Option<DomRoot<File>> { self.Item(index) } } |