| Index: chrome/browser/extensions/extension_prefs.cc
|
| diff --git a/chrome/browser/extensions/extension_prefs.cc b/chrome/browser/extensions/extension_prefs.cc
|
| index fed7aec5376620dac90892cba3890f01b93c6ddb..00acb61603e45dbd92a0d29bbc11ac4d346f1e47 100644
|
| --- a/chrome/browser/extensions/extension_prefs.cc
|
| +++ b/chrome/browser/extensions/extension_prefs.cc
|
| @@ -934,6 +934,24 @@ void ExtensionPrefs::AddGrantedPermissions(
|
| extension_id, kPrefGrantedPermissions, new_perms.get());
|
| }
|
|
|
| +void ExtensionPrefs::RemoveGrantedPermissions(
|
| + const std::string& extension_id,
|
| + const ExtensionPermissionSet* permissions) {
|
| + CHECK(Extension::IdIsValid(extension_id));
|
| +
|
| + scoped_refptr<ExtensionPermissionSet> granted_permissions(
|
| + GetGrantedPermissions(extension_id));
|
| +
|
| + // The new granted permissions are the difference of the already granted
|
| + // permissions and the newly ungranted permissions.
|
| + scoped_refptr<ExtensionPermissionSet> new_perms(
|
| + ExtensionPermissionSet::CreateDifference(
|
| + granted_permissions.get(), permissions));
|
| +
|
| + SetExtensionPrefPermissionSet(
|
| + extension_id, kPrefGrantedPermissions, new_perms.get());
|
| +}
|
| +
|
| ExtensionPermissionSet* ExtensionPrefs::GetActivePermissions(
|
| const std::string& extension_id) {
|
| CHECK(Extension::IdIsValid(extension_id));
|
|
|