<!
DOCTYPE html>
<
html>
<
head>
<
title>getOffsetAtPoint when page is zoomed</
title>
<
link rel=
"stylesheet" type=
"text/css"
href=
"chrome://mochikit/content/tests/SimpleTest/test.css" />
<
script src=
"chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></
script>
<
script type=
"application/javascript"
src=
"../common.js"></
script>
<
script type=
"application/javascript"
src=
"../role.js"></
script>
<
script type=
"application/javascript"
src=
"../layout.js"></
script>
<
script type=
"application/javascript">
function doTest() {
var hyperText = getNode(
"paragraph");
var textNode = hyperText.firstChild;
let [x, y, width, height] = getBounds(textNode);
testOffsetAtPoint(hyperText, x + width / 2, y + height / 2,
COORDTYPE_SCREEN_RELATIVE,
hyperText.textContent.length / 2);
zoomDocument(document, 2.0);
document.
body.offsetTop; // getBounds doesn
't flush layout on its own, looks like.
[x, y, width, height] = getBounds(textNode);
testOffsetAtPoint(hyperText, x + width / 2, y + height / 2,
COORDTYPE_SCREEN_RELATIVE,
hyperText.textContent.length / 2);
zoomDocument(document, 1.0);
SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
addA11yLoadEvent(doTest);
</
script>
</
head>
<
body>
<a target=
"_blank"
href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=727942"
title=
"getOffsetAtPoint returns incorrect value when page is zoomed">
Mozilla Bug 727942
</a>
<p id=
"display"></p>
<
div id=
"content" style=
"display: none"></
div>
<
pre id=
"test">
</
pre>
<p id=
"paragraph" style=
"font-family: monospace;">Болтали две сороки</p>
</
body>
</
html>