function removeHrOnBackspace() {
			editor.on('keydown', function(e) {
				if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) {
					// Check if there is any HR elements this is faster since getRng on IE 7 & 8 is slow
					if (!editor.getBody().getElementsByTagName('hr').length) {
						return;
					}

					if (selection.isCollapsed() && selection.getRng(true).startOffset === 0) {
						var node = selection.getNode();
						var previousSibling = node.previousSibling;

						if (node.nodeName == 'HR') {
							dom.remove(node);
							e.preventDefault();
							return;
						}

						if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === "hr") {
							dom.remove(previousSibling);
							e.preventDefault();
						}
					}
				}
			});
		}
Backspacing in FireFox/IE from a paragraph into a horizontal rule results in a floating text node because the
browser just deletes the paragraph - the browser fails to merge the text node with a horizontal rule so it is
left there. TinyMCE sees a floating text node and wraps it in a paragraph on the key up event (ForceBlocks.js
addRootBlocks), meaning the action does nothing. With this code, FireFox/IE matche the behaviour of other
browsers.

It also fixes a bug on Firefox where it's impossible to delete HR elements.