Web Automation: denying user permission for getUserMedia doesn't work
authorbburg@apple.com <bburg@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 27 Oct 2017 02:32:03 +0000 (02:32 +0000)
committerbburg@apple.com <bburg@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 27 Oct 2017 02:32:03 +0000 (02:32 +0000)
commitd859e4e5935b5ce22650be18ba59e785902b4ac8
tree64faf38c27ee05746691c99b04f9cb6b1ba90686
parent3ce833ce4b1ac3916e538612dbcf749909a0d03c
Web Automation: denying user permission for getUserMedia doesn't work
https://bugs.webkit.org/show_bug.cgi?id=178895

Reviewed by Youenn Fablet.

* UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):
The ordering of special cases is incorrect. Safari configures its automation views to
allow mock devices and never prompt for them. These checks were before the check for
the automation session's getUserMedia permission. Switch these checks.

Also change the deny reason so that subsequent requests are also denied. This matches
behavior when a user denies a permission request on a real dialog. With this change,
the DOM error changes from SecurityError to NotAllowedError, which makes more sense.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@224082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit/ChangeLog
Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp