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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/events/inputevents/inputevent-cancelable.html

Issue 2777863003: [InputEvent] Distinguish between soft line and hard line (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
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/editing/EditingUtilities.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <title>InputEvent: cancelable</title> 4 <title>InputEvent: cancelable</title>
5 <script src="../../../resources/testharness.js"></script> 5 <script src="../../../resources/testharness.js"></script>
6 <script src="../../../resources/testharnessreport.js"></script> 6 <script src="../../../resources/testharnessreport.js"></script>
7 <style> 7 <style>
8 div { 8 div {
9 width: 100px; 9 width: 100px;
10 height: 100px; 10 height: 100px;
(...skipping 29 matching lines...) Expand all
40 assert_not_equals(internals, undefined, 'This test requires internals.'); 40 assert_not_equals(internals, undefined, 'This test requires internals.');
41 assert_not_equals(textInputController, undefined, 'This test requires textIn putController.'); 41 assert_not_equals(textInputController, undefined, 'This test requires textIn putController.');
42 42
43 const editable = document.getElementById('editable'); 43 const editable = document.getElementById('editable');
44 const editable1 = document.getElementById('editable1'); 44 const editable1 = document.getElementById('editable1');
45 const editable2 = document.getElementById('editable2'); 45 const editable2 = document.getElementById('editable2');
46 const kNoncancelableInputTypes = [ 46 const kNoncancelableInputTypes = [
47 'insertText', 'insertLineBreak', 'insertParagraph', 47 'insertText', 'insertLineBreak', 'insertParagraph',
48 'insertCompositionText', 'insertReplacementText', 48 'insertCompositionText', 'insertReplacementText',
49 'deleteWordBackward', 'deleteWordForward', 49 'deleteWordBackward', 'deleteWordForward',
50 'deleteLineBackward', 'deleteLineForward', 50 'deleteSoftLineBackward', 'deleteSoftLineForward',
51 'deleteHardLineBackward', 'deleteHardLineForward',
51 'deleteContentBackward', 'deleteContentForward', 52 'deleteContentBackward', 'deleteContentForward',
52 ]; 53 ];
53 54
54 let lastBeforeInputType = ''; 55 let lastBeforeInputType = '';
55 document.addEventListener('beforeinput', t.step_func(event => { 56 document.addEventListener('beforeinput', t.step_func(event => {
56 lastBeforeInputType = event.inputType; 57 lastBeforeInputType = event.inputType;
57 assert_equals(kNoncancelableInputTypes.indexOf(event.inputType) === -1, event.cancelable); 58 assert_equals(kNoncancelableInputTypes.indexOf(event.inputType) === -1, event.cancelable);
58 })); 59 }));
59 60
60 function testKeyDown(key, modifiers, inputType) { 61 function testKeyDown(key, modifiers, inputType) {
(...skipping 20 matching lines...) Expand all
81 // Deletion 82 // Deletion
82 const isMacOS = navigator.platform.indexOf('Mac') === 0; 83 const isMacOS = navigator.platform.indexOf('Mac') === 0;
83 const deleteWordModifier = isMacOS ? 'altKey' : 'ctrlKey'; 84 const deleteWordModifier = isMacOS ? 'altKey' : 'ctrlKey';
84 editable.innerHTML = 'abc def</br>123 456'; 85 editable.innerHTML = 'abc def</br>123 456';
85 const selection = window.getSelection(); 86 const selection = window.getSelection();
86 selection.collapse(editable, 1); // End of first line. 87 selection.collapse(editable, 1); // End of first line.
87 testKeyDown('Backspace', [], 'deleteContentBackward'); 88 testKeyDown('Backspace', [], 'deleteContentBackward');
88 testKeyDown('Delete', [], 'deleteContentForward'); 89 testKeyDown('Delete', [], 'deleteContentForward');
89 testKeyDown('Backspace', [deleteWordModifier], 'deleteWordBackward'); 90 testKeyDown('Backspace', [deleteWordModifier], 'deleteWordBackward');
90 testKeyDown('Delete', [deleteWordModifier], 'deleteWordForward'); 91 testKeyDown('Delete', [deleteWordModifier], 'deleteWordForward');
92 testCommand('deleteToBeginningOfLine', 'deleteSoftLineBackward');
93 testCommand('deleteToEndOfLine', 'deleteSoftLineForward');
94 testCommand('deleteToBeginningOfParagraph', 'deleteHardLineBackward');
95 testCommand('deleteToEndOfParagraph', 'deleteHardLineForward');
91 96
92 // Format 97 // Format
93 editable.innerHTML = 'abc'; 98 editable.innerHTML = 'abc';
94 selection.collapse(editable, 0); 99 selection.collapse(editable, 0);
95 selection.extend(editable, 1); 100 selection.extend(editable, 1);
96 testCommand('bold', 'formatBold'); 101 testCommand('bold', 'formatBold');
97 testCommand('italic', 'formatItalic'); 102 testCommand('italic', 'formatItalic');
98 testCommand('underline', 'formatUnderline'); 103 testCommand('underline', 'formatUnderline');
99 testCommand('strikeThrough', 'formatStrikeThrough'); 104 testCommand('strikeThrough', 'formatStrikeThrough');
100 testCommand('superscript', 'formatSuperscript'); 105 testCommand('superscript', 'formatSuperscript');
(...skipping 28 matching lines...) Expand all
129 selection.extend(editable, 1); 134 selection.extend(editable, 1);
130 textInputController.setComposition('word'); 135 textInputController.setComposition('word');
131 assert_equals('insertCompositionText', lastBeforeInputType); 136 assert_equals('insertCompositionText', lastBeforeInputType);
132 137
133 t.done(); 138 t.done();
134 }, 'Text input and IME related input types are non-cancelable.'); 139 }, 'Text input and IME related input types are non-cancelable.');
135 140
136 </script> 141 </script>
137 </body> 142 </body>
138 </html> 143 </html>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/editing/EditingUtilities.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698