Bug 236915

Summary: www/qt5-webengine: Website permissions don't work
Product: Ports & Packages Reporter: thea20lineisameme
Component: Individual Port(s)Assignee: freebsd-kde (group) <kde>
Status: Closed FIXED    
Severity: Affects Some People CC: account-homonym0a, tcberner
Priority: --- Flags: rakuco: maintainer-feedback+
Version: Latest   
Hardware: amd64   
OS: Any   

Description thea20lineisameme 2019-03-31 16:43:12 UTC
Website permissions don't seem to work at all. Whenever a website tries to request permission to access the microphone, camera, etc... applications that rely on qt5-webengine exhibit broken behaviour (such as Falkon, but I'm not filing the report against Falkon because it also happens with other Qt applications using qt5-webengine).

How to reproduce:
- Open a website that requires permissions with a qt5-webengine based browser (like Falkon). (Example website: Google's voice web search)

Expected behaviour:
- Browser should ask the user for permission to access microphone/camera/etc.

What happens instead:
- The behaviour is weird, no dialog ever pops up and the website seems to never be allowed any permission. Sometimes weird behaviour occurs such as Google displaying "no internet connection".

I'm on FreeBSD 12.0-RELEASE-p3 on amd64.
Comment 1 Raphael Kubo da Costa freebsd_committer freebsd_triage 2019-03-31 16:53:32 UTC
Can you provide a URL that prompts this behavior?
Comment 2 thea20lineisameme 2019-03-31 17:00:40 UTC
I tried on Discord (https://discordapp.com, you need an account), on Google's voice search (the speaker icon on the search bar at https://google.com), and generally it seems to happen on any site requiring permissions (I've gotten reports from other people).
Comment 3 Raphael Kubo da Costa freebsd_committer freebsd_triage 2019-03-31 20:43:38 UTC
I think this is due to WebRTC support being disabled (or at the very least the bits making getUserMedia work).
Comment 4 thea20lineisameme 2019-03-31 21:17:22 UTC
Is there any workaround to this? I'd love to be able to use my microphone on Falkon and other qt apps. Or am I on my own?
Comment 5 Raphael Kubo da Costa freebsd_committer freebsd_triage 2019-04-01 13:10:05 UTC
I don't think there's a workaround at the moment, we just need someone with enough time and interest to make WebRTC work in WebEngine on FreeBSD.
Comment 6 zxyz 2019-04-08 13:36:17 UTC
Same issue here. Considering webengine isn't a far descendent from Chromium, which works, it shouldn't be that hard to fix, no?
Comment 7 Tobias C. Berner freebsd_committer freebsd_triage 2019-04-08 15:14:19 UTC
Webengine has over 400 patches... Nothing is easy here :) 

As rakuco said it needs someone interested with a bit of free time on their hands. Feel free to give it a stab. 


Mfg Tobias
Comment 8 thea20lineisameme 2019-05-28 13:53:26 UTC
This bug could be closed (along with bug 237423) by applying this patch (https://reviews.freebsd.org/D19900) which has been "needing revision" since April.

I can't wait for this patch to be applied to the port. Thanks.
Comment 9 commit-hook freebsd_committer freebsd_triage 2019-06-13 08:45:26 UTC
A commit references this bug:

Author: kai
Date: Thu Jun 13 08:44:41 UTC 2019
New revision: 504068
URL: https://svnweb.freebsd.org/changeset/ports/504068

Log:
  www/qt5-webengine: Enable support for WebRTC and video capture devices

  When accessing video capture devices warnings like below are emitted [2]:

  [40533:463527936:0420/214650.072475:ERROR:create_video_capture_device_factory.cc(58)] Not implemented reached in std::unique_ptr<VideoCaptureDeviceFactory> media::(anonymous namespace)::CreatePlatformSpecificVideoCaptureDeviceFactory(scoped_refptr<base::SingleThreadTaskRunner>)

  Also websites that want to access the camera, microphone, etc. exhibit
  broken behavior, e.g. no dialogs to permit access on the desired capture
  devices come up. [1]

  Thus add the related patches from www/chromium [2] that enable support for
  video capture devices and explicitly activate the WebRTC feature. [1]

  PR:		236915 [1], 237423 [2]
  Submitted by:	cmt [2]
  Reported by:	thea20lineisameme@protonmail.com [1]
  Reviewed by:	rakuco, tcberner (kde), Lorenzo Salvadore
  Approved by:	tcberner (kde)
  Differential Revision:	https://reviews.freebsd.org/D19900

Changes:
  head/UPDATING
  head/www/qt5-webengine/Makefile
  head/www/qt5-webengine/files/patch-clang
  head/www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_create__video__capture__device__factory.cc
  head/www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_shared__memory__handle__provider.cc
  head/www/qt5-webengine/files/patch-src_3rdparty_chromium_media_capture_video_shared__memory__handle__provider.h
  head/www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_webrtc.gni
Comment 10 Tobias C. Berner freebsd_committer freebsd_triage 2020-07-03 13:04:13 UTC
Moin moin 

This should be fixed by r504068 -- if it is still not working, please feel free to reopen the issue.


mfg Tobias