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

Issue 2532323003: Public Sessions - prompt the user for audioCapture/videoCapture requests (Closed)

Created:
4 years ago by Ivan Šandrk
Modified:
4 years ago
CC:
chromium-reviews, extensions-reviews_chromium.org, oshima+watch_chromium.org, feature-media-reviews_chromium.org, mcasas+watch+vc_chromium.org, chromium-apps-reviews_chromium.org, davemoore+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Public Sessions - prompt the user for audioCapture/videoCapture requests In Public Sessions extensions are force installed by admin policy and some of the permissions are granted at install time so the end user has no say on it. audioCapture and videoCapture APIs are dangerous from a security/privacy standpoint therefore we want to give the user a runtime prompt whether to allow such API. Only platform apps (and some built-in whitelisted extensions) support audioCapture[1]/videoCapture[2] manifest permission features therefore this filtering will be limited to platform apps. [1]: https://cs.chromium.org/chromium/src/extensions/common/api/_permission_features.json?rcl=0&l=102 [2]: https://cs.chromium.org/chromium/src/extensions/common/api/_permission_features.json?rcl=0&l=491 BUG=669521 Committed: https://crrev.com/b040fda5a81f54c4dbab7664f3aaf2099c110b61 Cr-Commit-Position: refs/heads/master@{#437243}

Patch Set 1 #

Patch Set 2 : Fixed unit test #

Total comments: 16

Patch Set 3 : nits, save prompt in callback #

Patch Set 4 : Using IsAllowed instead of Disallowed #

Patch Set 5 : Added a new class for handling media access in Public Sessions #

Total comments: 20

Patch Set 6 : Addressed comments #

Patch Set 7 : Fixed presubmit errors (line length, import order) #

Patch Set 8 : Rebase #

Total comments: 45

Patch Set 9 : Addressed comments #1 #

Total comments: 1

Patch Set 10 : Drew's comments #

Total comments: 11

Patch Set 11 : Update comment, erase map entry #

Total comments: 4

Patch Set 12 : std::move, formatting #

Unified diffs Side-by-side diffs Delta from patch set Stats (+292 lines, -8 lines) Patch
M chrome/browser/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc View 1 2 3 4 5 6 7 8 9 2 chunks +6 lines, -6 lines 0 comments Download
M chrome/browser/chromeos/extensions/device_local_account_management_policy_provider_unittest.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
A chrome/browser/media/public_session_media_access_handler.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +85 lines, -0 lines 0 comments Download
A chrome/browser/media/public_session_media_access_handler.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +191 lines, -0 lines 0 comments Download
M chrome/browser/media/webrtc/media_capture_devices_dispatcher.cc View 1 2 3 4 5 6 7 8 2 chunks +6 lines, -0 lines 0 comments Download

Messages

Total messages: 92 (64 generated)
Ivan Šandrk
Hi Sergey, please take a look at chrome/browser/media/* Thanks, Ivan
4 years ago (2016-11-29 16:24:48 UTC) #8
Sergey Ulanov
https://codereview.chromium.org/2532323003/diff/20001/chrome/browser/media/extension_media_access_handler.cc File chrome/browser/media/extension_media_access_handler.cc (right): https://codereview.chromium.org/2532323003/diff/20001/chrome/browser/media/extension_media_access_handler.cc#newcode66 chrome/browser/media/extension_media_access_handler.cc:66: IsMediaRequestWhitelistedForExtension(extension)) && This class is applicable for platform apps ...
4 years ago (2016-11-29 19:12:06 UTC) #13
Ivan Šandrk
https://codereview.chromium.org/2532323003/diff/20001/chrome/browser/media/extension_media_access_handler.cc File chrome/browser/media/extension_media_access_handler.cc (right): https://codereview.chromium.org/2532323003/diff/20001/chrome/browser/media/extension_media_access_handler.cc#newcode66 chrome/browser/media/extension_media_access_handler.cc:66: IsMediaRequestWhitelistedForExtension(extension)) && You have a good point, the goal ...
4 years ago (2016-11-29 23:33:46 UTC) #17
Ivan Šandrk
https://codereview.chromium.org/2532323003/diff/20001/chrome/browser/media/extension_media_access_handler.cc File chrome/browser/media/extension_media_access_handler.cc (right): https://codereview.chromium.org/2532323003/diff/20001/chrome/browser/media/extension_media_access_handler.cc#newcode82 chrome/browser/media/extension_media_access_handler.cc:82: bool ExtensionMediaAccessHandler::UserChoice::Disallowed( On 2016/11/29 23:33:46, Ivan Šandrk wrote: > ...
4 years ago (2016-11-30 17:00:50 UTC) #26
Ivan Šandrk
Hi Devlin, could you take a look at c/b/media/public_session_media_access_handler.cc, specifically at my usage of ExtensionInstallPrompt, ...
4 years ago (2016-11-30 18:21:18 UTC) #30
Ivan Šandrk
On 2016/11/30 18:21:18, Ivan Šandrk wrote: > Hi Devlin, could you take a look at ...
4 years ago (2016-11-30 18:24:48 UTC) #31
Devlin
https://codereview.chromium.org/2532323003/diff/80001/chrome/browser/BUILD.gn File chrome/browser/BUILD.gn (right): https://codereview.chromium.org/2532323003/diff/80001/chrome/browser/BUILD.gn#newcode1575 chrome/browser/BUILD.gn:1575: "media/public_session_media_access_handler.cc", Isn't public session only on CrOS? Can we ...
4 years ago (2016-11-30 19:02:48 UTC) #32
Sergey Ulanov
https://codereview.chromium.org/2532323003/diff/80001/chrome/browser/media/public_session_media_access_handler.cc File chrome/browser/media/public_session_media_access_handler.cc (right): https://codereview.chromium.org/2532323003/diff/80001/chrome/browser/media/public_session_media_access_handler.cc#newcode36 chrome/browser/media/public_session_media_access_handler.cc:36: } 'git cl format' please. https://codereview.chromium.org/2532323003/diff/80001/chrome/browser/media/public_session_media_access_handler.cc#newcode86 chrome/browser/media/public_session_media_access_handler.cc:86: base::Unretained(this), web_contents, ...
4 years ago (2016-12-01 01:21:28 UTC) #33
Ivan Šandrk
Ptal guys :) https://codereview.chromium.org/2532323003/diff/80001/chrome/browser/BUILD.gn File chrome/browser/BUILD.gn (right): https://codereview.chromium.org/2532323003/diff/80001/chrome/browser/BUILD.gn#newcode1575 chrome/browser/BUILD.gn:1575: "media/public_session_media_access_handler.cc", On 2016/11/30 19:02:48, Devlin wrote: ...
4 years ago (2016-12-01 17:32:05 UTC) #36
Ivan Šandrk
On 2016/12/01 17:32:05, Ivan Šandrk wrote: > Ptal guys :) > > https://codereview.chromium.org/2532323003/diff/80001/chrome/browser/BUILD.gn > File ...
4 years ago (2016-12-02 16:46:29 UTC) #49
Sergey Ulanov
Looks mostly good to me. I just have some style suggestions. https://codereview.chromium.org/2532323003/diff/140001/chrome/browser/media/public_session_media_access_handler.cc File chrome/browser/media/public_session_media_access_handler.cc (right): ...
4 years ago (2016-12-02 20:29:47 UTC) #50
Devlin
Should there be a test for this? Also, it would be great if you can ...
4 years ago (2016-12-02 20:40:28 UTC) #51
Andrew T Wilson (Slow)
https://codereview.chromium.org/2532323003/diff/140001/chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc File chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc (right): https://codereview.chromium.org/2532323003/diff/140001/chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc#newcode412 chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc:412: // User is prompted (allow/deny) when an extension requests ...
4 years ago (2016-12-04 19:57:01 UTC) #52
Ivan Šandrk
I've addressed all of Sergey's and Devlin's comments so far. Added a screenshot to the ...
4 years ago (2016-12-05 13:10:51 UTC) #55
Ivan Šandrk
https://codereview.chromium.org/2532323003/diff/140001/chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc File chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc (right): https://codereview.chromium.org/2532323003/diff/140001/chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc#newcode412 chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc:412: // User is prompted (allow/deny) when an extension requests ...
4 years ago (2016-12-05 17:04:46 UTC) #60
Devlin
This all looks reasonable to me. Since I'm not an owner here, I'll leave it ...
4 years ago (2016-12-05 19:25:12 UTC) #63
Andrew T Wilson (Slow)
Mostly LG https://codereview.chromium.org/2532323003/diff/180001/chrome/browser/media/public_session_media_access_handler.cc File chrome/browser/media/public_session_media_access_handler.cc (right): https://codereview.chromium.org/2532323003/diff/180001/chrome/browser/media/public_session_media_access_handler.cc#newcode55 chrome/browser/media/public_session_media_access_handler.cc:55: if (!IsPublicSession() || !extension->is_platform_app()) { Why are ...
4 years ago (2016-12-06 02:49:45 UTC) #69
Andrew T Wilson (Slow)
Mostly LG
4 years ago (2016-12-06 02:49:48 UTC) #70
Ivan Šandrk
I've addressed the comments. I'm still unable to test this on an actual device, keep ...
4 years ago (2016-12-06 14:02:39 UTC) #73
Ivan Šandrk
On 2016/12/06 14:02:39, Ivan Šandrk wrote: > I've addressed the comments. I'm still unable to ...
4 years ago (2016-12-06 15:14:31 UTC) #76
Andrew T Wilson (Slow)
LGTM, but note my comment below. Want to make sure that if somehow extensions *can* ...
4 years ago (2016-12-06 16:57:01 UTC) #77
Ivan Šandrk
Sergey can you ptal again please? https://codereview.chromium.org/2532323003/diff/180001/chrome/browser/media/public_session_media_access_handler.cc File chrome/browser/media/public_session_media_access_handler.cc (right): https://codereview.chromium.org/2532323003/diff/180001/chrome/browser/media/public_session_media_access_handler.cc#newcode55 chrome/browser/media/public_session_media_access_handler.cc:55: if (!IsPublicSession() || ...
4 years ago (2016-12-06 19:31:44 UTC) #78
Sergey Ulanov
lgtm
4 years ago (2016-12-08 04:45:52 UTC) #79
Sergey Ulanov
couple more nits https://codereview.chromium.org/2532323003/diff/220001/chrome/browser/media/public_session_media_access_handler.cc File chrome/browser/media/public_session_media_access_handler.cc (right): https://codereview.chromium.org/2532323003/diff/220001/chrome/browser/media/public_session_media_access_handler.cc#newcode95 chrome/browser/media/public_session_media_access_handler.cc:95: extension_install_prompt_map_[extension->id()].reset(prompt.release()); extension_install_prompt_map_[extension->id()] = std::move(prompt); https://codereview.chromium.org/2532323003/diff/220001/chrome/browser/media/public_session_media_access_handler.cc#newcode165 chrome/browser/media/public_session_media_access_handler.cc:165: ...
4 years ago (2016-12-08 05:10:46 UTC) #80
Ivan Šandrk
https://codereview.chromium.org/2532323003/diff/220001/chrome/browser/media/public_session_media_access_handler.cc File chrome/browser/media/public_session_media_access_handler.cc (right): https://codereview.chromium.org/2532323003/diff/220001/chrome/browser/media/public_session_media_access_handler.cc#newcode95 chrome/browser/media/public_session_media_access_handler.cc:95: extension_install_prompt_map_[extension->id()].reset(prompt.release()); On 2016/12/08 05:10:46, Sergey Ulanov wrote: > extension_install_prompt_map_[extension->id()] ...
4 years ago (2016-12-08 13:51:50 UTC) #83
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/2532323003/240001
4 years ago (2016-12-08 13:52:45 UTC) #87
commit-bot: I haz the power
Committed patchset #12 (id:240001)
4 years ago (2016-12-08 15:04:01 UTC) #90
commit-bot: I haz the power
4 years ago (2016-12-08 15:06:31 UTC) #92
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/b040fda5a81f54c4dbab7664f3aaf2099c110b61
Cr-Commit-Position: refs/heads/master@{#437243}

Powered by Google App Engine
This is Rietveld 408576698