(node)
| 3175 | return node.textContent || node.innerText || node.nodeValue || ""; |
| 3176 | } |
| 3177 | function selectInput(node) { |
| 3178 | if (ios) { // Mobile Safari apparently has a bug where select() is broken. |
| 3179 | node.selectionStart = 0; |
| 3180 | node.selectionEnd = node.value.length; |
| 3181 | } else node.select(); |
| 3182 | } |
| 3183 | |
| 3184 | // Operations on {line, ch} objects. |
| 3185 | function posEq(a, b) {return a.line == b.line && a.ch == b.ch;} |
no test coverage detected