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;
}