OLD | NEW |
1 function log(msg) | 1 function log(msg) |
2 { | 2 { |
3 document.getElementById("console").innerHTML += (msg + "\n"); | 3 document.getElementById("console").innerHTML += (msg + "\n"); |
4 } | 4 } |
5 | 5 |
6 function verifySpellTest(nretry) | 6 function verifySpellTest(nretry) |
7 { | 7 { |
8 var node = window.destination; | 8 var node = window.destination; |
9 if (window.destination.childNodes.length > 0) | 9 if (window.destination.childNodes.length > 0) |
10 node = window.destination.childNodes[0]; | 10 node = window.destination.childNodes[0]; |
(...skipping 16 matching lines...) Expand all Loading... |
27 internals.settings.setAsynchronousSpellCheckingEnabled(true); | 27 internals.settings.setAsynchronousSpellCheckingEnabled(true); |
28 internals.settings.setSmartInsertDeleteEnabled(true); | 28 internals.settings.setSmartInsertDeleteEnabled(true); |
29 internals.settings.setSelectTrailingWhitespaceEnabled(false); | 29 internals.settings.setSelectTrailingWhitespaceEnabled(false); |
30 internals.settings.setUnifiedTextCheckerEnabled(true); | 30 internals.settings.setUnifiedTextCheckerEnabled(true); |
31 internals.settings.setEditingBehavior("win"); | 31 internals.settings.setEditingBehavior("win"); |
32 window.destination = document.getElementById(testElementId); | 32 window.destination = document.getElementById(testElementId); |
33 window.destination.focus(); | 33 window.destination.focus(); |
34 document.execCommand("InsertText", false, testText); | 34 document.execCommand("InsertText", false, testText); |
35 window.setTimeout(function() { verifySpellTest(10); }, 0); | 35 window.setTimeout(function() { verifySpellTest(10); }, 0); |
36 } | 36 } |
| 37 |
| 38 function findFirstTextNode(node) |
| 39 { |
| 40 function iterToFindFirstTextNode(node) |
| 41 { |
| 42 if (node instanceof Text) |
| 43 return node; |
| 44 |
| 45 var childNodes = node.childNodes; |
| 46 for (var i = 0; i < childNodes.length; ++i) { |
| 47 var n = iterToFindFirstTextNode(childNodes[i]); |
| 48 if (n) |
| 49 return n; |
| 50 } |
| 51 |
| 52 return null; |
| 53 } |
| 54 |
| 55 if (node instanceof HTMLInputElement || node instanceof HTMLTextAreaElement)
{ |
| 56 return iterToFindFirstTextNode(internals.shadowRoot(node)); |
| 57 } else { |
| 58 return iterToFindFirstTextNode(node); |
| 59 } |
| 60 } |
| 61 |
| 62 function typeText(elem, text) |
| 63 { |
| 64 elem.focus(); |
| 65 for (var i = 0; i < text.length; ++i) { |
| 66 typeCharacterCommand(text[i]); |
| 67 } |
| 68 } |
OLD | NEW |