Allow to paste an image from clipboard to Chrome on macOS
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
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.
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.
Let's check if the ticket is still valid.