Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / imported / web-platform-tests / FileAPI / idlharness.idl
blobae83a9cb1fd0037ac84acee50f3ac41d21b6dfb4
1 [Constructor,
2 Constructor(sequence<(ArrayBuffer or ArrayBufferView or Blob or DOMString)> blobParts, optional BlobPropertyBag options), Exposed=Window,Worker]
3 interface Blob {
5 readonly attribute unsigned long long size;
6 readonly attribute DOMString type;
7 readonly attribute boolean isClosed;
9 //slice Blob into byte-ranged chunks
11 Blob slice([Clamp] optional long long start,
12 [Clamp] optional long long end,
13 optional DOMString contentType);
14 void close();
18 dictionary BlobPropertyBag {
19 DOMString type = "";
22 [Constructor(sequence<(Blob or DOMString or ArrayBufferView or ArrayBuffer)> fileBits,
23 [EnsureUTF16] DOMString fileName, optional FilePropertyBag options), Exposed=Window,Worker]
24 interface File : Blob {
26 readonly attribute DOMString name;
27 readonly attribute long long lastModified;
31 dictionary FilePropertyBag {
33 DOMString type = "";
34 long long lastModified;
38 [Exposed=Window,Worker] interface FileList {
39 getter File? item(unsigned long index);
40 readonly attribute unsigned long length;
43 [Constructor, Exposed=Window,Worker]
44 interface FileReader: EventTarget {
46 // async read methods
47 void readAsArrayBuffer(Blob blob);
48 void readAsText(Blob blob, optional DOMString label);
49 void readAsDataURL(Blob blob);
51 void abort();
53 // states
54 const unsigned short EMPTY = 0;
55 const unsigned short LOADING = 1;
56 const unsigned short DONE = 2;
58 readonly attribute unsigned short readyState;
60 // File or Blob data
61 readonly attribute (DOMString or ArrayBuffer)? result;
63 readonly attribute DOMError? error;
65 // event handler attributes
66 attribute EventHandler onloadstart;
67 attribute EventHandler onprogress;
68 attribute EventHandler onload;
69 attribute EventHandler onabort;
70 attribute EventHandler onerror;
71 attribute EventHandler onloadend;
75 partial interface URL {
77 static DOMString createObjectURL(Blob blob);
78 static DOMString createFor(Blob blob);
79 static void revokeObjectURL(DOMString url);