summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wasm/qwasmclipboard.h
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@gmail.com>2021-05-14 18:37:12 +1000
committerLorn Potter <lorn.potter@gmail.com>2021-12-08 13:39:58 +1000
commitf0be152896471aa392bb1b2b649b66feb31480cc (patch)
treeaa8a3d1c6776416c45578d75177c8eba05ee0f35 /src/plugins/platforms/wasm/qwasmclipboard.h
parent3b24713098abd34cf8652da815f4dcf3a22110d3 (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.h10
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