/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* 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/. */ #include "nsIDOMEventTarget.idl" interface nsIDOMEventListener; interface nsIDOMBlob; [builtinclass, uuid(2f34c719-bc14-4546-9fb9-2bab75e56e45)] interface nsIDOMFileReader : nsIDOMEventTarget { [implicit_jscontext] void readAsArrayBuffer(in nsIDOMBlob filedata); void readAsBinaryString(in nsIDOMBlob filedata); void readAsText(in nsIDOMBlob filedata, [optional] in DOMString encoding); void readAsDataURL(in nsIDOMBlob file); void abort(); const unsigned short EMPTY = 0; const unsigned short LOADING = 1; const unsigned short DONE = 2; readonly attribute unsigned short readyState; [implicit_jscontext] readonly attribute jsval result; // This is a DOMError readonly attribute nsISupports error; [implicit_jscontext] attribute jsval onloadstart; [implicit_jscontext] attribute jsval onprogress; [implicit_jscontext] attribute jsval onload; [implicit_jscontext] attribute jsval onabort; [implicit_jscontext] attribute jsval onerror; [implicit_jscontext] attribute jsval onloadend; }; %{ C++ #define NS_FILEREADER_CID \ {0x06aa7c21, 0xfe05, 0x4cf2, \ {0xb1, 0xc4, 0x0c, 0x71, 0x26, 0xa4, 0xf7, 0x13}} #define NS_FILEREADER_CONTRACTID \ "@mozilla.org/files/filereader;1" %}