https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 2c46f3870249d854bb97b44fe303c032805e964e authored by Geoffrey Sneddon on 25 April 2018, 21:35:03 UTC
fixup! Fix #2669: Add alternate_hosts
Tip revision: 2c46f38
web-nfc.idl
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 {
    [SecureContext,
     SameObject]
    readonly attribute NFC nfc;
};

typedef (DOMString or ArrayBuffer or NFCMessage) NFCPushMessage;

[SecureContext]
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"
};
back to top