tree: 4f65bfc4471493329cc9d8ddcdf44317cebb3c1c [path history] [tgz]
  1. META.yml
  2. NDEFErrorEvent_constructor.https.html
  3. NDEFMessage_constructor.https.html
  4. NDEFReader-document-hidden-manual.https-expected.txt
  5. NDEFReader-document-hidden-manual.https.html
  6. NDEFReader_scan.https.html
  7. NDEFReader_scan_filter.https-expected.txt
  8. NDEFReader_scan_filter.https.html
  9. NDEFReader_scan_iframe.https.html
  10. NDEFReadingEvent_constructor.https.html
  11. NDEFRecord_constructor.https.html
  12. NDEFWriter-document-hidden-manual.https-expected.txt
  13. NDEFWriter-document-hidden-manual.https.html
  14. NDEFWriter_push.https-expected.txt
  15. NDEFWriter_push.https.html
  16. OWNERS
  17. README.md
  18. idlharness.https.window-expected.txt
  19. idlharness.https.window.js
  20. nfc_insecure_context.html
  21. resources/
third_party/blink/web_tests/external/wpt/web-nfc/README.md

The nfc-helpers.js requires an implementation of the WebNFCTest interfaces, which should emulate platform Web NFC backends.

The WebNFCTest interface is defined as:

  class NFCTestChromium {
    initialize();  // Sets up the testing environment.
    async reset(); // Frees the resources.
    getMockNFC(); // Returns `MockNFC` interface.
  };

  class MockNFC {
    setHWStatus(number status); // Sets the hardware status.
    setReadingMessage(NDEFMessageInit message); // Sets message that is used to deliver NFC reading updates.
    setPendingPushCompleted(boolean result); // Sets if the pending push is completed.
    pushedMessage(); // Gets the pushed `NDEFMessageSource`.
    pushOptions(); // Gets the pushed `NDEFPushOptions`.
    setIsNDEFTech(boolean isNDEF); // Sets if the NFC device exposes NDEF technology.
    setIsFormattedTag(boolean isFormatted); // Sets if the NFC tag has formatted NDEF message.
  };

The Chromium implementation of the WebNFCTest interface is located in nfc-mock.js.

Other browser vendors should provide their own implementations of the WebNFCTest interfaces.