Index: chrome/browser/extensions/extension_uninstall_dialog.cc |
diff --git a/chrome/browser/extensions/extension_uninstall_dialog.cc b/chrome/browser/extensions/extension_uninstall_dialog.cc |
index 8c89ded52dc4d0e1b0f8d1b6951819b7c7306019..625d18382e5463ac5006e577054b21c7d01c0a6c 100644 |
--- a/chrome/browser/extensions/extension_uninstall_dialog.cc |
+++ b/chrome/browser/extensions/extension_uninstall_dialog.cc |
@@ -25,6 +25,7 @@ |
#if defined(ENABLE_MANAGED_USERS) |
#include "chrome/browser/managed_mode/managed_user_service.h" |
#include "chrome/browser/managed_mode/managed_user_service_factory.h" |
+#include "chrome/browser/ui/tabs/tab_strip_model.h" |
Bernhard Bauer
2013/03/27 15:48:14
Include this unconditionally.
Adrian Kuegel
2013/03/27 16:17:43
Done.
|
#endif |
namespace { |
@@ -150,13 +151,17 @@ void ExtensionUninstallDialog::Observe( |
bool ExtensionUninstallDialog::ShowAuthorizationDialog() { |
ManagedUserService* service = |
ManagedUserServiceFactory::GetForProfile(profile_); |
- if (service->ProfileIsManaged() && !service->CanSkipPassphraseDialog()) { |
- service->RequestAuthorizationUsingActiveWebContents( |
- browser_, |
+ content::WebContents* web_contents = |
+ browser_->tab_strip_model()->GetActiveWebContents(); |
+ if (service->ProfileIsManaged() && |
+ !service->CanSkipPassphraseDialog(web_contents)) { |
+ service->RequestAuthorization( |
+ web_contents, |
base::Bind(&ExtensionUninstallDialog::OnAuthorizationResult, |
base::Unretained(this))); |
return true; |
} |
+ service->AddElevationForExtension(extension_->id()); |
return false; |
} |