| Index: chrome/browser/extensions/extension_service.cc
|
| diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
|
| index 03336f9a9dcfe0656c8630c6be0c4143a6ec4ee8..306015673c6500558a1ff7f5ee9dfa545f654a4d 100644
|
| --- a/chrome/browser/extensions/extension_service.cc
|
| +++ b/chrome/browser/extensions/extension_service.cc
|
| @@ -58,6 +58,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"
|
| @@ -388,7 +389,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),
|
| @@ -862,35 +862,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) {
|
| @@ -1947,7 +1929,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.
|
|
|