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

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

Issue 2558643003: [InputEvent] Move 'beforeinput' logic into |CompositeEditCommand::willApplyEditing()| (3/3) (Closed)
Patch Set: xiaocheng's review 3: Rebase and remove updateStyleAndLayoutIgnorePendingStylesheets() Created 3 years, 12 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
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <title>InputEvent: beforeinput inputType</title> 4 <title>InputEvent: beforeinput inputType</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 </head> 7 </head>
8 <body> 8 <body>
9 <input type="text" id="input"> 9 <input type="text" id="input">
10 <textarea id="textarea"></textarea> 10 <textarea id="textarea"></textarea>
(...skipping 15 matching lines...) Expand all
26 assert_false(event.isComposing); 26 assert_false(event.isComposing);
27 lastInputType = event.inputType; 27 lastInputType = event.inputType;
28 }); 28 });
29 29
30 const NO_INPUT_EVENT_FIRED = 'NO_INPUT_EVENT_FIRED'; 30 const NO_INPUT_EVENT_FIRED = 'NO_INPUT_EVENT_FIRED';
31 function testKeyDownInputType(key, modifiers, beforeInputType, inputType) { 31 function testKeyDownInputType(key, modifiers, beforeInputType, inputType) {
32 inputType = inputType || beforeInputType; 32 inputType = inputType || beforeInputType;
33 lastBeforeInputType = NO_INPUT_EVENT_FIRED; 33 lastBeforeInputType = NO_INPUT_EVENT_FIRED;
34 lastInputType = NO_INPUT_EVENT_FIRED; 34 lastInputType = NO_INPUT_EVENT_FIRED;
35 eventSender.keyDown(key, modifiers); 35 eventSender.keyDown(key, modifiers);
36 assert_equals(lastBeforeInputType, beforeInputType, `${modifiers.toStrin g()}+${key} should produce beforeInputType: ${inputType}`); 36 assert_equals(lastBeforeInputType, beforeInputType, `${modifiers.toStrin g()}+${key} should produce beforeInputType: ${beforeInputType}`);
37 assert_equals(lastInputType, inputType, `${modifiers.toString()}+${key} should produce inputType: ${inputType}`); 37 assert_equals(lastInputType, inputType, `${modifiers.toString()}+${key} should produce inputType: ${inputType}`);
38 } 38 }
39 39
40 editable.focus(); 40 editable.focus();
41 // Typing 41 // Typing
42 testKeyDownInputType('a', [], 'insertText'); 42 testKeyDownInputType('a', [], 'insertText');
43 testKeyDownInputType('6', [], 'insertText'); 43 testKeyDownInputType('6', [], 'insertText');
44 testKeyDownInputType('l', ['shiftKey'], 'insertText'); 44 testKeyDownInputType('l', ['shiftKey'], 'insertText');
45 testKeyDownInputType('w', ['shiftKey'], 'insertText'); 45 testKeyDownInputType('w', ['shiftKey'], 'insertText');
46 46
47 // Enter key has different behavior on <input>, <textarea> and ContentEditab le. 47 // Enter key has different behavior on <input>, <textarea> and ContentEditab le.
48 document.getElementById('input').focus(); 48 document.getElementById('input').focus();
49 testKeyDownInputType('Enter', [], 'insertLineBreak', NO_INPUT_EVENT_FIRED); 49 testKeyDownInputType('Enter', [], NO_INPUT_EVENT_FIRED, NO_INPUT_EVENT_FIRED );
50 testKeyDownInputType('Enter', ['shiftKey'], 'insertLineBreak', NO_INPUT_EVEN T_FIRED); 50 testKeyDownInputType('Enter', ['shiftKey'], NO_INPUT_EVENT_FIRED, NO_INPUT_E VENT_FIRED);
51 51
52 document.getElementById('textarea').focus(); 52 document.getElementById('textarea').focus();
53 testKeyDownInputType('Enter', [], 'insertLineBreak', 'insertLineBreak'); 53 testKeyDownInputType('Enter', [], 'insertLineBreak', 'insertLineBreak');
54 testKeyDownInputType('Enter', ['shiftKey'], 'insertLineBreak', 'insertLineBr eak'); 54 testKeyDownInputType('Enter', ['shiftKey'], 'insertLineBreak', 'insertLineBr eak');
55 55
56 editable.focus(); 56 editable.focus();
57 testKeyDownInputType('Enter', [], 'insertParagraph', 'insertParagraph'); 57 testKeyDownInputType('Enter', [], 'insertParagraph', 'insertParagraph');
58 testKeyDownInputType('Enter', ['shiftKey'], 'insertLineBreak', 'insertLineBr eak'); 58 testKeyDownInputType('Enter', ['shiftKey'], 'insertLineBreak', 'insertLineBr eak');
59 59
60 // Deletion 60 // Deletion
(...skipping 19 matching lines...) Expand all
80 testKeyDownInputType('z', ['ctrlKey', 'shiftKey'], 'historyRedo'); 80 testKeyDownInputType('z', ['ctrlKey', 'shiftKey'], 'historyRedo');
81 } 81 }
82 // Move command should not generate input events. 82 // Move command should not generate input events.
83 testKeyDownInputType('ArrowLeft', [], NO_INPUT_EVENT_FIRED); 83 testKeyDownInputType('ArrowLeft', [], NO_INPUT_EVENT_FIRED);
84 testKeyDownInputType('ArrowLeft', ['shiftKey'], NO_INPUT_EVENT_FIRED); 84 testKeyDownInputType('ArrowLeft', ['shiftKey'], NO_INPUT_EVENT_FIRED);
85 testKeyDownInputType('Home', [], NO_INPUT_EVENT_FIRED); 85 testKeyDownInputType('Home', [], NO_INPUT_EVENT_FIRED);
86 }, 'Testing beforeinput inputType'); 86 }, 'Testing beforeinput inputType');
87 </script> 87 </script>
88 </body> 88 </body>
89 </html> 89 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698