Opened 7 years ago

Last modified 6 years ago

#10477 confirmed Bug

Exception on DELETE key

Reported by: WebSpellChecker.net Owned by:
Priority: Normal Milestone:
Component: Core : Selection Version: 3.6.1
Keywords: IE8 IE7 Cc: jpleer@…

Description

Steps to reproduce:

  1. Open page with empty CKEditor in IE8.
  2. Type any word with space ("example ")
  3. Select word without space ("[example] ")
  4. Press 'Bold' to make selected word bolded.
  5. Press 'Bold' to remove bold style
  6. Put cursor at the start of document
  7. Press and hold DELETE key.

After removing of last character 'e' see the error in browser console.

Attachments (1)

Debug IE Screenshot.png (20.5 KB) - added by Frederico Caldeira Knabben 6 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 7 years ago by Jakob Leer

Cc: jpleer@… added

comment:2 Changed 7 years ago by Jakub Ś

Keywords: IE7 added; Selection Delete removed
Status: newconfirmed
Version: 4.03.6.1

Problem can be reproduced in IE8 and IE7 from CKEditor 3.6.1 rev. [6919]. Problem is also reproducible in 4.x branch.

JS ERROR:
Message: Invalid argument
Line: 973
URI: /ckeditor/plugins/selection/plugin.js

Other errors where this repository is mentioned: #8166, #8667, #9176.

Changed 6 years ago by Frederico Caldeira Knabben

Attachment: Debug IE Screenshot.png added

comment:3 Changed 6 years ago by Frederico Caldeira Knabben

The error is throwing at the following line, precisely:
https://github.com/ckeditor/ckeditor-dev/blob/a609ec5/core/selection.js#L948

It happens because that space is transformed in   at some point. For some weird (typically IE) reason, that the way IE sees that text node:

So, even if that node is valid and it is present in the DOM, IE can't handle it.

Our biggest problem is that we need to count that space in the range calculations. I still don't know how to make it happen.

comment:4 Changed 6 years ago by Jakub Ś

There seems to be other TCs and other repositories from which this error starts being thrown:

  1. Open editor and press new page command.
  2. Switch to source and paste below:
    <p>
    	<strong>dfgdg</strong> dfg <strong>dfg</strong> dfg dg <strong>dfg</strong> df <strong>gdfgdgdfgdfgdfgdfgdfg</strong></p>
    <p>
    	df <strong>gdf</strong> <strong>gdfgdfgdfgdfgdfgdf</strong> gdgdf dgf</p>
    
  3. Switch to source and click outside of editor
  4. Click at the beginning of text
  5. Press Delete and hold it

Result Invalid Argument is thrown from CKEditor 3.5.2


  1. Open editor and press new page command.
  2. type two lines of misspelled words e.g.
    <p>
    	dfgdfg dfg dfg dfg dfg dfg dfg fdgdgdf g</p>
    <p>
    	df dfg dfg dfg dfgdfg df g</p>
    
    
  3. Enable SCAYT
  4. Click at the beginning of text
  5. Press Delete and hold it

Result Invalid Argument is thrown from CKEditor 3.5.3 rev. [6593]

comment:5 Changed 6 years ago by Jakub Ś

There is also another TC and another bug with invalid argument reported: #10584

comment:6 Changed 6 years ago by Jakub Ś

Another similar one #11427.

Note: See TracTickets for help on using tickets.
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy