Index: chrome/browser/extensions/api/developer_private/developer_private_api.cc |
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.cc b/chrome/browser/extensions/api/developer_private/developer_private_api.cc |
index 471d0859335fd18564afc2ed8006ce9412d256ed..fbbf9483c37cc9a607e307c22627a2a294859922 100644 |
--- a/chrome/browser/extensions/api/developer_private/developer_private_api.cc |
+++ b/chrome/browser/extensions/api/developer_private/developer_private_api.cc |
@@ -444,8 +444,38 @@ bool DeveloperPrivateReloadFunction::RunImpl() { |
return true; |
} |
+bool DeveloperPrivatePermissionsFunction::RunImpl() { |
+ std::string extension_id; |
+ EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &extension_id)); |
+ ExtensionService* service = profile()->GetExtensionService(); |
+ CHECK(!extension_id.empty()); |
+ ShellWindowRegistry* registry = ShellWindowRegistry::Get(profile()); |
+ DCHECK(registry); |
+ ShellWindow* shell_window = registry->GetShellWindowForRenderViewHost( |
+ render_view_host()); |
+ prompt_.reset(new ExtensionPermissionsPrompt(shell_window->web_contents())); |
+ const Extension* extension = service->GetInstalledExtension(extension_id); |
asargent_no_longer_on_chrome
2013/03/20 21:46:30
You should handle the case of |extension| coming b
Gaurav
2013/03/27 19:06:44
Done.
|
+ // Released by InstallUIAbort. |
+ AddRef(); |
+ prompt_->PermissionsDialog(this, extension); |
+ return true; |
+} |
+ |
DeveloperPrivateReloadFunction::~DeveloperPrivateReloadFunction() {} |
+void DeveloperPrivatePermissionsFunction::InstallUIProceed() { |
+ // The permissions dialog only contains a close button. |
+ NOTREACHED(); |
+} |
+ |
+void DeveloperPrivatePermissionsFunction::InstallUIAbort(bool user_initiated) { |
+ Release(); |
asargent_no_longer_on_chrome
2013/03/20 21:46:30
You need to call SendResponse() here, before the R
Gaurav
2013/03/27 19:06:44
Done.
|
+} |
+ |
+DeveloperPrivatePermissionsFunction::DeveloperPrivatePermissionsFunction() {} |
+ |
+DeveloperPrivatePermissionsFunction::~DeveloperPrivatePermissionsFunction() {} |
+ |
bool DeveloperPrivateRestartFunction::RunImpl() { |
std::string extension_id; |
EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &extension_id)); |