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

Unified Diff: chrome/browser/extensions/extension_install_prompt.cc

Issue 11150002: New post-sideload UI: (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: !!! Created 8 years, 2 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
« no previous file with comments | « chrome/browser/extensions/extension_install_prompt.h ('k') | chrome/browser/extensions/extension_prefs.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/extension_install_prompt.cc
diff --git a/chrome/browser/extensions/extension_install_prompt.cc b/chrome/browser/extensions/extension_install_prompt.cc
index d00b79ce4eb8fd48c2f2cf70521a265654bd7ee3..2324e9f8cd598cda049a36a5d0e3fbeccf90f8e4 100644
--- a/chrome/browser/extensions/extension_install_prompt.cc
+++ b/chrome/browser/extensions/extension_install_prompt.cc
@@ -44,33 +44,39 @@ using extensions::BundleInstaller;
using extensions::Extension;
using extensions::PermissionSet;
+namespace {
+
static const int kTitleIds[ExtensionInstallPrompt::NUM_PROMPT_TYPES] = {
0, // The regular install prompt depends on what's being installed.
IDS_EXTENSION_INLINE_INSTALL_PROMPT_TITLE,
IDS_EXTENSION_INSTALL_PROMPT_TITLE,
IDS_EXTENSION_RE_ENABLE_PROMPT_TITLE,
- IDS_EXTENSION_PERMISSIONS_PROMPT_TITLE
+ IDS_EXTENSION_PERMISSIONS_PROMPT_TITLE,
+ IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_TITLE,
};
static const int kHeadingIds[ExtensionInstallPrompt::NUM_PROMPT_TYPES] = {
IDS_EXTENSION_INSTALL_PROMPT_HEADING,
0, // Inline installs use the extension name.
0, // Heading for bundle installs depends on the bundle contents.
IDS_EXTENSION_RE_ENABLE_PROMPT_HEADING,
- IDS_EXTENSION_PERMISSIONS_PROMPT_HEADING
+ IDS_EXTENSION_PERMISSIONS_PROMPT_HEADING,
+ IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_HEADING,
};
static const int kAcceptButtonIds[ExtensionInstallPrompt::NUM_PROMPT_TYPES] = {
IDS_EXTENSION_PROMPT_INSTALL_BUTTON,
IDS_EXTENSION_PROMPT_INSTALL_BUTTON,
IDS_EXTENSION_PROMPT_INSTALL_BUTTON,
IDS_EXTENSION_PROMPT_RE_ENABLE_BUTTON,
- IDS_EXTENSION_PROMPT_PERMISSIONS_BUTTON
+ IDS_EXTENSION_PROMPT_PERMISSIONS_BUTTON,
+ IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_ACCEPT_BUTTON,
};
static const int kAbortButtonIds[ExtensionInstallPrompt::NUM_PROMPT_TYPES] = {
0, // These all use the platform's default cancel label.
0,
0,
0,
- IDS_EXTENSION_PROMPT_PERMISSIONS_ABORT_BUTTON
+ IDS_EXTENSION_PROMPT_PERMISSIONS_ABORT_BUTTON,
+ IDS_EXTENSION_EXTERNAL_INSTALL_PROMPT_ABORT_BUTTON,
};
static const int kPermissionsHeaderIds[
ExtensionInstallPrompt::NUM_PROMPT_TYPES] = {
@@ -79,18 +85,19 @@ static const int kPermissionsHeaderIds[
IDS_EXTENSION_PROMPT_THESE_WILL_HAVE_ACCESS_TO,
IDS_EXTENSION_PROMPT_WILL_NOW_HAVE_ACCESS_TO,
IDS_EXTENSION_PROMPT_WANTS_ACCESS_TO,
+ IDS_EXTENSION_PROMPT_WILL_HAVE_ACCESS_TO,
};
-static const int kOAuthHeaderIds[
- ExtensionInstallPrompt::NUM_PROMPT_TYPES] = {
+static const int kOAuthHeaderIds[ExtensionInstallPrompt::NUM_PROMPT_TYPES] = {
IDS_EXTENSION_PROMPT_OAUTH_HEADER,
0, // Inline installs don't show OAuth permissions.
0, // Bundle installs don't show OAuth permissions.
IDS_EXTENSION_PROMPT_OAUTH_REENABLE_HEADER,
IDS_EXTENSION_PROMPT_OAUTH_PERMISSIONS_HEADER,
+ // TODO(mpcomplete): Do we need this for external install UI? If we do,
+ // we need to update FetchOAuthIssueAdviceIfNeeded.
+ 0,
};
-namespace {
-
// Size of extension icon in top left of dialog.
const int kIconSize = 69;
@@ -196,6 +203,9 @@ string16 ExtensionInstallPrompt::Prompt::GetDialogTitle() const {
resource_id = IDS_EXTENSION_INSTALL_THEME_PROMPT_TITLE;
else
resource_id = IDS_EXTENSION_INSTALL_EXTENSION_PROMPT_TITLE;
+ } else if (type_ == EXTERNAL_INSTALL_PROMPT) {
+ return l10n_util::GetStringFUTF16(
+ resource_id, UTF8ToUTF16(extension_->name()));
}
return l10n_util::GetStringUTF16(resource_id);
@@ -206,6 +216,8 @@ string16 ExtensionInstallPrompt::Prompt::GetHeading() const {
return UTF8ToUTF16(extension_->name());
} else if (type_ == BUNDLE_INSTALL_PROMPT) {
return bundle_->GetHeadingTextFor(BundleInstaller::Item::STATE_PENDING);
+ } else if (type_ == EXTERNAL_INSTALL_PROMPT) {
+ return l10n_util::GetStringUTF16(kHeadingIds[type_]);
} else {
return l10n_util::GetStringFUTF16(
kHeadingIds[type_], UTF8ToUTF16(extension_->name()));
@@ -432,6 +444,17 @@ void ExtensionInstallPrompt::ConfirmReEnable(Delegate* delegate,
LoadImageIfNeeded();
}
+void ExtensionInstallPrompt::ConfirmExternalInstall(
+ Delegate* delegate, const Extension* extension) {
+ DCHECK(ui_loop_ == MessageLoop::current());
+ extension_ = extension;
+ permissions_ = extension->GetActivePermissions();
+ delegate_ = delegate;
+ prompt_type_ = EXTERNAL_INSTALL_PROMPT;
+
+ LoadImageIfNeeded();
+}
+
void ExtensionInstallPrompt::ConfirmPermissions(
Delegate* delegate,
const Extension* extension,
@@ -519,6 +542,7 @@ void ExtensionInstallPrompt::FetchOAuthIssueAdviceIfNeeded() {
if (!extension_ ||
prompt_type_ == BUNDLE_INSTALL_PROMPT ||
prompt_type_ == INLINE_INSTALL_PROMPT ||
+ prompt_type_ == EXTERNAL_INSTALL_PROMPT ||
prompt_.GetOAuthIssueCount() != 0U) {
ShowConfirmation();
return;
@@ -571,6 +595,7 @@ void ExtensionInstallPrompt::ShowConfirmation() {
case PERMISSIONS_PROMPT:
case RE_ENABLE_PROMPT:
case INLINE_INSTALL_PROMPT:
+ case EXTERNAL_INSTALL_PROMPT:
case INSTALL_PROMPT: {
prompt_.set_extension(extension_);
prompt_.set_icon(gfx::Image(icon_));
« no previous file with comments | « chrome/browser/extensions/extension_install_prompt.h ('k') | chrome/browser/extensions/extension_prefs.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698