mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-30 21:55:31 +00:00
09a262787c
We are white-listing the existing set of tests that use setTimeout like this. Hopefully these tests will be investigated and fixed in the future, so that we can narrow down the white-list. This check is only turned on for mochitest-plain for now.
67 lines
1.9 KiB
HTML
67 lines
1.9 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script type="text/javascript" src="/tests/SimpleTest/WindowSnapshot.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
<style>
|
|
div, iframe {
|
|
position:absolute;
|
|
left:0; top:50px;
|
|
width:400px; height:400px;
|
|
transform: translateY(50px);
|
|
border:5px solid black;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="d" style="background:blue"></div>
|
|
|
|
<script type="application/javascript;version=1.7">
|
|
"use strict";
|
|
|
|
var referenceSnapshot;
|
|
var iterations = 0;
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
SimpleTest.requestFlakyTimeout("untriaged");
|
|
|
|
function pollForTestPass() {
|
|
var snapshot = snapshotWindow(window);
|
|
if (compareSnapshots(referenceSnapshot, snapshot, true)[0]) {
|
|
ok(true, "Test passed after " + iterations + " iterations");
|
|
SimpleTest.finish();
|
|
return;
|
|
}
|
|
|
|
++iterations;
|
|
if (iterations == 20) {
|
|
todo(false, "We couldn't draw the frame, but at least we didn't crash");
|
|
SimpleTest.finish();
|
|
return;
|
|
}
|
|
setTimeout(pollForTestPass, 10);
|
|
}
|
|
function addRemoteFrame() {
|
|
let iframe = document.createElement("iframe");
|
|
SpecialPowers.wrap(iframe).mozbrowser = true;
|
|
iframe.src = "data:text/html,<html style='background:blue;'>";
|
|
|
|
document.body.appendChild(iframe);
|
|
|
|
pollForTestPass();
|
|
}
|
|
addEventListener("load", function() {
|
|
referenceSnapshot = snapshotWindow(window);
|
|
document.getElementById("d").style.display = 'none';
|
|
SpecialPowers.addPermission("browser", true, document);
|
|
SpecialPowers.pushPrefEnv({
|
|
"set": [
|
|
["dom.ipc.browser_frames.oop_by_default", true],
|
|
["dom.mozBrowserFramesEnabled", true]
|
|
]
|
|
}, addRemoteFrame);
|
|
});
|
|
</script>
|
|
</body>
|