PSA: Screen recording permissions in macOS 10.15 Catalina

353 views
Skip to first unread message

Guido Urdaneta

unread,
Sep 12, 2019, 10:58:39 AM9/12/19
to discuss-webrtc
The upcoming version 10.15 of macOS (Catalina) introduces system-level permissions for screen recording.
Chrome M76 and older are not aware of this permission and both the getDisplayMedia() Web API and the chooseDesktopMedia extension API return success even if the new system-level screen recording permission has not been not given. This is incorrect, because actual capture does not occur despite the apparent success.
Chrome M77 and newer fix this. Both getDisplayMedia() and chooseDesktopMedia() fail with an error if the system permission has not been not given.
To enable the system permissions, go to System Preferences -> Security and Privacy -> Screen Recording.

PhistucK

unread,
Sep 12, 2019, 1:07:46 PM9/12/19
to WebRTC-discuss
Details here (including a fix proposed by Andrew) -

PhistucK


--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/1ee72d54-e19a-4780-9402-2d6b6de540c6%40googlegroups.com.

Neil Young

unread,
Sep 12, 2019, 1:10:01 PM9/12/19
to discuss-webrtc
Thanks for the info. To make it clear: Does that mean, that things like screen sharing will not work out of the box on Catalina with Chrome 76?

Regards


Am Donnerstag, 12. September 2019 19:07:46 UTC+2 schrieb PhistucK:
Details here (including a fix proposed by Andrew) -

PhistucK


On Thu, Sep 12, 2019 at 5:58 PM Guido Urdaneta <gui...@webrtc.org> wrote:
The upcoming version 10.15 of macOS (Catalina) introduces system-level permissions for screen recording.
Chrome M76 and older are not aware of this permission and both the getDisplayMedia() Web API and the chooseDesktopMedia extension API return success even if the new system-level screen recording permission has not been not given. This is incorrect, because actual capture does not occur despite the apparent success.
Chrome M77 and newer fix this. Both getDisplayMedia() and chooseDesktopMedia() fail with an error if the system permission has not been not given.
To enable the system permissions, go to System Preferences -> Security and Privacy -> Screen Recording.

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss...@googlegroups.com.

Guido Urdaneta

unread,
Sep 12, 2019, 1:50:12 PM9/12/19
to discuss-webrtc
In Chrome 76, screen capture will work if the user gives the screen recording permission to Chrome.
If no permission is given, screen capture APIs will wrongly report success but no capture will occur, which will be misleading to users.
In 77, getDisplayMedia() will fail, which allows applications to better handle the issue.
Fortunately, 77 is already the current stable version on macOS.

pablo platt

unread,
Sep 12, 2019, 6:51:16 PM9/12/19
to discuss...@googlegroups.com
Does it throw NotReadableError or NotAllowedError?

To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/ceb64853-4327-4fbb-9fc7-82c6e1af4d6f%40googlegroups.com.

Guido Urdaneta

unread,
Sep 13, 2019, 5:35:07 AM9/13/19
to discuss-webrtc
NotAllowedError

Ben Browitt

unread,
Oct 18, 2019, 6:03:07 PM10/18/19
to discuss-webrtc
How can I distinguish between Mac permission blocking screen sharing and a user just canceling the modal? Both throw NotAllowedError.
I need to show instructions to the user to change the permission on Mac but only when it's blocked.
Reply all
Reply to author
Forward
0 new messages