After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 773447 - Clean up permissions request handling
Clean up permissions request handling
Status: RESOLVED FIXED
Product: epiphany
Classification: Core
Component: General
git master
Other Linux
: Normal normal
: ---
Assigned To: Epiphany Maintainers
Epiphany Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-10-25 00:57 UTC by Michael Catanzaro
Modified: 2016-11-07 04:24 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
hosts-manager: Simplify (7.82 KB, patch)
2016-11-07 04:23 UTC, Michael Catanzaro
committed Details | Review
Allow sites to request access to webcam/microphone (13.49 KB, patch)
2016-11-07 04:23 UTC, Michael Catanzaro
committed Details | Review
web-view: Split info bar creation into separate function (4.48 KB, patch)
2016-11-07 04:23 UTC, Michael Catanzaro
committed Details | Review
Remember geolocation permission requests (9.26 KB, patch)
2016-11-07 04:24 UTC, Michael Catanzaro
committed Details | Review
web-view: Don't destroy info bar twice (794 bytes, patch)
2016-11-07 04:24 UTC, Michael Catanzaro
committed Details | Review
Switch hosts manager to use a multiplexing API (9.85 KB, patch)
2016-11-07 04:24 UTC, Michael Catanzaro
committed Details | Review
hosts-manager: Fix code style (3.65 KB, patch)
2016-11-07 04:24 UTC, Michael Catanzaro
committed Details | Review

Description Michael Catanzaro 2016-10-25 00:57:03 UTC
All WebKitUserMediaPermissionRequests are denied, so users cannot give websites access to webcams or microphones. I wonder how did WebKitUserMediaPermissionRequest get added at all without being implemented in Epiphany. :(

All WebKitInstallMissingMediaPluginsPermissionRequests are ignored. We should display an info bar offering to install the needed codecs. There should be an ignore button saved in the global GSettings (not per-host).

Geolocation permission requests are not remembered on a per-host basis, as notification requests are. It should use EphyHostManager.

This all requires modifying permission_request_cb in ephy-web-view.c. Pick any one of the above tasks and you have a good project for a newcomer.
Comment 1 Michael Catanzaro 2016-11-07 04:23:25 UTC
(In reply to Michael Catanzaro from comment #0)
> All WebKitInstallMissingMediaPluginsPermissionRequests are ignored. We
> should display an info bar offering to install the needed codecs. There
> should be an ignore button saved in the global GSettings (not per-host).

See: https://bugs.webkit.org/show_bug.cgi?id=147822

Fixed the rest (hopefully)
Comment 2 Michael Catanzaro 2016-11-07 04:23:46 UTC
The following fixes have been pushed:
be02176 hosts-manager: Simplify
81233eb Allow sites to request access to webcam/microphone
6c66f18 web-view: Split info bar creation into separate function
1925829 Remember geolocation permission requests
8896421 web-view: Don't destroy info bar twice
bce147a Switch hosts manager to use a multiplexing API
e4acc12 hosts-manager: Fix code style
Comment 3 Michael Catanzaro 2016-11-07 04:23:49 UTC
Created attachment 339212 [details] [review]
hosts-manager: Simplify

I realized I was being stupid, and have corrected this infraction.
Comment 4 Michael Catanzaro 2016-11-07 04:23:53 UTC
Created attachment 339213 [details] [review]
Allow sites to request access to webcam/microphone

This is not tested at all since I don't want to context switch to my
laptop. It probably works. Users should complain if not.
Comment 5 Michael Catanzaro 2016-11-07 04:23:56 UTC
Created attachment 339214 [details] [review]
web-view: Split info bar creation into separate function
Comment 6 Michael Catanzaro 2016-11-07 04:24:00 UTC
Created attachment 339215 [details] [review]
Remember geolocation permission requests

Just like we do notification permission requests
Comment 7 Michael Catanzaro 2016-11-07 04:24:03 UTC
Created attachment 339216 [details] [review]
web-view: Don't destroy info bar twice
Comment 8 Michael Catanzaro 2016-11-07 04:24:07 UTC
Created attachment 339217 [details] [review]
Switch hosts manager to use a multiplexing API

This is more scalable and is needed to avoid code duplication in
EphyWebView
Comment 9 Michael Catanzaro 2016-11-07 04:24:11 UTC
Created attachment 339218 [details] [review]
hosts-manager: Fix code style