<!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>