<html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<script>
  setup({ single_test: true });
  function handleEvent(e) {
    assert_equals(e.data, 'pass');
    done();
  }
  function on_iframe_load() {
    var frameWin = document.getElementById('promptFrame').contentWindow;
    frameWin.postMessage('Prompt', '*');
  }
  window.addEventListener('message', handleEvent);
</script>

<body>
  <iframe id='promptFrame'
    src='http://{{hosts[alt][www]}}:{{ports[http][0]}}/html/webappapis/user-prompts/cannot-show-simple-dialogs/support/prompt.html'
    onload='on_iframe_load()'></iframe>
</body>

</html>
