servo/tests/wpt/web-platform-tests/interfaces/web-nfc.idl

84 lines
1.9 KiB
Text

// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: Web NFC API (https://w3c.github.io/web-nfc/)
dictionary NFCMessage {
sequence<NFCRecord> records;
USVString url;
};
typedef (DOMString or unrestricted double or ArrayBuffer or Dictionary) NFCRecordData;
dictionary NFCRecord {
NFCRecordType recordType;
USVString mediaType;
NFCRecordData data;
};
enum NFCRecordType {
"empty",
"text",
"url",
"json",
"opaque"
};
typedef (DOMString or ArrayBuffer or NFCMessage) NFCMessageSource;
[Constructor(), SecureContext, Exposed=Window]
interface NFCWriter {
Promise<void> push(NFCMessageSource message, optional NFCPushOptions options);
};
[Constructor(optional NFCReaderOptions options), SecureContext, Exposed=Window]
interface NFCReader : EventTarget {
attribute EventHandler onreading;
attribute EventHandler onerror;
void start();
void stop();
};
[Constructor(DOMString type, NFCReadingEventInit readingEventInitDict), SecureContext, Exposed=Window]
interface NFCReadingEvent : Event {
readonly attribute NFCMessage message;
};
dictionary NFCReadingEventInit : EventInit {
required NFCMessage message;
};
[Constructor(DOMString type, NFCErrorEventInit errorEventInitDict), SecureContext, Exposed=Window]
interface NFCErrorEvent : Event {
readonly attribute DOMException error;
};
dictionary NFCErrorEventInit : EventInit {
required DOMException error;
};
dictionary NFCPushOptions {
NFCPushTarget target = "any";
unrestricted double timeout = Infinity;
boolean ignoreRead = true;
AbortSignal? signal;
};
enum NFCPushTarget {
"tag",
"peer",
"any"
};
dictionary NFCReaderOptions {
USVString url = "";
NFCRecordType recordType;
USVString mediaType = "";
NFCAccept accept = "web-nfc-only";
};
enum NFCAccept {
"web-nfc-only",
"any"
};