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

Side by Side Diff: chrome/browser/extensions/scripting_permissions_modifier.cc

Issue 2794803003: PS - Remove Clipboard Read permission from extensions in Public Sessions (except for whitelisted on… (Closed)
Patch Set: Created 3 years, 8 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/extensions/scripting_permissions_modifier.h" 5 #include "chrome/browser/extensions/scripting_permissions_modifier.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "chrome/browser/extensions/extension_sync_service.h" 8 #include "chrome/browser/extensions/extension_sync_service.h"
9 #include "chrome/browser/extensions/permissions_updater.h" 9 #include "chrome/browser/extensions/permissions_updater.h"
10 #include "extensions/browser/extension_prefs.h" 10 #include "extensions/browser/extension_prefs.h"
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 &withheld_scriptable_hosts); 270 &withheld_scriptable_hosts);
271 271
272 granted_permissions_out->reset( 272 granted_permissions_out->reset(
273 new PermissionSet(permissions.apis(), permissions.manifest_permissions(), 273 new PermissionSet(permissions.apis(), permissions.manifest_permissions(),
274 granted_explicit_hosts, granted_scriptable_hosts)); 274 granted_explicit_hosts, granted_scriptable_hosts));
275 withheld_permissions_out->reset( 275 withheld_permissions_out->reset(
276 new PermissionSet(APIPermissionSet(), ManifestPermissionSet(), 276 new PermissionSet(APIPermissionSet(), ManifestPermissionSet(),
277 withheld_explicit_hosts, withheld_scriptable_hosts)); 277 withheld_explicit_hosts, withheld_scriptable_hosts));
278 } 278 }
279 279
280 #if defined(OS_CHROMEOS)
281 void ScriptingPermissionsModifier::WithholdClipboardRead() {
282 APIPermissionSet api_permission_set;
283 api_permission_set.insert(APIPermission::kClipboardRead);
284 PermissionSet permissions(api_permission_set, ManifestPermissionSet(),
285 URLPatternSet(), URLPatternSet());
286 PermissionsUpdater(browser_context_)
287 .RemovePermissionsUnsafe(extension_.get(), permissions);
288 }
289 #endif
290
280 void ScriptingPermissionsModifier::GrantWithheldImpliedAllHosts() { 291 void ScriptingPermissionsModifier::GrantWithheldImpliedAllHosts() {
281 const PermissionSet& withheld = 292 const PermissionSet& withheld =
282 extension_->permissions_data()->withheld_permissions(); 293 extension_->permissions_data()->withheld_permissions();
283 294
284 PermissionSet permissions( 295 PermissionSet permissions(
285 APIPermissionSet(), ManifestPermissionSet(), 296 APIPermissionSet(), ManifestPermissionSet(),
286 FilterImpliedAllHostsPatterns(withheld.explicit_hosts()), 297 FilterImpliedAllHostsPatterns(withheld.explicit_hosts()),
287 FilterImpliedAllHostsPatterns(withheld.scriptable_hosts())); 298 FilterImpliedAllHostsPatterns(withheld.scriptable_hosts()));
288 PermissionsUpdater(browser_context_) 299 PermissionsUpdater(browser_context_)
289 .AddPermissions(extension_.get(), permissions); 300 .AddPermissions(extension_.get(), permissions);
(...skipping 19 matching lines...) Expand all
309 // TODO(devlin): Remove this in M56. 320 // TODO(devlin): Remove this in M56.
310 DCHECK(ExtensionMustBeAllowedOnAllUrls(*extension_)); 321 DCHECK(ExtensionMustBeAllowedOnAllUrls(*extension_));
311 extension_prefs_->UpdateExtensionPref(extension_->id(), 322 extension_prefs_->UpdateExtensionPref(extension_->id(),
312 kExtensionAllowedOnAllUrlsPrefName, 323 kExtensionAllowedOnAllUrlsPrefName,
313 base::MakeUnique<base::Value>(true)); 324 base::MakeUnique<base::Value>(true));
314 extension_prefs_->UpdateExtensionPref( 325 extension_prefs_->UpdateExtensionPref(
315 extension_->id(), kHasSetScriptOnAllUrlsPrefName, nullptr); 326 extension_->id(), kHasSetScriptOnAllUrlsPrefName, nullptr);
316 } 327 }
317 328
318 } // namespace extensions 329 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698