fune/servo/components/script/dom/webidls/FileReader.webidl
Nikhil Shagrithaya 7c92108c55 servo: Merge #13729 - Implemented FileReader::readAsArrayBuffer (from cynicaldevil:readAsArrayBuffer); r=Ms2ger
<!-- 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] These changes fix #12555

<!-- Either: -->
- [X] There are tests for these changes

There's still some small issues, but I suppose most of the work is done:
- test-tidy mentions a `method declared in webidl is missing a comment with a specification link` for the `getResult` method.
- I get an 'unused code' warning for code present in `UnionTypes.rs`, which is auto-generated.

Passing tests:
- [x]  `FileAPI/reading-data-section/filereader_result.html`
- [x]  `FileAPI/reading-data-section/filereader_readAsArrayBuffer.html`
- [x]  `FileAPI/idlharness.html`
- [ ]  `FileAPI/reading-data-section/FileReader-multiple-reads.html`

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: ceb18e7d8624a6d78e3f712dc335928adaa7dc79
2016-10-31 14:01:18 -05:00

40 lines
1.1 KiB
Text

/* 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/. */
// http://dev.w3.org/2006/webapi/FileAPI/#APIASynch
typedef (DOMString or object) FileReaderResult;
[Constructor, Exposed=(Window,Worker)]
interface FileReader: EventTarget {
// async read methods
[Throws]
void readAsArrayBuffer(Blob blob);
[Throws]
void readAsText(Blob blob, optional DOMString label);
[Throws]
void readAsDataURL(Blob blob);
void abort();
// states
const unsigned short EMPTY = 0;
const unsigned short LOADING = 1;
const unsigned short DONE = 2;
readonly attribute unsigned short readyState;
// File or Blob data
readonly attribute FileReaderResult? result;
readonly attribute DOMException? error;
// event handler attributes
attribute EventHandler onloadstart;
attribute EventHandler onprogress;
attribute EventHandler onload;
attribute EventHandler onabort;
attribute EventHandler onerror;
attribute EventHandler onloadend;
};