ckeditor4 icon indicating copy to clipboard operation
ckeditor4 copied to clipboard

Allow to paste an image from clipboard to Chrome on macOS

Open beatadelura opened this issue 8 years ago • 3 comments

Are you reporting a feature or a bug?

Feature

The issue is already reported:

http://dev.ckeditor.com/ticket/16908

Details:

What Chrome gives, when I paste a file is DataTransfer (a.k.a. ClipboardData) object with an empty "files" property, but with 2 "items": first with a filename and the second with a file. It means it is possible to get a file from the second "item", on paste.

Unfortunately, when the upload plugin was implemented there was only one item on Chrome and only the first item is handled (see ​https://github.com/ckeditor/ckeditor-dev/blob/685fc7474fab779afe76edcf36011d2fb6bafab8/plugins/clipboard/plugin.js#L2545). If this line will be replaced with a loop it should be possible to get the file.

Note that on Windows pasted file is not available at all.

Also, note that now you do not need try-catch block there since items have a "kind" property which let you check if it is a file or a string.

  • Browser: Chrome
  • OS: macOS

beatadelura avatar Jun 13 '17 07:06 beatadelura

After some talking with @mlewand and @beatadelura we decided that the purpose of the ticket should be broaden. The current implementation of pasting images is based on converting them to Data URIs, which is very inefficient in the case of bigger images (it freezes or even crashes a browser).

Therefore we decided to replace the current implementation with the new one, based on Object URIs, which should be far more performant and shouldn't freeze the browser. As it's a bigger task, it will be moved from minor to major release.

Comandeer avatar Jun 14 '17 09:06 Comandeer

After talking with @Comandeer, we decided to focus on Chrome and Firefox browser. As I noticed current code is working on Edge, so if everything will go fine, there will be also supported by this browser.

beatadelura avatar Jun 30 '17 12:06 beatadelura

Let's check if the ticket is still valid.

jacekbogdanski avatar Aug 13 '21 11:08 jacekbogdanski