Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(277)

Issue 2696703006: Move media permission checking logic for ChromeOS login pages (Closed)

Created:
3 years, 10 months ago by raymes
Modified:
3 years, 10 months ago
CC:
chromium-reviews, alemate+watch_chromium.org, achuith+watch_chromium.org, oshima+watch_chromium.org, davemoore+watch_chromium.org, chrome-apps-syd-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Move media permission checking logic for ChromeOS login pages Currently the permission checking logic for ChromeOS login pages (which is used to determine whether to allow webcam access for SAML login pages) is contained in WebUILoginView and not with the other permission-checking logic for media permissions. This has several impacts, one of which is to do with correctness (see below) but the other is that it makes it hard to refactor the media permissions code. The flow of the media permissions code is: 1) Do some device checks 2) Do some perission checks 3) Show a prompt if needed 4) Store permission decisions 5) Allow/deny access and update some state based on success Currently the custom permission checks in WebUILoginView fit in somewhere between 2 and 3. It means that we need to exit the existing flow and re-enter it at the right point (4), which means that we need to expose a complex API for permissions. By moving this logic into (2) itself, we can refactor the permissions code to have a simpler, more sensible API. This CL results in a slight behavioral changes, which more than likely fix an existing bug. Currently, the permission will be granted in the login view, if the user had previously manually granted permissioni to that origin in a regular browsing session. Now, the only URLs that will be granted access are those listed in the kLoginVideoCaptureAllowedUrls pref. BUG=596786 Review-Url: https://codereview.chromium.org/2696703006 Cr-Commit-Position: refs/heads/master@{#452300} Committed: https://chromium.googlesource.com/chromium/src/+/6b9217880b3814ec933c74beb183375ec840cfaa

Patch Set 1 #

Patch Set 2 : . #

Patch Set 3 : Move media permission checking logic for ChromeOS login pages #

Patch Set 4 : Move media permission checking logic for ChromeOS login pages #

Patch Set 5 : Move media permission checking logic for ChromeOS login pages #

Patch Set 6 : Move media permission checking logic for ChromeOS login pages #

Total comments: 29

Patch Set 7 : Move media permission checking logic for ChromeOS login pages #

Patch Set 8 : Move media permission checking logic for ChromeOS login pages #

Total comments: 2

Patch Set 9 : Move media permission checking logic for ChromeOS login pages #

Unified diffs Side-by-side diffs Delta from patch set Stats (+157 lines, -46 lines) Patch
M chrome/browser/chromeos/login/saml/saml_browsertest.cc View 1 2 3 4 5 6 5 chunks +79 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/login/ui/webui_login_view.cc View 1 2 3 4 5 6 3 chunks +2 lines, -41 lines 0 comments Download
M chrome/browser/media/webrtc/media_permission.h View 1 2 3 4 5 6 2 chunks +7 lines, -1 line 0 comments Download
M chrome/browser/media/webrtc/media_permission.cc View 1 2 3 4 5 6 7 8 2 chunks +66 lines, -2 lines 0 comments Download
M chrome/browser/media/webrtc/media_stream_devices_controller.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/media/webrtc/permission_bubble_media_access_handler.cc View 1 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 40 (24 generated)
raymes
timloh: for general review achuith: for chrome/browser/chromeos/login sergeyu: for chrome/browser/media/webrtc
3 years, 10 months ago (2017-02-16 04:09:07 UTC) #10
achuithb
https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/chromeos/login/saml/saml_browsertest.cc File chrome/browser/chromeos/login/saml/saml_browsertest.cc (right): https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/chromeos/login/saml/saml_browsertest.cc#newcode1431 chrome/browser/chromeos/login/saml/saml_browsertest.cc:1431: IN_PROC_BROWSER_TEST_F(SAMLPolicyTest, TestLoginMediaPermission) { Please add a comment describing what ...
3 years, 10 months ago (2017-02-16 09:05:38 UTC) #13
raymes
Thanks for the helpful comments! I haven't updated the CL yet but just a few ...
3 years, 10 months ago (2017-02-16 10:36:14 UTC) #14
achuithb
https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/chromeos/login/ui/webui_login_view.h File chrome/browser/chromeos/login/ui/webui_login_view.h (right): https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/chromeos/login/ui/webui_login_view.h#newcode60 chrome/browser/chromeos/login/ui/webui_login_view.h:60: static bool IsWebUILoginView(const content::WebContentsDelegate* delegate); On 2017/02/16 10:36:14, raymes ...
3 years, 10 months ago (2017-02-16 10:38:50 UTC) #15
raymes
Oops, actually +jyasskin this time. Please see the comment directed at you :)
3 years, 10 months ago (2017-02-16 10:43:09 UTC) #17
Sergey Ulanov
https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/media/webrtc/media_permission.cc File chrome/browser/media/webrtc/media_permission.cc (right): https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/media/webrtc/media_permission.cc#newcode52 chrome/browser/media/webrtc/media_permission.cc:52: (void)web_contents_; ALLOW_UNUSED_LOCAL()? https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/media/webrtc/media_permission.cc#newcode98 chrome/browser/media/webrtc/media_permission.cc:98: CHECK(raw_list_value->GetAsList(&list_value)); It's best to avoid ...
3 years, 10 months ago (2017-02-16 19:26:17 UTC) #18
emaxx
Performed the manual testing of this CL on a Chromebook with a Clever.com account. The ...
3 years, 10 months ago (2017-02-16 19:53:32 UTC) #19
achuithb
https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/media/webrtc/media_permission.h File chrome/browser/media/webrtc/media_permission.h (right): https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/media/webrtc/media_permission.h#newcode20 chrome/browser/media/webrtc/media_permission.h:20: } // namespace content On 2017/02/16 19:26:17, Sergey Ulanov ...
3 years, 10 months ago (2017-02-16 20:02:12 UTC) #20
Jeffrey Yasskin
https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/media/webrtc/media_permission.cc File chrome/browser/media/webrtc/media_permission.cc (right): https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/media/webrtc/media_permission.cc#newcode52 chrome/browser/media/webrtc/media_permission.cc:52: (void)web_contents_; On 2017/02/16 19:26:17, Sergey Ulanov wrote: > ALLOW_UNUSED_LOCAL()? ...
3 years, 10 months ago (2017-02-17 17:34:32 UTC) #21
raymes
Updated the CL - thanks! https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/chromeos/login/saml/saml_browsertest.cc File chrome/browser/chromeos/login/saml/saml_browsertest.cc (right): https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/chromeos/login/saml/saml_browsertest.cc#newcode1431 chrome/browser/chromeos/login/saml/saml_browsertest.cc:1431: IN_PROC_BROWSER_TEST_F(SAMLPolicyTest, TestLoginMediaPermission) { On ...
3 years, 10 months ago (2017-02-21 01:29:55 UTC) #22
Timothy Loh
lgtm
3 years, 10 months ago (2017-02-21 04:06:40 UTC) #31
achuithb
lgtm https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/media/webrtc/media_permission.cc File chrome/browser/media/webrtc/media_permission.cc (right): https://codereview.chromium.org/2696703006/diff/100001/chrome/browser/media/webrtc/media_permission.cc#newcode52 chrome/browser/media/webrtc/media_permission.cc:52: (void)web_contents_; On 2017/02/21 01:29:55, raymes wrote: > On ...
3 years, 10 months ago (2017-02-21 13:54:37 UTC) #32
raymes
https://codereview.chromium.org/2696703006/diff/140001/chrome/browser/media/webrtc/media_permission.cc File chrome/browser/media/webrtc/media_permission.cc (right): https://codereview.chromium.org/2696703006/diff/140001/chrome/browser/media/webrtc/media_permission.cc#newcode84 chrome/browser/media/webrtc/media_permission.cc:84: bool is_list = raw_list_value->GetAsList(&list_value); On 2017/02/21 13:54:37, achuithb wrote: ...
3 years, 10 months ago (2017-02-22 02:33:08 UTC) #33
Sergey Ulanov
lgtm
3 years, 10 months ago (2017-02-22 18:40:37 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2696703006/160001
3 years, 10 months ago (2017-02-22 22:57:24 UTC) #37
commit-bot: I haz the power
3 years, 10 months ago (2017-02-23 00:21:44 UTC) #40
Message was sent while issue was closed.
Committed patchset #9 (id:160001) as
https://chromium.googlesource.com/chromium/src/+/6b9217880b3814ec933c74beb183...

Powered by Google App Engine
This is Rietveld 408576698