<!DOCTYPEHTML>
<html class="reftest-wait"> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=619273
-->
<head>
<title>Test for Bug 619273</title>
<script type="application/javascript">
/** Test DOM mutations inside selection **/
function createDOM(doc) {
let s = doc.createElement('span');
s.appendChild(doc.createTextNode('|'))
let s2 = doc.createElement('span');
s2.appendChild(doc.createTextNode('z'))
s.appendChild(s2)
return s;
}
var tests_done = 0; var tests = [
function(win,doc,sel) {
doc.body.innerHTML = '.I B C|z'
let a = doc.body.firstChild;
let r = doc.createRange();
r.setStart(a, 1);
r.setEnd(a, 2);
sel.addRange(r);
},
function(win,doc,sel) {
doc.body.innerHTML = '.I B C|z'
let a = doc.body.firstChild;
let r = doc.createRange();
r.setStart(doc.firstChild, 0);
r.setEnd(a, 2);
sel.addRange(r);
},
function(win,doc,sel) {
doc.body.innerHTML = 'I .B C|z'
let a = doc.body.firstChild;
let b = doc.body.childNodes[2];
let c = doc.body.childNodes[4];
let r = doc.createRange();
r.setStart(a, 0);
r.setEnd(c, 1);
sel.addRange(r);
},
function(win,doc,sel) {
doc.body.innerHTML = 'I .B C|z'
let b = doc.body.childNodes[2];
let c = doc.body.childNodes[4];
let r = doc.createRange();
r.setStart(doc.body, 0);
r.setEnd(c, 1);
sel.addRange(r);
},
function(win,doc,sel) {
doc.body.innerHTML = 'I .B C|z'
let b = doc.body.childNodes[2];
let c = doc.body.childNodes[4];
let r = doc.createRange();
r.setStart(doc, 0);
r.setEnd(c, 1);
sel.addRange(r);
},
function(win,doc,sel) {
doc.body.innerHTML = 'I B .C|z'
let a = doc.body.firstChild;
let c = doc.body.childNodes[4];
let r = doc.createRange();
r.setStart(a, 0);
r.setEnd(c, 2);
sel.addRange(r);
},
function(win,doc,sel) {
doc.body.innerHTML = '|z|zI B C'
let a = doc.body.firstChild;
let r = doc.createRange();
r.setStart(a, 4);
r.setEnd(a, 5);
sel.addRange(r);
},
function(win,doc,sel) {
doc.body.innerHTML = '|z|zI B C'
let a = doc.body.firstChild;
let r = doc.createRange();
r.setStart(doc.firstChild, 0);
r.setEnd(a, 5);
sel.addRange(r);
},
function(win,doc,sel) {
doc.body.innerHTML = 'I |z|zB C'
let a = doc.body.firstChild;
let b = doc.body.childNodes[2];
let c = doc.body.childNodes[4];
let r = doc.createRange();
r.setStart(a, 0);
r.setEnd(c, 1);
sel.addRange(r);
},
function(win,doc,sel) {
doc.body.innerHTML = 'I |z|zB C'
let b = doc.body.childNodes[2];
let c = doc.body.childNodes[4];
let r = doc.createRange();
r.setStart(doc.body, 0);
r.setEnd(c, 1);
sel.addRange(r);
},
function(win,doc,sel) {
doc.body.innerHTML = 'I |z|zB C'
let b = doc.body.childNodes[2];
let c = doc.body.childNodes[4];
let r = doc.createRange();
r.setStart(doc, 0);
r.setEnd(c, 1);
sel.addRange(r);
},
function(win,doc,sel) {
doc.body.innerHTML = 'I B |z|zC'
let a = doc.body.firstChild;
let c = doc.body.childNodes[4];
let r = doc.createRange();
r.setStart(a, 0);
r.setEnd(c, 5);
sel.addRange(r);
},
function(win,doc,sel) {
doc.body.innerHTML = ' B CI'
},
function(win,doc,sel) {
doc.body.innerHTML = ' B C'
},
function(win,doc,sel) {
doc.body.innerHTML = 'I B C'
let a = doc.body.firstChild;
let c = doc.body.childNodes[4];
let r = doc.createRange();
r.setStart(a, 0);
r.setEnd(c, 1);
sel.addRange(r);
},
function runTestInIframe(run,t) {
let f = document.createElement('iframe');
f.setAttribute('frameborder','0');
f.setAttribute('height','100');
f.setAttribute('width','200');
f.src = 'data:text/html,';
f.onload = function () {
try {
run(f.contentWindow, f.contentDocument, f.contentWindow.getSelection());
} finally { ++tests_done; }
}
return f;
}
var id;
function checkFinished() {
if (window.frames.length == tests_done) {
clearInterval(id);
document.documentElement.className = "";
}
}
function runTest() {
for (let i=0; i < tests.length; ++i) {
let t = tests[i];
document.body.appendChild(runTestInIframe(t));
}
id = setInterval(checkFinished,500);
}
</script>
</head>
<body onload="runTest()"></body>
</html>
Messung V0.5
¤ Dauer der Verarbeitung: 0.30 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.