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

Unified Diff: chrome/common/extensions/permissions/permission_message.cc

Issue 18854021: Making the extension permissions dialog scrollable, when needed (adding expandable sections for thi… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Polishing Created 7 years, 5 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/common/extensions/permissions/permission_message.cc
diff --git a/chrome/common/extensions/permissions/permission_message.cc b/chrome/common/extensions/permissions/permission_message.cc
index 33bf9815ebafbf2a898ca873efb29b79c952da8f..c17b4ff81f3b53f797b3c526a46e177bc44cfec5 100644
--- a/chrome/common/extensions/permissions/permission_message.cc
+++ b/chrome/common/extensions/permissions/permission_message.cc
@@ -16,39 +16,54 @@ namespace extensions {
// static
PermissionMessage PermissionMessage::CreateFromHostList(
- const std::set<std::string>& hosts) {
+ const std::set<std::string>& hosts, bool details_only) {
std::vector<std::string> host_list(hosts.begin(), hosts.end());
DCHECK_GT(host_list.size(), 0UL);
ID message_id;
string16 message;
- switch (host_list.size()) {
- case 1:
- message_id = kHosts1;
- message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_1_HOST,
- UTF8ToUTF16(host_list[0]));
- break;
- case 2:
- message_id = kHosts2;
- message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_2_HOSTS,
- UTF8ToUTF16(host_list[0]),
- UTF8ToUTF16(host_list[1]));
- break;
- case 3:
- message_id = kHosts3;
- message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_3_HOSTS,
- UTF8ToUTF16(host_list[0]),
- UTF8ToUTF16(host_list[1]),
- UTF8ToUTF16(host_list[2]));
- break;
- default:
- message_id = kHosts4OrMore;
- message = l10n_util::GetStringFUTF16(
- IDS_EXTENSION_PROMPT_WARNING_4_OR_MORE_HOSTS,
- UTF8ToUTF16(host_list[0]),
- UTF8ToUTF16(host_list[1]),
- base::IntToString16(hosts.size() - 2));
- break;
+ if (details_only) {
+ if (host_list.size() < 4)
+ return PermissionMessage(kHosts1, string16());
+
+ message_id = kHosts4OrMore;
+ for (size_t i = 0; i < host_list.size(); ++i) {
+ if (i > 0)
+ message += ASCIIToUTF16("\n");
+ message += l10n_util::GetStringFUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_HOST_LIST_ENTRY,
+ UTF8ToUTF16(host_list[i]));
+ }
+ } else {
+ switch (host_list.size()) {
+ case 1:
+ message_id = kHosts1;
+ message = l10n_util::GetStringFUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_1_HOST,
+ UTF8ToUTF16(host_list[0]));
+ break;
+ case 2:
+ message_id = kHosts2;
+ message = l10n_util::GetStringFUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_2_HOSTS,
+ UTF8ToUTF16(host_list[0]),
+ UTF8ToUTF16(host_list[1]));
+ break;
+ case 3:
+ message_id = kHosts3;
+ message = l10n_util::GetStringFUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_3_HOSTS,
+ UTF8ToUTF16(host_list[0]),
+ UTF8ToUTF16(host_list[1]),
+ UTF8ToUTF16(host_list[2]));
+ break;
+ default:
+ message_id = kHosts4OrMore;
+ message = l10n_util::GetStringFUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_4_OR_MORE_HOSTS,
+ base::IntToString16(host_list.size()));
+ break;
+ }
}
return PermissionMessage(message_id, message);

Powered by Google App Engine
This is Rietveld 408576698