Source code
Revision control
Copy as Markdown
Other Tools
<!doctype html>
<title>Range test iframe</title>
<link rel="author" title="Aryeh Gregor" href=ayg@aryeh.name>
<meta name=timeout content=long>
<body onload=run()>
<script src=../common.js></script>
<script>
"use strict";
// This script only exists because we want to evaluate the range endpoints
// in each iframe using that iframe's local variables set up by common.js. It
// just creates the range and does nothing else. The data is returned via
// window.testRange, and if an exception is thrown, it's put in
// window.unexpectedException.
window.unexpectedException = null;
function run() {
try {
window.unexpectedException = null;
if (typeof window.testNodeInput != "undefined") {
window.testNode = eval(window.testNodeInput);
}
var rangeEndpoints;
if (typeof window.testRangeInput == "undefined") {
// Use the hash (old way of doing things, bad because it requires
// navigation)
if (location.hash == "") {
return;
}
rangeEndpoints = eval(location.hash.substr(1));
} else {
// Get the variable directly off the window, faster and can be done
// synchronously
rangeEndpoints = eval(window.testRangeInput);
}
var range;
if (rangeEndpoints == "detached") {
range = document.createRange();
range.detach();
} else {
range = ownerDocument(rangeEndpoints[0]).createRange();
range.setStart(rangeEndpoints[0], rangeEndpoints[1]);
range.setEnd(rangeEndpoints[2], rangeEndpoints[3]);
}
window.testRange = range;
} catch(e) {
window.unexpectedException = e;
}
}
testDiv.style.display = "none";
</script>