<!DOCTYPE html>
<meta charset="uft-8">
<title>HTML Test: iframe_sandbox_allow_scripts</title>
<link rel="author" title="Intel" href="http://www.intel.com/">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#attr-iframe-sandbox">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#the-iframe-element">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<iframe id="testIframe" src="support/sandbox_allow_script.html" sandbox="allow-same-origin" style="display:none"></iframe>
<div id="log"></div>
<script>
  var step1 = false;
  var t = async_test("iframe_sandbox_allow_scripts");

  setup({timeout:1000});
  window.addEventListener("message", callback1, false);

  function run() {
    window.removeEventListener("message", callback1, false);
    document.getElementById("testIframe").sandbox = "allow-scripts";
    document.getElementById("testIframe").contentWindow.location.reload();
    window.addEventListener("message", callback2, false);
  }

  function callback1(e) {
    step1= !step1;
  }

  function callback2(e) {
    t.step(function () {
      assert_false(step1, "[allow-scripts] is not set.");
      assert_equals(e.data, "Script executed", "[allow-scripts] is set.");
    });
    t.done();
  }

  setTimeout(run, 500);
</script>
