New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 689478 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Public Session whitelisting - prompt the user for pageCapture requests

Project Member Reported by isandrk@chromium.org, Feb 7 2017

Issue description

In Public Sessions, extensions (and apps) are force-installed by admin policy so the user does not get a chance to review the permissions for these extensions. This is not acceptable from a security/privacy standpoint, so when an extension uses one of the capture APIs for the first time, we show the user a dialog where they can choose whether to allow the extension access to that API.

 

Comment 1 Deleted

New prompt for pageCapture looks like this


Screenshot from 2016-12-12 18:42:31.png
145 KB View Download
Labels: OS-Chrome
Project Member

Comment 4 by bugdroid1@chromium.org, Feb 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/309c0997afe19ab971686abf5cca1dd7fd4f7d8b

commit 309c0997afe19ab971686abf5cca1dd7fd4f7d8b
Author: isandrk <isandrk@chromium.org>
Date: Tue Feb 14 16:57:17 2017

Public Sessions - prompt the user for pageCapture requests

In Public Sessions, extensions (and apps) are force-installed by admin policy so the user does not get a chance to review the permissions for these extensions. This is not acceptable from a security/privacy standpoint, so when an extension uses the pageCapture API for the first time, we show the user a dialog where they can choose whether to allow the extension access to the API.

BUG=689478
BROWSERTEST=ExtensionPageCaptureApiTest.PublicSessionRequest*
UNITTEST=PublicSessionPermissionHelperTest.*

Review-Url: https://codereview.chromium.org/2552203007
Cr-Commit-Position: refs/heads/master@{#450383}

[modify] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/BUILD.gn
[modify] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/chromeos/BUILD.gn
[modify] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc
[add] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/chromeos/extensions/public_session_permission_helper.cc
[add] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/chromeos/extensions/public_session_permission_helper.h
[add] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/chromeos/extensions/public_session_permission_helper_unittest.cc
[modify] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/extensions/api/page_capture/page_capture_api.cc
[modify] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/extensions/api/page_capture/page_capture_api.h
[modify] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/extensions/api/page_capture/page_capture_apitest.cc
[modify] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/media/public_session_media_access_handler.cc
[modify] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/media/public_session_media_access_handler.h
[add] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/media/public_session_tab_capture_access_handler.cc
[add] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/media/public_session_tab_capture_access_handler.h
[modify] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/browser/media/webrtc/media_capture_devices_dispatcher.cc
[delete] https://crrev.com/b5a275836d850892ca952e33f5a83efc7ac070ef/chrome/browser/media/webrtc/public_session_tab_capture_access_handler.cc
[delete] https://crrev.com/b5a275836d850892ca952e33f5a83efc7ac070ef/chrome/browser/media/webrtc/public_session_tab_capture_access_handler.h
[modify] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/chrome/test/data/extensions/api_test/page_capture/test.js
[modify] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/extensions/common/permissions/api_permission_set.cc
[modify] https://crrev.com/309c0997afe19ab971686abf5cca1dd7fd4f7d8b/extensions/common/permissions/api_permission_set.h

Status: Fixed (was: Started)
Project Member

Comment 6 by bugdroid1@chromium.org, Feb 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/618b40d65c8372e95c3fb7bf848560b2a9b14a34

commit 618b40d65c8372e95c3fb7bf848560b2a9b14a34
Author: xlai <xlai@chromium.org>
Date: Tue Feb 14 21:54:44 2017

Revert of Public Sessions - prompt the user for pageCapture requests (patchset #34 id:720001 of https://codereview.chromium.org/2552203007/ )

Reason for revert:
This CL is causing many PublicSessionPermissionHelperTest unit tests to fail on Linux Chromium OS ASan LSan Tests:

https://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29/builds/19549

Please fix the leaks before relanding it again.

Original issue's description:
> Public Sessions - prompt the user for pageCapture requests
>
> In Public Sessions, extensions (and apps) are force-installed by admin policy so the user does not get a chance to review the permissions for these extensions. This is not acceptable from a security/privacy standpoint, so when an extension uses the pageCapture API for the first time, we show the user a dialog where they can choose whether to allow the extension access to the API.
>
> BUG=689478
> BROWSERTEST=ExtensionPageCaptureApiTest.PublicSessionRequest*
> UNITTEST=PublicSessionPermissionHelperTest.*
>
> Review-Url: https://codereview.chromium.org/2552203007
> Cr-Commit-Position: refs/heads/master@{#450383}
> Committed: https://chromium.googlesource.com/chromium/src/+/309c0997afe19ab971686abf5cca1dd7fd4f7d8b

TBR=atwilson@chromium.org,rdevlin.cronin@chromium.org,isandrk@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=689478

Review-Url: https://codereview.chromium.org/2697833004
Cr-Commit-Position: refs/heads/master@{#450483}

[modify] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/chrome/browser/BUILD.gn
[modify] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/chrome/browser/chromeos/BUILD.gn
[modify] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc
[delete] https://crrev.com/f4729b0eccefc8bd9f46d4e36144b9a53cd02e33/chrome/browser/chromeos/extensions/public_session_permission_helper.cc
[delete] https://crrev.com/f4729b0eccefc8bd9f46d4e36144b9a53cd02e33/chrome/browser/chromeos/extensions/public_session_permission_helper.h
[delete] https://crrev.com/f4729b0eccefc8bd9f46d4e36144b9a53cd02e33/chrome/browser/chromeos/extensions/public_session_permission_helper_unittest.cc
[modify] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/chrome/browser/extensions/api/page_capture/page_capture_api.cc
[modify] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/chrome/browser/extensions/api/page_capture/page_capture_api.h
[modify] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/chrome/browser/extensions/api/page_capture/page_capture_apitest.cc
[modify] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/chrome/browser/media/public_session_media_access_handler.cc
[modify] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/chrome/browser/media/public_session_media_access_handler.h
[delete] https://crrev.com/f4729b0eccefc8bd9f46d4e36144b9a53cd02e33/chrome/browser/media/public_session_tab_capture_access_handler.cc
[delete] https://crrev.com/f4729b0eccefc8bd9f46d4e36144b9a53cd02e33/chrome/browser/media/public_session_tab_capture_access_handler.h
[modify] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/chrome/browser/media/webrtc/media_capture_devices_dispatcher.cc
[add] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/chrome/browser/media/webrtc/public_session_tab_capture_access_handler.cc
[add] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/chrome/browser/media/webrtc/public_session_tab_capture_access_handler.h
[modify] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/chrome/test/data/extensions/api_test/page_capture/test.js
[modify] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/extensions/common/permissions/api_permission_set.cc
[modify] https://crrev.com/618b40d65c8372e95c3fb7bf848560b2a9b14a34/extensions/common/permissions/api_permission_set.h

Tested this on R58(9287.0.0). 
verified that extensions that request for pageCapture API can be pushed in Public Sessions.
Cc: -sduraisamy@chromium.org isandrk@chromium.org
Owner: sduraisamy@chromium.org
@Raj: Do we need a launch review for this? Or any of the other reviews?
Cc: sduraisamy@chromium.org
Owner: krishna...@chromium.org
Status: Assigned (was: Fixed)
Hi Krishna, please test this. This is targeted for M-58.

Comment 11 by mbre...@gmail.com, Jun 7 2017

> This is not acceptable from a security/privacy standpoint

Isn't that a something that the device owner should decide?

Sign in to add a comment