Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: third_party/WebKit/LayoutTests/editing/selection/selection-no-focus-change.html

Issue 2709983005: Selection API: Do not change focus by Selection functions. (Closed)
Patch Set: . Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <body>
3 <script src="../../resources/testharness.js"></script>
4 <script src="../../resources/testharnessreport.js"></script>
5 <script src="../assert_selection.js"></script>
6 <script>
7 test(() => {
8 let sample = assert_selection(
9 '<input><div contenteditable="true"></div>',
10 (selection) => {
11 selection.document.querySelector('input').focus();
12 selection.extend(selection.document.querySelector('div'), 0);
13 },
14 '<input><div contenteditable="true">|</div>',
15 {removeSampleIfSucceeded: false});
16 assert_equals(sample.document.activeElement, sample.document.querySelector('in put'));
17 }, 'extend() should not change focus.');
18
19 test(() => {
20 let sample = assert_selection(
21 '<input><div contenteditable="true"></div>',
22 (selection) => {
23 selection.document.querySelector('input').focus();
24 selection.collapse(selection.document.querySelector('div'), 0);
25 },
26 '<input><div contenteditable="true">|</div>',
27 {removeSampleIfSucceeded: false});
28 assert_equals(sample.document.activeElement, sample.document.querySelector('in put'));
29 }, 'collapse() should not change focus.');
30
31 test(() => {
32 let sample = assert_selection(
33 '<div contenteditable="true">^abc|</div>',
34 (selection) => {
35 selection.document.querySelector('div').blur();
36 selection.collapseToStart();
37 },
38 '<div contenteditable="true">|abc</div>',
39 {removeSampleIfSucceeded: false});
40 assert_not_equals(sample.document.activeElement, sample.document.querySelector ('div'));
41 }, 'collapseToStart() should not change focus.');
42
43 test(() => {
44 let sample = assert_selection(
45 '<div contenteditable="true">^abc|</div>',
46 (selection) => {
47 selection.document.querySelector('div').blur();
48 selection.collapseToEnd();
49 },
50 '<div contenteditable="true">abc|</div>',
51 {removeSampleIfSucceeded: false});
52 assert_not_equals(sample.document.activeElement, sample.document.querySelector ('div'));
53 }, 'collapseToEnd() should not change focus.');
54
55 test(() => {
56 let sample = assert_selection(
57 '<div contenteditable="true">^abc|</div>',
58 (selection) => {
59 let target = selection.document.querySelector('div');
60 target.blur();
61 selection.setBaseAndExtent(target.firstChild, 1, target.firstChild, 2);
62 },
63 '<div contenteditable="true">a^b|c</div>',
64 {removeSampleIfSucceeded: false});
65 assert_not_equals(sample.document.activeElement, sample.document.querySelector ('div'));
66 }, 'setBaseAndExtent() should not change focus.');
67
68 test(() => {
69 let sample = assert_selection(
70 '<div contenteditable="true">a|bc</div>',
71 (selection) => {
72 let target = selection.document.querySelector('div');
73 target.blur();
74 selection.selectAllChildren(target);
75 },
76 '<div contenteditable="true">^abc|</div>',
77 {removeSampleIfSucceeded: false});
78 assert_not_equals(sample.document.activeElement, sample.document.querySelector ('div'));
79 }, 'selectAllChildren() should not change focus.');
80
81 test(() => {
82 let sample = assert_selection(
83 '<div contenteditable="true">|abc</div>',
84 (selection) => {
85 let target = selection.document.querySelector('div');
86 selection.modify('move', 'forward', 'character');
87 },
88 '<div contenteditable="true">a|bc</div>',
89 {removeSampleIfSucceeded: false});
90 assert_not_equals(sample.document.activeElement, sample.document.querySelector ('div'));
91 }, 'modify() should not change focus.');
92
93 test(() => {
94 let sample = assert_selection(
95 '<div contenteditable="true">abc</div>',
96 (selection) => {
97 selection.removeAllRanges();
98 let target = selection.document.querySelector('div');
99 let range = selection.document.createRange();
100 range.setStart(target, 1);
101 selection.addRange(range);
102 },
103 '<div contenteditable="true">abc|</div>',
104 {removeSampleIfSucceeded: false});
105 assert_not_equals(sample.document.activeElement, sample.document.querySelector ('div'));
106 }, 'addRange() should not change focus.');
107
108 test(() => {
109 let sample = assert_selection(
110 '<div contenteditable="true">a|bc</div>',
111 (selection) => {
112 let target = selection.document.querySelector('div');
113 target.focus();
114 selection.removeAllRanges();
115 },
116 '<div contenteditable="true">abc</div>',
117 {removeSampleIfSucceeded: false});
118 assert_equals(sample.document.activeElement, sample.document.querySelector('di v'));
119 }, 'removeAllRanges() should not change focus.');
120
121 // modify
122 </script>
123 </body>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698