| Index: third_party/WebKit/LayoutTests/editing/selection/selection-no-focus-change.html
|
| diff --git a/third_party/WebKit/LayoutTests/editing/selection/selection-no-focus-change.html b/third_party/WebKit/LayoutTests/editing/selection/selection-no-focus-change.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..86b2d84de0698d8d6579b56ad9a8407b7cc8d550
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/editing/selection/selection-no-focus-change.html
|
| @@ -0,0 +1,123 @@
|
| +<!DOCTYPE html>
|
| +<body>
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| +<script src="../assert_selection.js"></script>
|
| +<script>
|
| +test(() => {
|
| + let sample = assert_selection(
|
| + '<input><div contenteditable="true"></div>',
|
| + (selection) => {
|
| + selection.document.querySelector('input').focus();
|
| + selection.extend(selection.document.querySelector('div'), 0);
|
| + },
|
| + '<input><div contenteditable="true">|</div>',
|
| + {removeSampleIfSucceeded: false});
|
| + assert_equals(sample.document.activeElement, sample.document.querySelector('input'));
|
| +}, 'extend() should not change focus.');
|
| +
|
| +test(() => {
|
| + let sample = assert_selection(
|
| + '<input><div contenteditable="true"></div>',
|
| + (selection) => {
|
| + selection.document.querySelector('input').focus();
|
| + selection.collapse(selection.document.querySelector('div'), 0);
|
| + },
|
| + '<input><div contenteditable="true">|</div>',
|
| + {removeSampleIfSucceeded: false});
|
| + assert_equals(sample.document.activeElement, sample.document.querySelector('input'));
|
| +}, 'collapse() should not change focus.');
|
| +
|
| +test(() => {
|
| + let sample = assert_selection(
|
| + '<div contenteditable="true">^abc|</div>',
|
| + (selection) => {
|
| + selection.document.querySelector('div').blur();
|
| + selection.collapseToStart();
|
| + },
|
| + '<div contenteditable="true">|abc</div>',
|
| + {removeSampleIfSucceeded: false});
|
| + assert_not_equals(sample.document.activeElement, sample.document.querySelector('div'));
|
| +}, 'collapseToStart() should not change focus.');
|
| +
|
| +test(() => {
|
| + let sample = assert_selection(
|
| + '<div contenteditable="true">^abc|</div>',
|
| + (selection) => {
|
| + selection.document.querySelector('div').blur();
|
| + selection.collapseToEnd();
|
| + },
|
| + '<div contenteditable="true">abc|</div>',
|
| + {removeSampleIfSucceeded: false});
|
| + assert_not_equals(sample.document.activeElement, sample.document.querySelector('div'));
|
| +}, 'collapseToEnd() should not change focus.');
|
| +
|
| +test(() => {
|
| + let sample = assert_selection(
|
| + '<div contenteditable="true">^abc|</div>',
|
| + (selection) => {
|
| + let target = selection.document.querySelector('div');
|
| + target.blur();
|
| + selection.setBaseAndExtent(target.firstChild, 1, target.firstChild, 2);
|
| + },
|
| + '<div contenteditable="true">a^b|c</div>',
|
| + {removeSampleIfSucceeded: false});
|
| + assert_not_equals(sample.document.activeElement, sample.document.querySelector('div'));
|
| +}, 'setBaseAndExtent() should not change focus.');
|
| +
|
| +test(() => {
|
| + let sample = assert_selection(
|
| + '<div contenteditable="true">a|bc</div>',
|
| + (selection) => {
|
| + let target = selection.document.querySelector('div');
|
| + target.blur();
|
| + selection.selectAllChildren(target);
|
| + },
|
| + '<div contenteditable="true">^abc|</div>',
|
| + {removeSampleIfSucceeded: false});
|
| + assert_not_equals(sample.document.activeElement, sample.document.querySelector('div'));
|
| +}, 'selectAllChildren() should not change focus.');
|
| +
|
| +test(() => {
|
| + let sample = assert_selection(
|
| + '<div contenteditable="true">|abc</div>',
|
| + (selection) => {
|
| + let target = selection.document.querySelector('div');
|
| + selection.modify('move', 'forward', 'character');
|
| + },
|
| + '<div contenteditable="true">a|bc</div>',
|
| + {removeSampleIfSucceeded: false});
|
| + assert_not_equals(sample.document.activeElement, sample.document.querySelector('div'));
|
| +}, 'modify() should not change focus.');
|
| +
|
| +test(() => {
|
| + let sample = assert_selection(
|
| + '<div contenteditable="true">abc</div>',
|
| + (selection) => {
|
| + selection.removeAllRanges();
|
| + let target = selection.document.querySelector('div');
|
| + let range = selection.document.createRange();
|
| + range.setStart(target, 1);
|
| + selection.addRange(range);
|
| + },
|
| + '<div contenteditable="true">abc|</div>',
|
| + {removeSampleIfSucceeded: false});
|
| + assert_not_equals(sample.document.activeElement, sample.document.querySelector('div'));
|
| +}, 'addRange() should not change focus.');
|
| +
|
| +test(() => {
|
| + let sample = assert_selection(
|
| + '<div contenteditable="true">a|bc</div>',
|
| + (selection) => {
|
| + let target = selection.document.querySelector('div');
|
| + target.focus();
|
| + selection.removeAllRanges();
|
| + },
|
| + '<div contenteditable="true">abc</div>',
|
| + {removeSampleIfSucceeded: false});
|
| + assert_equals(sample.document.activeElement, sample.document.querySelector('div'));
|
| +}, 'removeAllRanges() should not change focus.');
|
| +
|
| +// modify
|
| +</script>
|
| +</body>
|
|
|