зеркало из https://github.com/mozilla/gecko-dev.git
52 строки
1.9 KiB
XML
52 строки
1.9 KiB
XML
<?xml version="1.0"?>
|
|
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
|
|
type="text/css"?>
|
|
<window title="Basic Plugin Tests"
|
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
|
<title>Plugin Busy Hang Test</title>
|
|
<script type="application/javascript"
|
|
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
|
|
<script type="application/javascript"
|
|
src="http://mochi.test:8888/chrome/dom/plugins/test/mochitest/hang_test.js" />
|
|
<script type="application/javascript" src="plugin-utils.js"></script>
|
|
<script type="application/javascript">
|
|
setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED);
|
|
</script>
|
|
<body xmlns="http://www.w3.org/1999/xhtml" onload="runTests()">
|
|
<embed id="plugin1" type="application/x-test" width="200" height="200"></embed>
|
|
</body>
|
|
<script class="testbody" type="application/javascript">
|
|
<![CDATA[
|
|
SimpleTest.waitForExplicitFinish();
|
|
SimpleTest.expectChildProcessCrash();
|
|
|
|
async function runTests() {
|
|
// Default plugin hang timeout is too high for mochitests
|
|
var prefs = Cc["@mozilla.org/preferences-service;1"]
|
|
.getService(Ci.nsIPrefBranch);
|
|
var timeoutPref = "dom.ipc.plugins.timeoutSecs";
|
|
prefs.setIntPref(timeoutPref, 5);
|
|
|
|
var os = Cc["@mozilla.org/observer-service;1"].
|
|
getService(Ci.nsIObserverService);
|
|
os.addObserver(testObserver, "plugin-crashed", true);
|
|
|
|
testObserver.idleHang = false;
|
|
document.addEventListener("PluginCrashed", onPluginCrashed, false);
|
|
|
|
var pluginElement = document.getElementById("plugin1");
|
|
await SimpleTest.promiseWaitForCondition(() => pluginElement.hang !== undefined,
|
|
"Waited too long for plugin to activate");
|
|
|
|
try {
|
|
pluginElement.hang(true);
|
|
} catch (e) {
|
|
}
|
|
}
|
|
]]>
|
|
</script>
|
|
</window>
|
|
|