<!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>