39 lines
1.6 KiB
HTML
39 lines
1.6 KiB
HTML
<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>
|