summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@qt.io>2020-06-05 18:07:15 +0200
committerMorten Johan Sørvig <morten.sorvig@qt.io>2020-06-08 14:06:56 +0200
commit974f23933838515d840361cdd4ed1d791b14250c (patch)
tree422f647c0c4ac7419576f9ad1b84066cdbda8803 /src/plugins/platforms
parentac419a66fd0ec4093579ab8dc8ec8b974045c3ca (diff)
Check for valid Navigator.permissions before use
Safari on iOS now supports the Navigator.clipboard API, but not the Navigator.permissions API. Looks like we have not encountered this combination Before. Add undefined check for permissions as well. Fixes: QTBUG-84658 Pick-to: 5.15 Change-Id: I99ab08fd34bbb29a82661e24bf400c927f3604f6 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/wasm/qwasmclipboard.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/plugins/platforms/wasm/qwasmclipboard.cpp b/src/plugins/platforms/wasm/qwasmclipboard.cpp
index 890b01fa3c..713adee8f9 100644
--- a/src/plugins/platforms/wasm/qwasmclipboard.cpp
+++ b/src/plugins/platforms/wasm/qwasmclipboard.cpp
@@ -126,9 +126,10 @@ EMSCRIPTEN_BINDINGS(qtClipboardModule) {
QWasmClipboard::QWasmClipboard()
{
val clipboard = val::global("navigator")["clipboard"];
- hasClipboardApi = (!clipboard.isUndefined() && !clipboard["readText"].isUndefined());
-
- initClipboardEvents();
+ val permissions = val::global("navigator")["permissions"];
+ hasClipboardApi = (!clipboard.isUndefined() && !permissions.isUndefined() && !clipboard["readText"].isUndefined());
+ if (hasClipboardApi)
+ initClipboardEvents();
}
QWasmClipboard::~QWasmClipboard()