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

Side by Side Diff: chrome/browser/chromeos/extensions/permissions_updater_delegate_chromeos.cc

Issue 2858643002: PS - Filtering activeTab URL (Closed)
Patch Set: ExtensionBuilder in test Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/extensions/permissions_updater_delegate_chrome os.h" 5 #include "chrome/browser/chromeos/extensions/permissions_updater_delegate_chrome os.h"
6 6
7 #include "chrome/browser/chromeos/extensions/device_local_account_management_pol icy_provider.h" 7 #include "chrome/browser/chromeos/extensions/device_local_account_management_pol icy_provider.h"
8 #include "chrome/browser/profiles/profiles_state.h" 8 #include "chrome/browser/profiles/profiles_state.h"
9 #include "extensions/common/permissions/api_permission.h" 9 #include "extensions/common/permissions/api_permission.h"
10 #include "extensions/common/permissions/api_permission_set.h" 10 #include "extensions/common/permissions/api_permission_set.h"
11 #include "extensions/common/permissions/manifest_permission_set.h" 11 #include "extensions/common/permissions/manifest_permission_set.h"
12 #include "extensions/common/permissions/permission_set.h" 12 #include "extensions/common/permissions/permission_set.h"
13 #include "extensions/common/url_pattern_set.h" 13 #include "extensions/common/url_pattern_set.h"
14 14
15 namespace extensions { 15 namespace extensions {
16 16
17 PermissionsUpdaterDelegateChromeOS::PermissionsUpdaterDelegateChromeOS() {} 17 PermissionsUpdaterDelegateChromeOS::PermissionsUpdaterDelegateChromeOS() {}
18 18
19 PermissionsUpdaterDelegateChromeOS::~PermissionsUpdaterDelegateChromeOS() {} 19 PermissionsUpdaterDelegateChromeOS::~PermissionsUpdaterDelegateChromeOS() {}
20 20
21 void PermissionsUpdaterDelegateChromeOS::InitializePermissions( 21 void PermissionsUpdaterDelegateChromeOS::InitializePermissions(
22 const Extension* extension, 22 const Extension* extension,
23 std::unique_ptr<const PermissionSet>* granted_permissions) { 23 std::unique_ptr<const PermissionSet>* granted_permissions) {
24 if (!profiles::IsPublicSession() || 24 if (!profiles::IsPublicSession() ||
25 chromeos::DeviceLocalAccountManagementPolicyProvider::IsWhitelisted( 25 chromeos::DeviceLocalAccountManagementPolicyProvider::IsWhitelisted(
26 extension) || 26 extension->id()) ||
27 !(*granted_permissions) 27 !(*granted_permissions)
28 ->HasAPIPermission(APIPermission::kClipboardRead)) { 28 ->HasAPIPermission(APIPermission::kClipboardRead)) {
29 return; 29 return;
30 } 30 }
31 // Revoke kClipboardRead permission (used in Public Sessions to secure 31 // Revoke kClipboardRead permission (used in Public Sessions to secure
32 // clipboard read functionality). This forceful removal of permission is safe 32 // clipboard read functionality). This forceful removal of permission is safe
33 // since the clipboard pasting code checks for this permission before doing 33 // since the clipboard pasting code checks for this permission before doing
34 // the paste (the end result is just an empty paste). 34 // the paste (the end result is just an empty paste).
35 APIPermissionSet api_permission_set; 35 APIPermissionSet api_permission_set;
36 api_permission_set.insert(APIPermission::kClipboardRead); 36 api_permission_set.insert(APIPermission::kClipboardRead);
37 *granted_permissions = PermissionSet::CreateDifference( 37 *granted_permissions = PermissionSet::CreateDifference(
38 **granted_permissions, 38 **granted_permissions,
39 PermissionSet(api_permission_set, ManifestPermissionSet(), 39 PermissionSet(api_permission_set, ManifestPermissionSet(),
40 URLPatternSet(), URLPatternSet())); 40 URLPatternSet(), URLPatternSet()));
41 } 41 }
42 42
43 } // namespace extensions 43 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698