Skip to content

Commit

Permalink
Auto merge of #12544 - izgzhen:patch-file-api, r=Manishearth
Browse files Browse the repository at this point in the history
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 -->
  • Loading branch information
bors-servo committed Jul 22, 2016
2 parents 05cc763 + f598b5f commit 9c0e7b1
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 9 deletions.
7 changes: 4 additions & 3 deletions components/script/dom/blob.rs
Expand Up @@ -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)]
Expand Down Expand Up @@ -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) => {
Expand All @@ -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),
Expand Down Expand Up @@ -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()),
}
}

Expand Down
5 changes: 4 additions & 1 deletion components/script/dom/file.rs
Expand Up @@ -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 {
Expand Down
5 changes: 0 additions & 5 deletions tests/wpt/metadata/FileAPI/file/File-constructor.html.ini
Expand Up @@ -11,8 +11,3 @@
[Various fileBits]
expected: FAIL
bug: https://github.com/servo/servo/issues/10911

[Using special character in fileName]
expected: FAIL
bug: https://github.com/w3c/FileAPI/issues/41

0 comments on commit 9c0e7b1

Please sign in to comment.