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

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: 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 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));

Powered by Google App Engine
This is Rietveld 408576698