Auto merge of #12663 - izgzhen:file-reader-sync, r=Manishearth

Add FileReaderSync skeleton

Add a FileReaderSync interface skeleton, no concrete implementation yet.

<!-- 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
- [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/12663)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-07-31 03:50:37 -05:00 committed by GitHub
commit 5dac1f64c1
9 changed files with 54 additions and 25 deletions

View file

@ -0,0 +1,34 @@
/* 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::FileReaderSyncBinding;
use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef;
use dom::bindings::js::Root;
use dom::bindings::reflector::reflect_dom_object;
use dom::eventtarget::EventTarget;
#[dom_struct]
pub struct FileReaderSync {
eventtarget: EventTarget
}
impl FileReaderSync {
pub fn new_inherited() -> FileReaderSync {
FileReaderSync {
eventtarget: EventTarget::new_inherited(),
}
}
pub fn new(global: GlobalRef) -> Root<FileReaderSync> {
reflect_dom_object(box FileReaderSync::new_inherited(),
global, FileReaderSyncBinding::Wrap)
}
pub fn Constructor(global: GlobalRef) -> Fallible<Root<FileReaderSync>> {
Ok(FileReaderSync::new(global))
}
}

View file

@ -265,6 +265,7 @@ pub mod eventtarget;
pub mod file;
pub mod filelist;
pub mod filereader;
pub mod filereadersync;
pub mod focusevent;
pub mod forcetouchevent;
pub mod formdata;

View file

@ -0,0 +1,15 @@
/* 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/. */
// https://w3c.github.io/FileAPI/#FileReaderSync
[Constructor, Exposed=Worker]
interface FileReaderSync {
// Synchronously return strings
// ArrayBuffer readAsArrayBuffer(Blob blob);
// DOMString readAsBinaryString(Blob blob);
// DOMString readAsText(Blob blob, optional DOMString label);
// DOMString readAsDataURL(Blob blob);
};