blob: 123b3d2e3310679000242cea32df7f4305d8cda0 [file] [log] [blame]
<html>
<head>
<title>WebKit Bug 47314</title>
<script>
function runTest()
{
if (window.testRunner)
testRunner.dumpAsText();
var frameset = document.getElementById("frameset");
var mouseClick = document.createEvent("MouseEvent");
mouseClick.initEvent("click", true, true);
frameset.dispatchEvent(mouseClick);
if (!window.testRunner) {
// For some reason, when running this test by hand in release builds you must manually
// click on the not-found image placeholder to cause a crash. Hence, we don't replace
// the <frameset> and print a PASS message.
return;
}
// As per the definition of the body element in section 3.1.4 the HTML 5 spec.
// <http://www.w3.org/TR/html5/dom.html#the-body-element>, a document can either
// have a <frameset> or a <body>, but not both, and a frameset does not provide
// a means to print a PASS message. Therefore, we replace <frameset> with <body>.
var htmlElement = document.getElementsByTagName("html")[0];
htmlElement.replaceChild(document.createElement("body"), frameset);
document.body.appendChild(document.createTextNode("PASS, mouse event to <frameset> did not cause crash."));
}
window.onload = runTest;
</script>
</head>
<!-- This tests that we don't crash when clicking on a <frameset> that specifies the CSS content property. -->
<!-- This test PASSED if you see the word "PASS" on the page. Otherwise, it FAILED. -->
<!-- Note: If you are running this test by hand in a release build then try clicking on the not-found image placeholder to cause a crash. -->
<frameset id="frameset" style="content:url(click-to-crash.jpg)"></frameset>
</html>