tree: 7c2a4f14da77a0939df26465665d88ca789b7e45 [path history] [tgz]
  1. resources/
  2. idlharness.https.window-expected.txt
  3. idlharness.https.window.js
  4. META.yml
  5. NDEFMessage_constructor.https.html
  6. NDEFRecord_constructor.https.html
  7. nfc_insecure_context.html
  8. NFCErrorEvent_constructor.https.html
  9. NFCReader.https.html
  10. NFCReader_options.https.html
  11. NFCReadingEvent_constructor.https.html
  12. NFCWriter_push.https.html
  13. OWNERS
  14. README.md
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.
    setCompatibility(NDEFCompatibility compatibility); // Sets NDEF accepted compatible devices
    setReadingMessage(NDEFMessageInit message, NDEFCompatibility compatibility); // Sets message that is used to deliver NFC reading updates with a specific NDEFCompatibility.
    setPendingPushCompleted(boolean result); // Sets if the pending push is completed.
    setPushShouldTimeout(boolean result); // Sets flag to trigger the pending push to timeout.
    pushedMessage(); // Gets the pushed `NDEFMessageSource`.
    pushOptions(); // Gets the pushed `NFCPushOptions`.
  };

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.