January 18, 2022 by Lorn Potter | Comments
On the web, it can present security issues as someone could read or write to your clipboard without you knowing.
Up until now, Qt for WebAssembly's clipboard was text-only and only within the app itself. Qt 6.3 will have better clipboard support between host and app but also adds copy/pasting of images.
WebAssembly is a sandboxed platform like javascript. There are some extra security hurdles in doing some common things such as copy and paste of binary data such as images. One issue is clipboard use between the host platform and the browser sandbox. Allowing the web app to have access to the clipboard in which it could send arbitrary data without the user knowing could be dangerous for the user.
Browsers generally allow clipboard during user-generated events such as when a user makes common key sequences such as [ctrl | command] c - the copy keys.
Qt itself has support for programmatically copying text and binary data such as images and works great on the desktop, but it presents issues for web browsers. There are workarounds, like using a hidden javascript element and the javascript function execCommand to "copy". However, this function has been depreciated.
By using the asynchronous Clipboard API and making use of javascript clipboard events where possible, we can bring image clipboard support to Qt WebAssembly. The Clipboard API requires a secure context (https) for full feature use. Among other things, the Clipboard API allows image and arbitrary data to be copied and pasted. Whereas before, only text mime types were supported.
This API is of course implemented in the different browsers in different ways. On Firefox, read() and write() are only partially implemented and are hidden behind about:config settings. As well, copy/paste of arbitrary binary data does not seem to be supported and mostly silently fails.
Here are the ways browsers support Clipboard API:
Firefox
Download the latest release here: www.qt.io/download.
Qt 6.8 release focuses on technology trends like spatial computing & XR, complex data visualization in 2D & 3D, and ARM-based development for desktop.
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
Mar 20, 2025
Here are the new CMake changes in Qt Creator 16: More feature parity with..
Mar 13, 2025
We are happy to announce the release of Qt Creator 16! Performance..
Mar 12, 2025
Standard support for Qt 5.15 will end after 26th of May 2025, as..