Chromium Code Reviews| 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)); |