From d2fbcc4cfe0717c8bf48608c05223959ac979d4f Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Mon, 20 May 2024 16:08:47 +1000 Subject: [PATCH] wasm: fix mic and camera permissions on firefox MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For whatever reason, exceptions are raised on Firefox when checkPermissions is called., "'camera' (value of 'name' member of PermissionDescriptor) is not a valid value for enumeration PermissionName." and "'microphone' (value of 'name' member of PermissionDescriptor) is not a valid value for enumeration PermissionName." so instead of changing to denied when this happens, just issue a silent warning and continue. Fixes: QTBUG-125381 Pick-to: 6.7 6.6 Change-Id: I03ee45297d28f4b99cc96f593cf529113747488b Reviewed-by: Morten Johan Sørvig --- src/corelib/kernel/qpermissions_wasm.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/corelib/kernel/qpermissions_wasm.cpp b/src/corelib/kernel/qpermissions_wasm.cpp index 846e62ccf76..11bd4e864f2 100644 --- a/src/corelib/kernel/qpermissions_wasm.cpp +++ b/src/corelib/kernel/qpermissions_wasm.cpp @@ -51,9 +51,13 @@ namespace { updatePermission(permissionName, permissionState["state"].as(), {}); }; - callbacks.catchFunc = [permissionName](val) + callbacks.catchFunc = [permissionName](val err) { - updatePermission(permissionName, wapiDenied, {}); + if (err["name"].as() == "NotAllowedError") + return updatePermission(permissionName, wapiDenied, {}); + + qCInfo(lcPermissions, "'%s' '%s'", err["name"].as().c_str(), + err["message"].as().c_str()); }; val query = val::object();