deMirror.undo()
        checkHasUndone();
        checkHasDone();
        
    }
    function forwardAction() {
        myCodeMirror.redo()
        checkHasUndone();
        checkHasDone();
    }
    function clearAction() {
        myCodeMirror.clearHistory();
        window.webkit.messageHandlers.reDoHistoryChange.postMessage("false");
        window.webkit.messageHandlers.reDoHistoryChange.postMessage("false");
    }
    
    function blur() {
        myCodeMirror.blur();
    }
    
    myCodeMirror.on("