blob: 959829122107c62656b3773b4f83e3548ab69d0b [file] [log] [blame]
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<script>
var jsTestIsAsync = true;
description('This is a regression test for crbug.com/400476. It should not crash and then brag about it.')
var root = document.documentElement;
var iframe = root.ownerDocument.createElement('iframe');
iframe.onload = function() {
var defaultView = iframe.contentDocument.defaultView;
defaultView.onpageshow = onPageShow;
window.setTimeout(tryToCrash, 0);
};
root.appendChild(iframe);
function onPageShow() {
eventObj = arguments[0];
}
function tryToCrash() {
// Access of eventObj.path caused the crash.
// The test is somewhat flaky, in that the test may pass as correct
// despite the bug being the code. The exact conditions
// are unclear, but 1, asan helps detect the crash and 2, the
// preceding gc()s increase the likelihood of it occurring.
gc();
gc();
gc();
gc();
gc();
var path = eventObj.path;
debug(path);
testPassed('totally did not crash.');
finishJSTest();
}
</script>
</body>
</html>