| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/common/extensions/permissions/permission_message.h" | 5 #include "chrome/common/extensions/permissions/permission_message.h" |
| 6 | 6 |
| 7 #include "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
| 9 #include "grit/generated_resources.h" | 9 #include "grit/generated_resources.h" |
| 10 #include "ui/base/l10n/l10n_util.h" | 10 #include "ui/base/l10n/l10n_util.h" |
| 11 | 11 |
| 12 namespace extensions { | 12 namespace extensions { |
| 13 // | 13 // |
| 14 // PermissionMessage | 14 // PermissionMessage |
| 15 // | 15 // |
| 16 | 16 |
| 17 // static | 17 // static |
| 18 PermissionMessage PermissionMessage::CreateFromHostList( | 18 PermissionMessage PermissionMessage::CreateFromHostList( |
| 19 const std::set<std::string>& hosts) { | 19 const std::set<std::string>& hosts, bool details_only) { |
| 20 std::vector<std::string> host_list(hosts.begin(), hosts.end()); | 20 std::vector<std::string> host_list(hosts.begin(), hosts.end()); |
| 21 DCHECK_GT(host_list.size(), 0UL); | 21 DCHECK_GT(host_list.size(), 0UL); |
| 22 ID message_id; | 22 ID message_id; |
| 23 string16 message; | 23 string16 message; |
| 24 | 24 |
| 25 switch (host_list.size()) { | 25 if (details_only) { |
| 26 case 1: | 26 if (host_list.size() < 4) |
| 27 message_id = kHosts1; | 27 return PermissionMessage(kHosts1, string16()); |
| 28 message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_1_HOST, | 28 |
| 29 UTF8ToUTF16(host_list[0])); | 29 message_id = kHosts4OrMore; |
| 30 break; | 30 for (size_t i = 0; i < host_list.size(); ++i) { |
| 31 case 2: | 31 if (i > 0) |
| 32 message_id = kHosts2; | 32 message += ASCIIToUTF16("\n"); |
| 33 message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_2_HOSTS, | 33 message += l10n_util::GetStringFUTF16( |
| 34 UTF8ToUTF16(host_list[0]), | 34 IDS_EXTENSION_PROMPT_WARNING_HOST_LIST_ENTRY, |
| 35 UTF8ToUTF16(host_list[1])); | 35 UTF8ToUTF16(host_list[i])); |
| 36 break; | 36 } |
| 37 case 3: | 37 } else { |
| 38 message_id = kHosts3; | 38 switch (host_list.size()) { |
| 39 message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_3_HOSTS, | 39 case 1: |
| 40 UTF8ToUTF16(host_list[0]), | 40 message_id = kHosts1; |
| 41 UTF8ToUTF16(host_list[1]), | 41 message = l10n_util::GetStringFUTF16( |
| 42 UTF8ToUTF16(host_list[2])); | 42 IDS_EXTENSION_PROMPT_WARNING_1_HOST, |
| 43 break; | 43 UTF8ToUTF16(host_list[0])); |
| 44 default: | 44 break; |
| 45 message_id = kHosts4OrMore; | 45 case 2: |
| 46 message = l10n_util::GetStringFUTF16( | 46 message_id = kHosts2; |
| 47 IDS_EXTENSION_PROMPT_WARNING_4_OR_MORE_HOSTS, | 47 message = l10n_util::GetStringFUTF16( |
| 48 UTF8ToUTF16(host_list[0]), | 48 IDS_EXTENSION_PROMPT_WARNING_2_HOSTS, |
| 49 UTF8ToUTF16(host_list[1]), | 49 UTF8ToUTF16(host_list[0]), |
| 50 base::IntToString16(hosts.size() - 2)); | 50 UTF8ToUTF16(host_list[1])); |
| 51 break; | 51 break; |
| 52 case 3: |
| 53 message_id = kHosts3; |
| 54 message = l10n_util::GetStringFUTF16( |
| 55 IDS_EXTENSION_PROMPT_WARNING_3_HOSTS, |
| 56 UTF8ToUTF16(host_list[0]), |
| 57 UTF8ToUTF16(host_list[1]), |
| 58 UTF8ToUTF16(host_list[2])); |
| 59 break; |
| 60 default: |
| 61 message_id = kHosts4OrMore; |
| 62 message = l10n_util::GetStringFUTF16( |
| 63 IDS_EXTENSION_PROMPT_WARNING_4_OR_MORE_HOSTS, |
| 64 base::IntToString16(host_list.size())); |
| 65 break; |
| 66 } |
| 52 } | 67 } |
| 53 | 68 |
| 54 return PermissionMessage(message_id, message); | 69 return PermissionMessage(message_id, message); |
| 55 } | 70 } |
| 56 | 71 |
| 57 PermissionMessage::PermissionMessage( | 72 PermissionMessage::PermissionMessage( |
| 58 PermissionMessage::ID id, const string16& message) | 73 PermissionMessage::ID id, const string16& message) |
| 59 : id_(id), message_(message) { | 74 : id_(id), message_(message) { |
| 60 } | 75 } |
| 61 | 76 |
| 62 PermissionMessage::~PermissionMessage() {} | 77 PermissionMessage::~PermissionMessage() {} |
| 63 | 78 |
| 64 } // namespace extensions | 79 } // namespace extensions |
| OLD | NEW |