Revision 2eec13b500aa5dc62b83f2d3ec87ed5a73d8e933 authored by Ian Kilpatrick on 26 March 2018, 18:44:58 UTC, committed by Chromium WPT Sync on 26 March 2018, 18:44:58 UTC
This allows a LayoutChild to have layout performed on it, which will return a Fragment - with the correct inline and block sizes. These Fragments cannot be positioned yet, (next patch). The LayoutChild will be laid out with an available inline/block size of zero by default, and optionally can accept a fixed-inline/block size, which it must respect. Bug: 726125 Change-Id: Ie4386b8f6cd6ccec3f9e52ff332322101058836d Reviewed-on: https://chromium-review.googlesource.com/962870 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#545845}
1 parent a35b824
FileAPI.idl
// https://w3c.github.io/FileAPI/#idl-index
[Constructor(optional sequence<BlobPart> blobParts, optional BlobPropertyBag options),
Exposed=(Window,Worker)]
interface Blob {
readonly attribute unsigned long long size;
readonly attribute DOMString type;
//slice Blob into byte-ranged chunks
Blob slice([Clamp] optional long long start,
[Clamp] optional long long end,
optional DOMString contentType);
};
dictionary BlobPropertyBag {
DOMString type = "";
};
typedef (BufferSource or Blob or USVString) BlobPart;
[Constructor(sequence<BlobPart> fileBits,
[EnsureUTF16] DOMString fileName,
optional FilePropertyBag options),
Exposed=(Window,Worker)]
interface File : Blob {
readonly attribute DOMString name;
readonly attribute long long lastModified;
};
dictionary FilePropertyBag : BlobPropertyBag {
long long lastModified;
};
[Exposed=(Window,Worker)]
interface FileList {
getter File? item(unsigned long index);
readonly attribute unsigned long length;
};
[Constructor, Exposed=(Window,Worker)]
interface FileReader: EventTarget {
// async read methods
void readAsArrayBuffer(Blob blob);
void readAsBinaryString(Blob blob);
void readAsText(Blob blob, optional DOMString label);
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 (DOMString or ArrayBuffer)? result;
readonly attribute DOMException? error;
// event handler content attributes
attribute EventHandler onloadstart;
attribute EventHandler onprogress;
attribute EventHandler onload;
attribute EventHandler onabort;
attribute EventHandler onerror;
attribute EventHandler onloadend;
};
[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);
};
[Exposed=(Window,DedicatedWorker,SharedWorker)]
partial interface URL {
static DOMString createObjectURL(Blob blob);
static void revokeObjectURL(DOMString url);
};
Computing file changes ...