| Index: chrome/browser/extensions/unpacked_installer.cc
|
| diff --git a/chrome/browser/extensions/unpacked_installer.cc b/chrome/browser/extensions/unpacked_installer.cc
|
| index eabbfe6a34e0a409d0608725f79d37d9f2882ff1..10d7c1068add93474fdc78295719f3ee80cb19b3 100644
|
| --- a/chrome/browser/extensions/unpacked_installer.cc
|
| +++ b/chrome/browser/extensions/unpacked_installer.cc
|
| @@ -10,6 +10,7 @@
|
| #include "chrome/browser/extensions/extension_install_ui.h"
|
| #include "chrome/browser/extensions/extension_prefs.h"
|
| #include "chrome/browser/extensions/extension_service.h"
|
| +#include "chrome/browser/extensions/permissions_updater.h"
|
| #include "chrome/common/extensions/extension.h"
|
| #include "chrome/common/extensions/extension_file_util.h"
|
| #include "chrome/common/string_ordinal.h"
|
| @@ -29,8 +30,8 @@ class SimpleExtensionLoadPrompt : public ExtensionInstallUI::Delegate {
|
| void ShowPrompt();
|
|
|
| // ExtensionInstallUI::Delegate
|
| - virtual void InstallUIProceed();
|
| - virtual void InstallUIAbort(bool user_initiated);
|
| + virtual void InstallUIProceed() OVERRIDE;
|
| + virtual void InstallUIAbort(bool user_initiated) OVERRIDE;
|
|
|
| private:
|
| base::WeakPtr<ExtensionService> service_weak_;
|
| @@ -55,9 +56,12 @@ void SimpleExtensionLoadPrompt::ShowPrompt() {
|
| }
|
|
|
| void SimpleExtensionLoadPrompt::InstallUIProceed() {
|
| - if (service_weak_.get())
|
| + if (service_weak_.get()) {
|
| + extensions::PermissionsUpdater perms_updater(service_weak_->profile());
|
| + perms_updater.GrantActivePermissions(extension_);
|
| service_weak_->OnExtensionInstalled(
|
| extension_, false, StringOrdinal()); // Not from web store.
|
| + }
|
| delete this;
|
| }
|
|
|
| @@ -200,7 +204,7 @@ void UnpackedInstaller::OnLoaded(
|
| if (service_weak_->show_extensions_prompts() &&
|
| prompt_for_plugins_ &&
|
| !extension->plugins().empty() &&
|
| - disabled_extensions->Contains(extension->id())) {
|
| + !disabled_extensions->Contains(extension->id())) {
|
| SimpleExtensionLoadPrompt* prompt = new SimpleExtensionLoadPrompt(
|
| service_weak_->profile(),
|
| service_weak_,
|
| @@ -208,6 +212,9 @@ void UnpackedInstaller::OnLoaded(
|
| prompt->ShowPrompt();
|
| return; // continues in SimpleExtensionLoadPrompt::InstallUI*
|
| }
|
| +
|
| + PermissionsUpdater perms_updater(service_weak_->profile());
|
| + perms_updater.GrantActivePermissions(extension);
|
| service_weak_->OnExtensionInstalled(extension,
|
| false, // Not from web store.
|
| StringOrdinal());
|
|
|