diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2016-07-22 01:09:58 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-22 01:09:58 -0500 |
commit | 9c0e7b1cf2696ac214fcb0ce20f95ae9f16f2ea1 (patch) | |
tree | 67503ca2ff7b15e0a3915e5e58a4380e5ded2e43 /components/script/dom | |
parent | 05cc76370f4f8dd5c715e42549a2027dc4c8ca71 (diff) | |
parent | f598b5f7fdce7c5d64f8999c30396a3458e2660e (diff) | |
download | servo-9c0e7b1cf2696ac214fcb0ce20f95ae9f16f2ea1.tar.gz servo-9c0e7b1cf2696ac214fcb0ce20f95ae9f16f2ea1.zip |
Auto merge of #12544 - izgzhen:patch-file-api, r=Manishearth
Patches of File API
r? @Manishearth
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
<!-- Either: -->
- [x] There are tests for these changes OR
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12544)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/blob.rs | 7 | ||||
-rw-r--r-- | components/script/dom/file.rs | 5 |
2 files changed, 8 insertions, 4 deletions
diff --git a/components/script/dom/blob.rs b/components/script/dom/blob.rs index f63e66e3b7b..1e3c74e1e26 100644 --- a/components/script/dom/blob.rs +++ b/components/script/dom/blob.rs @@ -20,6 +20,7 @@ use net_traits::filemanager_thread::{FileManagerThreadMsg, SelectedFileId, Relat use std::cell::Cell; use std::ops::Index; use std::path::PathBuf; +use uuid::Uuid; /// File-based blob #[derive(JSTraceable)] @@ -183,7 +184,7 @@ impl Blob { match rx.recv().unwrap() { Ok(_) => f.id.clone(), - Err(_) => SelectedFileId("".to_string()) // Return a dummy id on error + Err(_) => SelectedFileId(Uuid::new_v4().simple().to_string()) // Return a dummy id on error } } BlobImpl::Memory(ref slice) => { @@ -194,7 +195,7 @@ impl Blob { BlobImpl::Sliced(_, _) => { debug!("Sliced can't have a sliced parent"); // Return dummy id - SelectedFileId("".to_string()) + SelectedFileId(Uuid::new_v4().simple().to_string()) } BlobImpl::File(ref f) => self.create_sliced_url_id(&f.id, rel_pos), @@ -230,7 +231,7 @@ impl Blob { match rx.recv().unwrap() { Ok(new_id) => SelectedFileId(new_id.0), // Dummy id - Err(_) => SelectedFileId("".to_string()), + Err(_) => SelectedFileId(Uuid::new_v4().simple().to_string()), } } diff --git a/components/script/dom/file.rs b/components/script/dom/file.rs index 4528a116e45..f9b181dbf1a 100644 --- a/components/script/dom/file.rs +++ b/components/script/dom/file.rs @@ -73,7 +73,10 @@ impl File { let ref typeString = blobPropertyBag.type_; let modified = filePropertyBag.lastModified; - Ok(File::new(global, BlobImpl::new_from_bytes(bytes), filename, modified, typeString)) + // NOTE: Following behaviour might be removed in future, + // see https://github.com/w3c/FileAPI/issues/41 + let replaced_filename = DOMString::from_string(filename.replace("/", ":")); + Ok(File::new(global, BlobImpl::new_from_bytes(bytes), replaced_filename, modified, typeString)) } pub fn name(&self) -> &DOMString { |