Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2248)

Unified Diff: chrome/browser/extensions/api/developer_private/developer_private_api.cc

Issue 12943010: Add native permissions dialog for apps_devtools app. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: reused the ReviewPermissions in extension_install_prompt.cc Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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());

Powered by Google App Engine
This is Rietveld 408576698