summaryrefslogtreecommitdiffstats
path: root/dom/webidl/IDBFileHandle.webidl
blob: 54639b828b94f5c4c180bbb79d99f57cea9e2f61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/* 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 obtaone at http://mozilla.org/MPL/2.0/. */

dictionary IDBFileMetadataParameters
{
  boolean size = true;
  boolean lastModified = true;
};

[Exposed=Window]
interface IDBFileHandle : EventTarget
{
  readonly attribute IDBMutableFile? mutableFile;
  // this is deprecated due to renaming in the spec
  readonly attribute IDBMutableFile? fileHandle; // now mutableFile
  readonly attribute FileMode mode;
  readonly attribute boolean active;
  attribute unsigned long long? location;

  [Throws]
  IDBFileRequest? getMetadata(optional IDBFileMetadataParameters parameters = {});
  [Throws]
  IDBFileRequest? readAsArrayBuffer(unsigned long long size);
  [Throws]
  IDBFileRequest? readAsText(unsigned long long size,
                             optional DOMString? encoding = null);

  [Throws]
  IDBFileRequest? write((DOMString or ArrayBuffer or ArrayBufferView or Blob) value);
  [Throws]
  IDBFileRequest? append((DOMString or ArrayBuffer or ArrayBufferView or Blob) value);
  [Throws]
  IDBFileRequest? truncate(optional unsigned long long size);
  [Throws]
  IDBFileRequest? flush();
  [Throws]
  void abort();

  attribute EventHandler oncomplete;
  attribute EventHandler onabort;
  attribute EventHandler onerror;
};