| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |