| <!DOCTYPE html> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| <script src="../resources/mojo-helpers.js"></script> |
| <script src="resources/nfc-helpers.js"></script> |
| <script> |
| 'use strict'; |
| |
| nfc_test(nfc => { |
| return new Promise((resolve,reject) => { |
| let iframeMockNFC = new nfc.MockNFC; |
| let iframe = document.createElement('iframe'); |
| iframe.src = 'resources/push-from-iframe.html'; |
| iframe.onload = () => { |
| iframe.contentWindow.gin.define( |
| "Mojo Service Registry", |
| [ 'content/public/renderer/frame_interfaces' ], |
| (frameInterfaces) => { |
| frameInterfaces.addInterfaceOverrideForTesting( |
| nfc.NFC.name, |
| handle => { iframeMockNFC.bindingSet.addBinding( |
| iframeMockNFC, handle); }); |
| iframe.contentWindow.postMessage('Ready', '*'); |
| }); |
| } |
| |
| document.body.appendChild(iframe); |
| |
| window.onmessage = message => { |
| if (message.data == 'Success') { |
| resolve(); |
| } else if (message.data == 'Failure') { |
| reject(); |
| } |
| } |
| }); |
| }, 'Test that WebNFC API is not accessible from iframe context.'); |
| |
| </script> |