<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=578096
-->
<head>
  <title>Test for Bug 578096</title>
  <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
  <script type="text/javascript" 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=578096">Mozilla Bug 578096</a>
<p id="display"></p>
<div id="content">
   <input type="file" id="file" onchange="fireXHR()">
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();

var url = SimpleTest.getTestFileURL("bug578096LoadChromeScript.js");
var script = SpecialPowers.loadChromeScript(url);

script.addMessageListener("file.created", function (message) {
  SpecialPowers.wrap(document.getElementById('file')).mozSetFileArray([message]);

  var xhr = new XMLHttpRequest();
  xhr.onreadystatechange = function(event) {
    if (xhr.readyState == 4) {
      script.sendAsyncMessage("file.remove", {});
    }
  }

  xhr.open('POST', window.location, true);
  xhr.send(document.getElementById('file').files[0]);
});

script.addMessageListener("file.removed", function (message) {
  ok(true, "We didn't throw! Yay!");
  script.destroy();
  SimpleTest.finish();
});

script.sendAsyncMessage("file.create", {});
</script>
</pre>
</body>
</html>