mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-29 21:25:35 +00:00
65 lines
2.2 KiB
XML
65 lines
2.2 KiB
XML
<?xml version="1.0"?>
|
|
<?xml-stylesheet type="text/css" href="chrome://global/skin"?>
|
|
<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=814638
|
|
-->
|
|
<window title="Mozilla Bug 814638"
|
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
|
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
|
|
|
|
<!-- test results are displayed in the html:body -->
|
|
<body xmlns="http://www.w3.org/1999/xhtml">
|
|
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=814638"
|
|
target="_blank" id="link">Mozilla Bug 814638</a>
|
|
</body>
|
|
|
|
<!-- test code goes here -->
|
|
<script type="application/javascript">
|
|
<![CDATA[
|
|
/** Test for Bug 814638 **/
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
function startTest() {
|
|
let hostURL = "chrome://mochitests/content/chrome/content/base/test/chrome/host_bug814638.xul";
|
|
let host1 = window.open(hostURL, "_blank", "chrome");
|
|
let host2 = window.open(hostURL, "_blank", "chrome");
|
|
|
|
let isHost1Loaded = isHost2Loaded = false
|
|
host1.onload = function() {
|
|
isHost1Loaded = true;
|
|
if (isHost2Loaded) swapFrames();
|
|
}
|
|
host2.onload = function() {
|
|
isHost2Loaded = true;
|
|
if (isHost1Loaded) swapFrames();
|
|
}
|
|
|
|
function swapFrames() {
|
|
let iframe1 = host1.document.querySelector("iframe");
|
|
let iframe2 = host2.document.querySelector("iframe");
|
|
iframe2.QueryInterface(Components.interfaces.nsIFrameLoaderOwner);
|
|
iframe2.swapFrameLoaders(iframe1);
|
|
setTimeout(function() {
|
|
iframe2.contentWindow.receivedKeyEvent = receivedKeyEvent;
|
|
let innerIframe2 = iframe2.contentDocument.querySelector("iframe");
|
|
let e = innerIframe2.contentDocument.createEvent("KeyboardEvent");
|
|
e.initKeyEvent("keypress", true, true, null, true, false, false, false, 0, "t".charCodeAt(0));
|
|
innerIframe2.contentDocument.documentElement.dispatchEvent(e);
|
|
host1.close();
|
|
host2.close();
|
|
}, 0);
|
|
}
|
|
}
|
|
|
|
function receivedKeyEvent() {
|
|
ok(true, "Received key event");
|
|
SimpleTest.finish();
|
|
}
|
|
|
|
addLoadEvent(startTest);
|
|
]]>
|
|
</script>
|
|
</window>
|