blob: fe46a1da91ed128358c59c10fb873260402adb10 [file] [log] [blame]
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"
};
partial interface Navigator {
readonly attribute NFC nfc;
};
typedef (DOMString or ArrayBuffer or NFCMessage) NFCPushMessage;
interface NFC {
Promise<void> push(NFCPushMessage message, optional NFCPushOptions options);
Promise<void> cancelPush(optional NFCPushTarget target="any");
Promise<long> watch(MessageCallback callback, optional NFCWatchOptions options);
Promise<void> cancelWatch(optional long id);
};
callback MessageCallback = void (NFCMessage message);
dictionary NFCPushOptions {
NFCPushTarget target = "any";
unrestricted double timeout = Infinity;
boolean ignoreRead = true;
};
enum NFCPushTarget {
"tag",
"peer",
"any"
};
dictionary NFCWatchOptions {
USVString url = "";
NFCRecordType? recordType;
USVString mediaType = "";
NFCWatchMode mode = "web-nfc-only";
};
enum NFCWatchMode {
"web-nfc-only",
"any"
};