summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_service.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extension_service.cc')
-rw-r--r--chrome/browser/extensions/extension_service.cc27
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.