summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/interfaces/web-nfc.idl
blob: ff042b044e1da41ee42c07361a1f814684049f4a (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into webref
// (https://github.com/w3c/webref)
// Source: Web NFC (https://w3c.github.io/web-nfc/)

[SecureContext, Exposed=Window]
interface NDEFMessage {
  constructor(NDEFMessageInit messageInit);
  readonly attribute FrozenArray<NDEFRecord> records;
};

dictionary NDEFMessageInit {
  required sequence<NDEFRecordInit> records;
};

[SecureContext, Exposed=Window]
interface NDEFRecord {
  constructor(NDEFRecordInit recordInit);

  readonly attribute USVString recordType;
  readonly attribute USVString? mediaType;
  readonly attribute USVString? id;
  readonly attribute DataView? data;

  readonly attribute USVString? encoding;
  readonly attribute USVString? lang;

  sequence<NDEFRecord>? toRecords();
};

dictionary NDEFRecordInit {
  required USVString recordType;
  USVString mediaType;
  USVString id;

  USVString encoding;
  USVString lang;

  any data; // DOMString or BufferSource or NDEFMessageInit
};

typedef (DOMString or BufferSource or NDEFMessageInit) NDEFMessageSource;

[SecureContext, Exposed=Window]
interface NDEFReader : EventTarget {
  constructor();

  attribute EventHandler onreading;
  attribute EventHandler onreadingerror;

  Promise<undefined> scan(optional NDEFScanOptions options={});
  Promise<undefined> write(NDEFMessageSource message,
                                 optional NDEFWriteOptions options={});
  Promise<undefined> makeReadOnly(optional NDEFMakeReadOnlyOptions options={});
};

[SecureContext, Exposed=Window]
interface NDEFReadingEvent : Event {
  constructor(DOMString type, NDEFReadingEventInit readingEventInitDict);

  readonly attribute DOMString serialNumber;
  [SameObject] readonly attribute NDEFMessage message;
};

dictionary NDEFReadingEventInit : EventInit {
  DOMString? serialNumber = "";
  required NDEFMessageInit message;
};

dictionary NDEFWriteOptions {
  boolean overwrite = true;
  AbortSignal? signal;
};

dictionary NDEFMakeReadOnlyOptions {
  AbortSignal? signal;
};

dictionary NDEFScanOptions {
  AbortSignal signal;
};