<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=1299363
-->
<head>
  <title>Test upgrade steps for custom elements.</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1299363">Bug 1299363</a>
<script type="text/javascript">
// Fake the Cu.waiveXrays, so that we can share the tests with mochitest chrome.
var Cu = { waiveXrays: (obj) => obj };
SimpleTest.waitForExplicitFinish();

var promises = [];
function test_with_new_window(f, msg) {
  promises.push(new Promise((aResolve) => {
    let iframe = document.createElement('iframe');
    iframe.setAttribute('type', 'content');
    iframe.setAttribute('src', 'test_upgrade_page.html');
    iframe.onload = function() {
      // Use window from iframe to isolate the test.
      f(iframe.contentWindow, msg);
      aResolve();
    };
    document.body.appendChild(iframe);
  }));
}
</script>
<!-- Test cases for autonomous element -->
<script type="text/javascript" src="upgrade_tests.js"></script>
<script>
Promise.all(promises).then(() => {
  SimpleTest.finish();
});
</script>
</body>
</html>