Skip to content

Commit

Permalink
Add FileReaderSync skeleton
Browse files Browse the repository at this point in the history
  • Loading branch information
izgzhen committed Jul 31, 2016
1 parent 1ce4be8 commit 47a7d46
Show file tree
Hide file tree
Showing 9 changed files with 54 additions and 25 deletions.
34 changes: 34 additions & 0 deletions components/script/dom/filereadersync.rs
@@ -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))
}
}
1 change: 1 addition & 0 deletions components/script/dom/mod.rs
Expand Up @@ -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;
Expand Down
15 changes: 15 additions & 0 deletions components/script/dom/webidls/FileReaderSync.webidl
@@ -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);
};
4 changes: 0 additions & 4 deletions tests/wpt/metadata/FileAPI/FileReaderSync.worker.js.ini
@@ -1,9 +1,5 @@
[FileReaderSync.worker]
type: testharness
expected: ERROR
[Interface]
expected: FAIL

[readAsText]
expected: FAIL

Expand Down
21 changes: 0 additions & 21 deletions tests/wpt/metadata/FileAPI/idlharness.worker.js.ini
Expand Up @@ -12,18 +12,6 @@
[FileReader interface: calling readAsArrayBuffer(Blob) on new FileReader() with too few arguments must throw TypeError]
expected: FAIL

[FileReaderSync interface: existence and properties of interface object]
expected: FAIL

[FileReaderSync interface object length]
expected: FAIL

[FileReaderSync interface: existence and properties of interface prototype object]
expected: FAIL

[FileReaderSync interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[FileReaderSync interface: operation readAsArrayBuffer(Blob)]
expected: FAIL

Expand All @@ -33,12 +21,6 @@
[FileReaderSync interface: operation readAsDataURL(Blob)]
expected: FAIL

[FileReaderSync must be primary interface of new FileReaderSync()]
expected: FAIL
[Stringification of new FileReaderSync()]
expected: FAIL
[FileReaderSync interface: new FileReaderSync() must inherit property "readAsArrayBuffer" with the proper type (0)]
expected: FAIL

Expand All @@ -57,9 +39,6 @@
[FileReaderSync interface: calling readAsDataURL(Blob) on new FileReaderSync() with too few arguments must throw TypeError]
expected: FAIL

[FileReaderSync interface object name]
expected: FAIL
[Window interface: existence and properties of interface object]
expected: FAIL

Expand Down
Expand Up @@ -41,3 +41,4 @@

[Check forEach method]
expected: FAIL

Expand Up @@ -5,3 +5,4 @@

[Headers forEach loop should stop if callback is throwing exception]
expected: FAIL

Expand Up @@ -9,3 +9,4 @@

[Headers has values method]
expected: FAIL

1 change: 1 addition & 0 deletions tests/wpt/mozilla/tests/mozilla/interfaces.worker.js
Expand Up @@ -41,6 +41,7 @@ test_interfaces([
"File",
"FileList",
"FileReader",
"FileReaderSync",
"FocusEvent",
"FormData",
"HashChangeEvent",
Expand Down

0 comments on commit 47a7d46

Please sign in to comment.