Fixed an issue when editors dirty state might have been changed by widget#updateDragHandlerPosition() method.
Avoid unncessary checkDirty calls.
Changelog entry.
Merge branch 't/11487'
Hide selection using real selection to avoid overriding locked one.
Changelog entry.
Merge branch 't/11104'
Fire 'saveSnapshot' in setData.
Introduce editable.status.
Code optimization - better to have one listener only.
Check the status of editable in undo manager.
Introduced undoManager#lock alwaysUpdate flag.
Callback is executed when setData completed its job, so fire saveSnapshot before that.
Make sure that if no changes has been made in source mode snapshot containing insignificant DOM differences like bogus <br>s is not saved when switching to wysiwyg mode.
Avoid two getData() calls in a row by reusing data set when detaching editable.
Mentioned specific tests in comment.