﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
14279	"pressing delete key inside empty td[contenteditable=""true""]"	Sergiy Kuzmenko		"== Steps to reproduce ==

1. Set `CKEDITOR.dtd.$editable.td = 1` to enable editing inside td.
2. Create the following HTML layout:

    {{{
    <table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""600"">
        <tbody>
	    <tr>
                <td width=""100%"" contenteditable=""true""><td>
	    <tr>
        </tbody>
    <table>
    <table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""600"">
        <tbody>
	    <tr>
                <td width=""100%"" contenteditable=""true""><td>
	    <tr>
        </tbody>
    <table>
    }}}
3. Click on the last (empty) `td` and press DELETE key

== Expected result ==

Nothing to happen.

== Actual result ==

1. Zero Width Space is inserted between tables.
2. Cursor disappears.
3. Pressing DELETE again will throw `Uncaught TypeError: Cannot read property 'startPath' of undefined` [https://github.com/ckeditor/ckeditor-dev/blob/9f74d9b9b2f1d236b412dbe3f921a85fe1c1e343/core/editable.js#L949 here]. This will cause onKeyDown event propagation which in Chrome and Opera will navigate back in history.

== Other details (browser, OS, CKEditor version, installed plugins) ==

All WebKit browsers. OSX (but I'm fairly sure this affects WebKit browsers on any OS).

== Solution ==

Removing [https://github.com/ckeditor/ckeditor-dev/blob/9f74d9b9b2f1d236b412dbe3f921a85fe1c1e343/core/editable.js#L1009 range.select();] solves the problem.

It is hard to tell for the uninitiated what's going on here but it seems CKEditor erroneously treats `<td contenteditable=""true""></td>` as if it were a child of content editable block, rather than content editable container. This is further aggravated by handling [https://github.com/ckeditor/ckeditor-dev/blob/9f74d9b9b2f1d236b412dbe3f921a85fe1c1e343/core/selection.js#L1899 WebKit quirks] (if `range.select();` is called)."	Bug	new	Normal		Core : Editable	4.5.4			
