This commit is contained in:
John Schoenick 2013-04-19 12:01:08 -07:00
Родитель 9acc51b97a
Коммит 0d63fe31b0
3 изменённых файлов: 85 добавлений и 0 удалений

Просмотреть файл

@ -68,6 +68,8 @@ MOCHITEST_FILES = \
test_bug813906.html \
test_bug784131.html \
test_bug854082.html \
test_bug863792.html \
file_bug863792.html \
test_enumerate.html \
test_npruntime_construct.html \
307-xo-redirect.sjs \

Просмотреть файл

@ -0,0 +1,45 @@
<!doctype html>
<html>
<head>
<title>File for Bug 863792</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<base href="chrome://browser/content/">
</head>
<body>
<script type="application/javascript">
// A plugin that removes itself from the document and inactivates said document
// inside NPP_New. We should not leak the instance. See also test_bug854082
var outerwindow = window;
var i = document.createElement("iframe");
i.width = 500;
i.height = 500;
var ob = document.body;
document.body.appendChild(i);
i.addEventListener("load", function loaded() {
var id = i.contentDocument;
var e = id.createElement("embed");
var callbackrun = false;
e.width = 200;
e.height = 200;
e.type = "application/x-test";
e.__defineSetter__("pluginFoundElement", function() {
window.console.log("pluginFoundElement");
e.style.display = "none";
e.clientTop;
i.removeEventListener("load", loaded);
ob.removeChild(i);
id.body.clientTop;
id.body.removeChild(e);
callbackrun = true;
});
id.body.appendChild(e);
e.clientTop;
e = id = i = ob = null;
SpecialPowers.forceCC(); SpecialPowers.forceGC();
}, false);
</script>
</body>
</html>

Просмотреть файл

@ -0,0 +1,38 @@
<!doctype html>
<html>
<head>
<title>Test for Bug 863792</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
<script type="application/javascript">
// A plugin that removes itself from the document and inactivates said document
// inside NPP_New. We should not leak the instance. See also test_bug854082
SimpleTest.waitForExplicitFinish();
var i = document.createElement("iframe");
i.src = "file_bug863792.html";
i.width = 500;
i.height = 500;
document.body.appendChild(i);
i.addEventListener("load", function() {
SpecialPowers.forceGC();
SpecialPowers.forceCC();
SimpleTest.executeSoon(function() {
SpecialPowers.forceGC();
SpecialPowers.forceCC();
SimpleTest.executeSoon(function() {
ok(true, "Didn't crash");
SimpleTest.finish();
});
});
}, false);
</script>
</body>
</html>