They and their callees work with the result of `GetRoot()` which is the document element or the body element. If the body is not editable, `Selection` should not be updated in non-editable region nor `<br>` elements should not be inserted in both non-focused editable elements and non-editable elements. Therefore, they should run only when the document element or the `<body>` element is editable. To keep testing crashtests as reported, this patch makes tests which have `contenteditable` except `<html>` and `<body>` initialize `Selection` as what we've done. And clean up the tests for helping to port them to WPT in the future (bug 1725850). Differential Revision: https://phabricator.services.mozilla.com/D157408
42 lines
1.1 KiB
HTML
42 lines
1.1 KiB
HTML
<!DOCTYPE HTML>
|
|
<html class="reftest-wait">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<title>Testcase for bug 503399</title>
|
|
<style type="text/css">
|
|
html, body {
|
|
color: black;
|
|
background-color: white;
|
|
font: 16px monospace;
|
|
}
|
|
p {
|
|
text-align: justify;
|
|
max-width: 180px;
|
|
height: 1em;
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
span {
|
|
display: inline-block;
|
|
position: absolute;
|
|
height: 100%;
|
|
}
|
|
</style>
|
|
<script>
|
|
var done = false;
|
|
function runTest(p) {
|
|
if (done)
|
|
return;
|
|
try {
|
|
getSelection().collapse(p.childNodes[0], 14);
|
|
} catch (e) {}
|
|
document.documentElement.removeAttribute('class');
|
|
done = true;
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="var p = document.getElementsByTagName('p')[0]; p.focus(); setTimeout(function(){runTest(p)},1000)">
|
|
<p onfocus="runTest(this)" contentEditable="true"> <span></span> </p>
|
|
</body>
|
|
</html>
|