diff options
author | Lorn Potter <lorn.potter@gmail.com> | 2021-05-14 18:37:12 +1000 |
---|---|---|
committer | Lorn Potter <lorn.potter@gmail.com> | 2021-12-08 13:39:58 +1000 |
commit | f0be152896471aa392bb1b2b649b66feb31480cc (patch) | |
tree | aa8a3d1c6776416c45578d75177c8eba05ee0f35 /src/plugins/platforms/wasm/qwasmclipboard.h | |
parent | 3b24713098abd34cf8652da815f4dcf3a22110d3 (diff) |
wasm: improve clipboard support
Add support for Clipboard API
Add clipboard manual test
Also includes these fixes:
- improve clipboard use for chrome browser
- make QClipboard::setText work
- html copy and paste
- image copy/paste
Chrome browser supports text, html and png
To use the Clipboard API, apps need to be served from
a secure context (https). There is a fallback in the
case of non secure context (http)
- Firefox requires dom.events.asyncClipboard.read,
dom.events.asyncClipboard.clipboardItem and
dom.events.asyncClipboard.dataTransfer to be
set from about:config, in order to support the
Clipboard API.
Change-Id: Ie4cb1bbb1dfc77e9655090a30967632780d15dd9
Fixes: QTBUG-74504
Fixes: QTBUG-93619
Fixes: QTBUG-79365
Fixes: QTBUG-86169
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmclipboard.h')
-rw-r--r-- | src/plugins/platforms/wasm/qwasmclipboard.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/plugins/platforms/wasm/qwasmclipboard.h b/src/plugins/platforms/wasm/qwasmclipboard.h index 3b28e2c381..9a33b79667 100644 --- a/src/plugins/platforms/wasm/qwasmclipboard.h +++ b/src/plugins/platforms/wasm/qwasmclipboard.h @@ -51,11 +51,15 @@ public: bool ownsMode(QClipboard::Mode mode) const override; static void qWasmClipboardPaste(QMimeData *mData); - void initClipboardEvents(); + void initClipboardPermissions(); void installEventHandlers(const emscripten::val &canvas); bool hasClipboardApi; - void readTextFromClipboard(); - void writeTextToClipboard(); + bool hasPermissionsApi; + void writeToClipboardApi(); + void writeToClipboard(const QMimeData *data); + bool isPaste; + bool m_isListener; + bool isSafari; }; #endif // QWASMCLIPBOARD_H |