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 a47f415a89063479b56152954ce5776fbff1f13d..bee5818cdeb8f3a512844a89e268a35d855dadd3 100644 |
--- a/chrome/browser/extensions/extension_install_prompt.cc |
+++ b/chrome/browser/extensions/extension_install_prompt.cc |
@@ -16,6 +16,7 @@ |
#include "chrome/browser/extensions/bundle_installer.h" |
#include "chrome/browser/extensions/extension_install_dialog.h" |
#include "chrome/browser/extensions/extension_install_ui.h" |
+#include "chrome/browser/prefs/pref_service.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/signin/token_service.h" |
#include "chrome/browser/signin/token_service_factory.h" |
@@ -30,6 +31,7 @@ |
#include "chrome/common/extensions/extension_switch_utils.h" |
#include "chrome/common/extensions/permissions/permission_set.h" |
#include "chrome/common/extensions/url_pattern.h" |
+#include "chrome/common/pref_names.h" |
#include "content/public/browser/page_navigator.h" |
#include "grit/chromium_strings.h" |
#include "grit/generated_resources.h" |
@@ -78,6 +80,14 @@ static const int kPermissionsHeaderIds[ |
IDS_EXTENSION_PROMPT_WILL_NOW_HAVE_ACCESS_TO, |
IDS_EXTENSION_PROMPT_WANTS_ACCESS_TO, |
}; |
+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, |
+}; |
namespace { |
@@ -86,12 +96,13 @@ const int kIconSize = 69; |
} // namespace |
-ExtensionInstallPrompt::Prompt::Prompt(PromptType type) |
+ExtensionInstallPrompt::Prompt::Prompt(Profile* profile, PromptType type) |
: type_(type), |
extension_(NULL), |
bundle_(NULL), |
average_rating_(0.0), |
- rating_count_(0) { |
+ rating_count_(0), |
+ profile_(profile) { |
} |
ExtensionInstallPrompt::Prompt::~Prompt() { |
@@ -118,7 +129,6 @@ void ExtensionInstallPrompt::Prompt::SetInlineInstallWebstoreData( |
} |
string16 ExtensionInstallPrompt::Prompt::GetDialogTitle() const { |
- |
int resource_id = kTitleIds[type_]; |
if (type_ == INSTALL_PROMPT) { |
@@ -162,8 +172,14 @@ string16 ExtensionInstallPrompt::Prompt::GetPermissionsHeading() const { |
} |
string16 ExtensionInstallPrompt::Prompt::GetOAuthHeading() const { |
- // TODO(estade): this should change based on type_. |
- return l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_SCOPES_HEADING); |
+ string16 username("username@example.com"); |
+ // |profile_| can be NULL in unit tests. |
+ if (profile_) { |
+ username = UTF8ToUTF16(profile_->GetPrefs()->GetString( |
Mihai Parparita -not on Chrome
2012/08/11 00:13:24
Isn't it possible for the user to not be signed in
Evan Stade
2012/08/11 00:25:44
Yes. However we won't show the oauth permissions i
|
+ prefs::kGoogleServicesUsername)); |
+ } |
+ int resource_id = kOAuthHeaderIds[type_]; |
+ return l10n_util::GetStringFUTF16(resource_id, username); |
} |
void ExtensionInstallPrompt::Prompt::AppendRatingStars( |
@@ -271,7 +287,7 @@ ExtensionInstallPrompt::ExtensionInstallPrompt( |
extension_(NULL), |
install_ui_(ExtensionInstallUI::Create(profile)), |
delegate_(NULL), |
- prompt_(UNSET_PROMPT_TYPE), |
+ prompt_(profile, UNSET_PROMPT_TYPE), |
prompt_type_(UNSET_PROMPT_TYPE), |
ALLOW_THIS_IN_INITIALIZER_LIST(tracker_(this)) { |
} |