(cm)
| 5862 | } |
| 5863 | |
| 5864 | function selectionSnapshot(cm) { |
| 5865 | if (cm.hasFocus()) { |
| 5866 | return null |
| 5867 | } |
| 5868 | var active = activeElt() |
| 5869 | if (!active || !contains(cm.display.lineDiv, active)) { |
| 5870 | return null |
| 5871 | } |
| 5872 | var result = { activeElt: active } |
| 5873 | if (window.getSelection) { |
| 5874 | var sel = window.getSelection() |
| 5875 | if (sel.anchorNode && sel.extend && contains(cm.display.lineDiv, sel.anchorNode)) { |
| 5876 | result.anchorNode = sel.anchorNode |
| 5877 | result.anchorOffset = sel.anchorOffset |
| 5878 | result.focusNode = sel.focusNode |
| 5879 | result.focusOffset = sel.focusOffset |
| 5880 | } |
| 5881 | } |
| 5882 | return result |
| 5883 | } |
| 5884 | |
| 5885 | function restoreSelection(snapshot) { |
| 5886 | if (!snapshot || !snapshot.activeElt || snapshot.activeElt == activeElt()) { |
no test coverage detected