<!DOCTYPE html> <html> <head> <title>XMLHttpRequest: open() in document that is not fully active (but may be active) should throw</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <link rel="help" href="https://xhr.spec.whatwg.org/#the-open()-method"> </head> <body> <div id="log"></div> <script> var test = async_test(), client, count = 0, win = window.open("resources/init.htm"); test.add_cleanup(function() { win.close(); }); function init() { test.step(function() { if(0 == count) { var doc = win.document; var ifr = document.createElement("iframe"); ifr.onload = function() { // Again, do things async so we're not doing loads from inside // load events. setTimeout(function() { client = new ifr.contentWindow.XMLHttpRequest(); count++; // Important to do a normal navigation, not a reload. win.location.href = "resources/init.htm"; }, 100); } doc.body.appendChild(ifr); } else if(1 == count) { assert_throws("InvalidStateError", function() { client.open("GET", "...") }) test.done() } }) } </script> </body> </html>