Chromium Code Reviews| Index: chrome/browser/extensions/permissions_updater_delegate_chromeos.cc |
| diff --git a/chrome/browser/extensions/permissions_updater_delegate_chromeos.cc b/chrome/browser/extensions/permissions_updater_delegate_chromeos.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..933cdafa1000543e104bd837a6004029744a1e58 |
| --- /dev/null |
| +++ b/chrome/browser/extensions/permissions_updater_delegate_chromeos.cc |
| @@ -0,0 +1,39 @@ |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/extensions/permissions_updater_delegate_chromeos.h" |
| + |
| +#include "chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.h" |
| +#include "chrome/browser/profiles/profiles_state.h" |
| +#include "extensions/common/permissions/api_permission.h" |
| +#include "extensions/common/permissions/api_permission_set.h" |
| +#include "extensions/common/permissions/manifest_permission_set.h" |
| +#include "extensions/common/permissions/permission_set.h" |
| +#include "extensions/common/url_pattern_set.h" |
| + |
| +namespace extensions { |
| + |
| +PermissionsUpdaterDelegateChromeOS::PermissionsUpdaterDelegateChromeOS() {} |
| + |
| +PermissionsUpdaterDelegateChromeOS::~PermissionsUpdaterDelegateChromeOS() {} |
| + |
| +void PermissionsUpdaterDelegateChromeOS::InitializePermissions( |
| + PermissionsUpdater* permissions_updater, |
| + const Extension* extension) { |
| + if (!profiles::IsPublicSession() || |
| + chromeos::DeviceLocalAccountManagementPolicyProvider::IsWhitelisted( |
| + extension)) { |
| + return; |
| + } |
| + |
| + // Revoke kClipboardRead permission (used in Public Sessions to secure |
| + // clipboard read functionality). |
| + APIPermissionSet api_permission_set; |
| + api_permission_set.insert(APIPermission::kClipboardRead); |
| + PermissionSet permissions(api_permission_set, ManifestPermissionSet(), |
| + URLPatternSet(), URLPatternSet()); |
| + permissions_updater->RemovePermissionsUnsafe(extension, permissions); |
|
Devlin
2017/04/05 14:35:20
this does a lot of extra work (e.g. notifying subs
Ivan Šandrk
2017/04/07 14:39:40
Thanks for the explanation, done.
|
| +} |
| + |
| +} // namespace extensions |