WebAPI/DeviceStorageAPI2: Difference between revisions
< WebAPI
Jump to navigation
Jump to search
(Created page with "This is a very simple filesystem API based on the DeviceStorage API == API == partial interface Navigator { DeviceStorage getSandboxedFilesystem(...") |
No edit summary |
||
Line 48: | Line 48: | ||
readonly attribute FileHandle fileHandle; | readonly attribute FileHandle fileHandle; | ||
readonly attribute DOMString mode; | readonly attribute DOMString mode; | ||
readonly attribute boolean active; | |||
attribute long long? location; // Set to null on call to append | attribute long long? location; // Set to null on call to append | ||
FileRequest readAsArrayBuffer(long size); | FileRequest readAsArrayBuffer(long size); | ||
FileRequest readAsText(long size, | FileRequest readAsText(long size, optional DOMString encoding); | ||
FileRequest write(DOMString or ArrayBuffer or Blob value); | FileRequest write(DOMString or ArrayBuffer or ArrayBufferView or Blob value); | ||
FileRequest append(DOMString or ArrayBuffer or Blob value); | FileRequest append(DOMString or ArrayBuffer or ArrayBufferView or Blob value); | ||
FileRequest truncate(optional long long size); | |||
FileRequest getMetadata(MetadataParams params); | |||
FileRequest flush(); // fsync | |||
void close(); // Prevents any further requests from being placed against this lock | void close(); // Prevents any further requests from being placed against this lock | ||
void abort(); // Immediately releases lock and stops any pending | void abort(); // Immediately releases lock and stops any pending | ||
}; | |||
dictionary MetadataParameters { | |||
boolean size; | |||
boolean lastModified; | |||
}; | }; | ||
Revision as of 00:29, 14 September 2012
This is a very simple filesystem API based on the DeviceStorage API
API
partial interface Navigator { DeviceStorage getSandboxedFilesystem(DOMString filesystemName); }; interface DeviceStorage { // Name will be generated by the implementation and returned as result of request DOMRequest add(Blob blob, DOMString name); // Returns the result as a File object DOMRequest get(DOMString name); // Returns the result as a FileHandle object which enables writing DOMRequest getEditable(DOMString name); // Deletes a file DOMRequest delete(DOMString name); // The .result property on each success call is set to a File object DeviceStorageCursor enumerate(optional DOMString directory) // The .result property on each success call is set to a FileHandle object DeviceStorageCursor enumeratEditable(optional DOMString directory) // The .result property on each success call is either a // { file: File } or { directory: "name" } object DeviceStorageCursor enumerateShallow(optional DOMString directory) // The .result property on each success call is either a // { file: FileHandle } or { directory: "name" } object DeviceStorageCursor enumerateShallowEditable(optional DOMString directory) }; interface DeviceStorageCursor : DOMRequest { // .result is either a File or a FileHandle void continue(); }; interface FileHandle { LockedFile open([optional] DOMString mode); // defaults to "readonly" FileRequest getFile(); // .result is set to resulting File object }; interface LockedFile { readonly attribute FileHandle fileHandle; readonly attribute DOMString mode; readonly attribute boolean active; attribute long long? location; // Set to null on call to append FileRequest readAsArrayBuffer(long size); FileRequest readAsText(long size, optional DOMString encoding); FileRequest write(DOMString or ArrayBuffer or ArrayBufferView or Blob value); FileRequest append(DOMString or ArrayBuffer or ArrayBufferView or Blob value); FileRequest truncate(optional long long size); FileRequest getMetadata(MetadataParams params); FileRequest flush(); // fsync void close(); // Prevents any further requests from being placed against this lock void abort(); // Immediately releases lock and stops any pending }; dictionary MetadataParameters { boolean size; boolean lastModified; }; interface FileRequest : EventTarget { readonly attribute DOMString readyState; // "pending" or "done" readonly attribute any result; readonly attribute DOMError error; readonly attribute LockedFile lockedFile; attribute nsIDOMEventListener onsuccess; attribute nsIDOMEventListener onerror; attribute nsIDOMEventListener onprogress; }