45 lines
1.3 KiB
HTML
45 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testdriver.js"></script>
|
|
<script src="/resources/testdriver-vendor.js"></script>
|
|
<script src="utils.js"></script>
|
|
<title>Fenced frame content to report the result of navigator.credentials.get</title>
|
|
|
|
<body>
|
|
<script>
|
|
function isExpectedErrorMessage(e) {
|
|
return e.name === 'NotAllowedError' &&
|
|
e.message ===
|
|
'The credential operation is not allowed in a fenced frame tree.';
|
|
}
|
|
|
|
// This file is meant to be navigated to from a <fencedframe> element. It
|
|
// reports back to the page hosting the <fencedframe> whether or not
|
|
// `navigator.credentials.get` is allowed.
|
|
const [key] = parseKeylist();
|
|
|
|
const test_options = {
|
|
federated: {
|
|
providers: [{
|
|
configURL: 'https://idp.test/fedcm.json',
|
|
clientId: '1',
|
|
nonce: '2',
|
|
}]
|
|
}
|
|
};
|
|
navigator.credentials.get(test_options)
|
|
.then(
|
|
() => {
|
|
writeValueToServer(key, 'unexpected passed');
|
|
},
|
|
(e) => {
|
|
if (isExpectedErrorMessage(e)) {
|
|
writeValueToServer(key, 'navigator.credentials.get failed');
|
|
} else {
|
|
writeValueToServer(
|
|
key, 'navigator.credentials.get failed by unexpected reason');
|
|
}
|
|
},
|
|
);
|
|
</script>
|
|
</body>
|