public/ckeditor/4.4dev/plugins/undo/plugin.js
function() {
			// Input event is ignored if paste/drop event were fired before.
			if ( this.ignoreInputEvent ) {
				// Reset flag - ignore only once.
				this.ignoreInputEvent = false;
				return;
			}

			var lastInput = this.keyEventsStack.getLast();
			// Nothing in key events stack, but input event called. Interesting...
			// That's because on Android order of events is buggy and also keyCode is set to 0.
			if ( !lastInput ) {
				lastInput = this.keyEventsStack.push( 0 );
			}

			// Increment inputs counter for provided key code.
			this.keyEventsStack.increment( lastInput.keyCode );

			// Exceeded limit.
			if ( this.keyEventsStack.getTotalInputs() >= this.undoManager.strokesLimit ) {
				this.undoManager.type( lastInput.keyCode, true );
				this.keyEventsStack.resetInputs();
			}
		}
function() {
			// Input event is ignored if paste/drop event were fired before.
			if ( this.ignoreInputEvent ) {
				// Reset flag - ignore only once.
				this.ignoreInputEvent = false;
				return;
			}

			var lastInput = this.keyEventsStack.getLast();
			// Nothing in key events stack, but input event called. Interesting...
			// That's because on Android order of events is buggy and also keyCode is set to 0.
			if ( !lastInput ) {
				lastInput = this.keyEventsStack.push( 0 );
			}

			// Increment inputs counter for provided key code.
			this.keyEventsStack.increment( lastInput.keyCode );

			// Exceeded limit.
			if ( this.keyEventsStack.getTotalInputs() >= this.undoManager.strokesLimit ) {
				this.undoManager.type( lastInput.keyCode, true );
				this.keyEventsStack.resetInputs();
			}
		}
function ( ) { // Input event is ignored if paste/drop event were fired before.
 if ( this . ignoreInputEvent ) { // Reset flag - ignore only once.
 this . ignoreInputEvent = false ; return ; } var lastInput = this . keyEventsStack . getLast ( ) ; // Nothing in key events stack, but input event called. Interesting...
 // That's because on Android order of events is buggy and also keyCode is set to 0.
 if ( ! lastInput ) { lastInput = this . keyEventsStack . push ( 0 ) ; } // Increment inputs counter for provided key code.
 this . keyEventsStack . increment ( lastInput . keyCode ) ; // Exceeded limit.
 if ( this . keyEventsStack . getTotalInputs ( ) >= this . undoManager . strokesLimit ) { this . undoManager . type ( lastInput . keyCode , true ) ; this . keyEventsStack . resetInputs ( ) ; } }
The `input` event listener.
The input event listener .