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