mirror of
https://github.com/servo/servo.git
synced 2025-06-24 17:14:33 +01:00
56 lines
1.6 KiB
HTML
56 lines
1.6 KiB
HTML
<!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>
|