| 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 1b5c918c7de4f04e1a83f52ad77529c7b9dc84f9..d867db97020b169eddb84f914908269728a135b6 100644
|
| --- a/chrome/browser/extensions/api/developer_private/developer_private_api.cc
|
| +++ b/chrome/browser/extensions/api/developer_private/developer_private_api.cc
|
| @@ -446,8 +446,46 @@ bool DeveloperPrivateReloadFunction::RunImpl() {
|
| return true;
|
| }
|
|
|
| +bool DeveloperPrivateShowPermissionsDialogFunction::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 ExtensionInstallPrompt(shell_window->web_contents()));
|
| + const Extension* extension = service->GetInstalledExtension(extension_id);
|
| +
|
| + if (!extension)
|
| + return false;
|
| +
|
| + // Released by InstallUIAbort.
|
| + AddRef();
|
| + prompt_->ReviewPermissions(this, extension);
|
| + return true;
|
| +}
|
| +
|
| DeveloperPrivateReloadFunction::~DeveloperPrivateReloadFunction() {}
|
|
|
| +void DeveloperPrivateShowPermissionsDialogFunction::InstallUIProceed() {
|
| + // The permissions dialog only contains a close button.
|
| + NOTREACHED();
|
| +}
|
| +
|
| +void DeveloperPrivateShowPermissionsDialogFunction::InstallUIAbort(
|
| + bool user_initiated) {
|
| + SendResponse(true);
|
| + Release();
|
| +}
|
| +
|
| +DeveloperPrivateShowPermissionsDialogFunction::
|
| + DeveloperPrivateShowPermissionsDialogFunction() {}
|
| +
|
| +DeveloperPrivateShowPermissionsDialogFunction::
|
| + ~DeveloperPrivateShowPermissionsDialogFunction() {}
|
| +
|
| bool DeveloperPrivateRestartFunction::RunImpl() {
|
| scoped_ptr<Restart::Params> params(Restart::Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params.get());
|
|
|