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