зеркало из https://github.com/mozilla/gecko-dev.git
108 строки
3.5 KiB
HTML
108 строки
3.5 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=388794
|
|
-->
|
|
<head>
|
|
<title>Test for Bug 388794</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script src="/tests/SimpleTest/EventUtils.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
<style>
|
|
input { padding: 0; margin: 0; border: none; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=388794">Mozilla Bug 388794</a>
|
|
<p id="display">
|
|
<form action="dummy_page.html" target="test1" method="GET">
|
|
<input id="test1image" type="image" name="testImage">
|
|
</form>
|
|
<form action="dummy_page.html" target="test2" method="GET">
|
|
<input id="test2image" type="image">
|
|
</form>
|
|
<form action="dummy_page.html" target="test3" method="GET">
|
|
<input id="test3image" type="image" src="nnc_lockup.gif" name="testImage">
|
|
</form>
|
|
<form action="dummy_page.html" target="test4" method="GET">
|
|
<input id="test4image" type="image" src="nnc_lockup.gif">
|
|
</form>
|
|
<form action="dummy_page.html" target="test5" method="GET">
|
|
<input id="test5image" type="image" src="nnc_lockup.gif" name="testImage">
|
|
</form>
|
|
<form action="dummy_page.html" target="test6" method="GET">
|
|
<input id="test6image" type="image" src="nnc_lockup.gif">
|
|
</form>
|
|
<iframe name="test1" id="test1"></iframe>
|
|
<iframe name="test2" id="test2"></iframe>
|
|
<iframe name="test3" id="test3"></iframe>
|
|
<iframe name="test4" id="test4"></iframe>
|
|
<iframe name="test5" id="test5"></iframe>
|
|
<iframe name="test6" id="test6"></iframe>
|
|
</p>
|
|
<div id="content" style="display: none">
|
|
|
|
</div>
|
|
<pre id="test">
|
|
<script type="application/javascript">
|
|
|
|
/** Test for Bug 388794 **/
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
var pendingLoads = 0;
|
|
/* Use regex due to rounding error in Fennec with C++APZ enabled */
|
|
var hrefs = {
|
|
test1: /\?testImage\.x=0&testImage\.y=0/,
|
|
test2: /\?x=0&y=0/,
|
|
test3: /\?testImage\.x=0&testImage\.y=0/,
|
|
test4: /\?x=0&y=0/,
|
|
test5: /\?testImage\.x=[4-6]&testImage\.y=[4-6]/,
|
|
test6: /\?x=[4-6]&y=[4-6]/,
|
|
};
|
|
|
|
function submitForm(idNum) {
|
|
$("test"+idNum).setAttribute("onload", "frameLoaded(this)");
|
|
$("test" + idNum + "image").focus();
|
|
sendKey("return");
|
|
}
|
|
|
|
function submitFormMouse(idNum) {
|
|
$("test"+idNum).setAttribute("onload", "frameLoaded(this)");
|
|
// Use 4.99 instead of 5 to guard against the possibility that the
|
|
// image's 'top' is exactly N + 0.5 pixels from the root. In that case
|
|
// we'd round up the widget mouse coordinate to N + 6, which relative
|
|
// to the image would be 5.5, which would get rounded up to 6 when
|
|
// submitting the form. Instead we round the widget mouse coordinate to
|
|
// N + 5, which relative to the image would be 4.5 which gets rounded up
|
|
// to 5.
|
|
synthesizeMouse($("test" + idNum + "image"), 4.99, 4.99, {});
|
|
}
|
|
|
|
addLoadEvent(function() {
|
|
// Need the timeout so painting has a chance to be unsuppressed.
|
|
setTimeout(function() {
|
|
submitForm(++pendingLoads);
|
|
submitForm(++pendingLoads);
|
|
submitForm(++pendingLoads);
|
|
submitForm(++pendingLoads);
|
|
submitFormMouse(++pendingLoads);
|
|
submitFormMouse(++pendingLoads);
|
|
}, 0);
|
|
});
|
|
|
|
function frameLoaded(frame) {
|
|
ok(
|
|
hrefs[frame.name].test(frame.contentWindow.location.href),
|
|
"Unexpected href for frame " + frame.name + " - " +
|
|
"expected to match: " + hrefs[frame.name].toString() + " got: " + frame.contentWindow.location.href
|
|
);
|
|
if (--pendingLoads == 0) {
|
|
SimpleTest.finish();
|
|
}
|
|
}
|
|
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|