| <!DOCTYPE html> | |
| <meta charset="utf-8"> | |
| <meta name="timeout" content="long"> | |
| <title>NDEFReader.onreading respect page visibility changes</title> | |
| <link rel="help" href="https://w3c.github.io/web-nfc/#visible-document"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="resources/nfc-helpers.js"></script> | |
| <script> | |
| nfc_test(async (t, mockNFC) => { | |
| const ndef = new NDEFReader(); | |
| const ndefWatcher = new EventWatcher(t, reader, ["reading", "readingerror"]); | |
| const promise = new Promise((resolve, reject) => { | |
| ndefWatcher.wait_for("reading").then(event => { | |
| if (document.hidden) reject(); | |
| else resolve(); | |
| }); | |
| }); | |
| await ndef.scan(); | |
| await promise; | |
| }, "Test NDEFReader.onreading is not fired when document is hidden"); | |
| </script> | |
| <p>Step1: switch the page to the background, then tap a formatted NFC tag.</p> | |
| <p>Step2: switch back to the page, then tap the tag again.</p> |