diff options
Diffstat (limited to 'chrome/browser/extensions/extension_service.cc')
-rw-r--r-- | chrome/browser/extensions/extension_service.cc | 27 |
1 files changed, 5 insertions, 22 deletions
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc index e1edd27..655a80e 100644 --- a/chrome/browser/extensions/extension_service.cc +++ b/chrome/browser/extensions/extension_service.cc @@ -57,6 +57,7 @@ #include "chrome/browser/extensions/external_extension_provider_interface.h" #include "chrome/browser/extensions/installed_loader.h" #include "chrome/browser/extensions/pending_extension_manager.h" +#include "chrome/browser/extensions/permissions_updater.h" #include "chrome/browser/extensions/settings/settings_frontend.h" #include "chrome/browser/extensions/unpacked_installer.h" #include "chrome/browser/history/history_extension_api.h" @@ -384,7 +385,6 @@ ExtensionService::ExtensionService(Profile* profile, toolbar_model_(ALLOW_THIS_IN_INITIALIZER_LIST(this)), menu_manager_(profile), app_notification_manager_(new AppNotificationManager(profile)), - permissions_manager_(ALLOW_THIS_IN_INITIALIZER_LIST(this)), apps_promo_(profile->GetPrefs()), event_routers_initialized_(false), extension_warnings_(profile), @@ -905,35 +905,17 @@ void ExtensionService::DisableExtension(const std::string& extension_id) { extension_warnings_.ClearWarnings(warnings); } -void ExtensionService::GrantPermissions(const Extension* extension) { - CHECK(extension); - - // We only maintain the granted permissions prefs for extensions that can't - // silently increase their permissions. - if (extension->CanSilentlyIncreasePermissions()) - return; - - extension_prefs_->AddGrantedPermissions(extension->id(), - extension->GetActivePermissions()); -} - void ExtensionService::GrantPermissionsAndEnableExtension( const Extension* extension) { CHECK(extension); RecordPermissionMessagesHistogram( extension, "Extensions.Permissions_ReEnable"); - GrantPermissions(extension); + extensions::PermissionsUpdater perms_updater(profile()); + perms_updater.GrantActivePermissions(extension); extension_prefs_->SetDidExtensionEscalatePermissions(extension, false); EnableExtension(extension->id()); } -void ExtensionService::UpdateActivePermissions( - const Extension* extension, - const ExtensionPermissionSet* permissions) { - extension_prefs()->SetActivePermissions(extension->id(), permissions); - extension->SetActivePermissions(permissions); -} - // static void ExtensionService::RecordPermissionMessagesHistogram( const Extension* e, const char* histogram) { @@ -2054,7 +2036,8 @@ void ExtensionService::InitializePermissions(const Extension* extension) { adjusted_active = ExtensionPermissionSet::CreateUnion( extension->required_permission_set(), adjusted_active.get()); - UpdateActivePermissions(extension, adjusted_active); + extensions::PermissionsUpdater perms_updater(profile()); + perms_updater.UpdateActivePermissions(extension, adjusted_active); } // We keep track of all permissions the user has granted each extension. |