42 lines
1.3 KiB
HTML
42 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<body onselectstart="event.preventDefault();">
|
|
<p>This test ensures selectstart event fires when selecting all and script can prevent the selection change.</p>
|
|
<section id="test">
|
|
<div onselectstart="handlerOnDivWasCalled = true;" contenteditable>hello</div>
|
|
<input onselectstart="event.preventDefault();" type="text" value="world">
|
|
</section>
|
|
<pre><script>
|
|
|
|
if (window.testRunner) {
|
|
testRunner.dumpAsText();
|
|
testRunner.dumpEditingCallbacks();
|
|
}
|
|
|
|
var handlerOnDivWasCalled = false;
|
|
var div = document.getElementsByTagName('div')[0];
|
|
div.focus();
|
|
window.getSelection().setPosition(div.firstChild, 1);
|
|
document.execCommand('SelectAll', false, null);
|
|
var range = window.getSelection().getRangeAt(0);
|
|
document.write('div: ');
|
|
if (!handlerOnDivWasCalled)
|
|
document.writeln('FAIL - handler on div was never called');
|
|
else if (range.startOffset != 1 || range.endOffset != 1)
|
|
document.writeln('FAIL - selection changed');
|
|
else
|
|
document.writeln('PASS');
|
|
|
|
var input = document.getElementsByTagName('input')[0];
|
|
input.focus();
|
|
input.selectionStart = 1;
|
|
input.selectionEnd = 1;
|
|
document.execCommand('SelectAll', false, null);
|
|
document.writeln('input: ' + (input.selectionStart == 1 || input.selectionEnd == 1 ? 'PASS' : 'FAIL'));
|
|
|
|
document.getElementById('test').style.display = 'none';
|
|
|
|
</script></pre>
|
|
</body>
|
|
</html>
|