Index: chrome/browser/extensions/crx_installer.cc |
diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc |
index f419eab38665ea39cbda5627996314b25a058d76..5f1232363e3b4c6097203a53c70ff51519a33c79 100644 |
--- a/chrome/browser/extensions/crx_installer.cc |
+++ b/chrome/browser/extensions/crx_installer.cc |
@@ -105,10 +105,9 @@ scoped_refptr<CrxInstaller> CrxInstaller::Create( |
return new CrxInstaller(service->AsWeakPtr(), client.Pass(), approval); |
} |
-CrxInstaller::CrxInstaller( |
- base::WeakPtr<ExtensionService> service_weak, |
- scoped_ptr<ExtensionInstallPrompt> client, |
- const WebstoreInstaller::Approval* approval) |
+CrxInstaller::CrxInstaller(base::WeakPtr<ExtensionService> service_weak, |
+ scoped_ptr<ExtensionInstallPrompt> client, |
+ const WebstoreInstaller::Approval* approval) |
: install_directory_(service_weak->install_directory()), |
install_source_(Manifest::INTERNAL), |
approved_(false), |
@@ -122,7 +121,7 @@ CrxInstaller::CrxInstaller( |
// See header file comment on |client_| for why we use a raw pointer here. |
client_(client.release()), |
apps_require_extension_mime_type_(false), |
- allow_silent_install_(false), |
+ allow_silent_install_(GRANT_AFTER_PROMPT), |
install_cause_(extension_misc::INSTALL_CAUSE_UNSET), |
creation_flags_(Extension::NO_FLAGS), |
off_store_install_allow_reason_(OffStoreInstallDisallowed), |
@@ -538,7 +537,7 @@ void CrxInstaller::OnBlacklistChecked( |
if ((blacklist_state_ == extensions::BLACKLISTED_MALWARE || |
blacklist_state_ == extensions::BLACKLISTED_UNKNOWN) && |
- !allow_silent_install_) { |
+ allow_silent_install_ != GRANT_AFTER_PROMPT) { |
// User tried to install a blacklisted extension. Show an error and |
// refuse to install it. |
ReportFailureFromUIThread(extensions::CrxInstallerError( |
@@ -608,8 +607,7 @@ void CrxInstaller::ConfirmInstall() { |
current_version_ = ExtensionPrefs::Get(service->profile()) |
->GetVersionString(extension()->id()); |
- if (client_ && |
- (!allow_silent_install_ || !approved_) && |
+ if (client_ && (allow_silent_install_ == GRANT_AFTER_PROMPT || !approved_) && |
!update_from_settings_page_) { |
AddRef(); // Balanced in InstallUIProceed() and InstallUIAbort(). |
client_->ConfirmInstall(this, extension(), show_dialog_callback_); |
@@ -795,7 +793,7 @@ void CrxInstaller::ReportSuccessFromUIThread() { |
// We update the extension's granted permissions if the user already |
// approved the install (client_ is non NULL), or we are allowed to install |
// this silently. |
- if (client_ || allow_silent_install_) { |
+ if (client_ || allow_silent_install_ == GRANT_SILENTLY) { |
PermissionsUpdater perms_updater(profile()); |
perms_updater.GrantActivePermissions(extension()); |
} |