(node)
| 2975 | return node.textContent || node.innerText || node.nodeValue || ""; |
| 2976 | } |
| 2977 | function selectInput(node) { |
| 2978 | if (ios) { // Mobile Safari apparently has a bug where select() is broken. |
| 2979 | node.selectionStart = 0; |
| 2980 | node.selectionEnd = node.value.length; |
| 2981 | } else node.select(); |
| 2982 | } |
| 2983 | |
| 2984 | // Operations on {line, ch} objects. |
| 2985 | function posEq(a, b) {return a.line == b.line && a.ch == b.ch;} |
no outgoing calls
no test coverage detected