| 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) { |
| 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 string16 details; |
| 24 | 25 |
| 25 switch (host_list.size()) { | 26 switch (host_list.size()) { |
| 26 case 1: | 27 case 1: |
| 27 message_id = kHosts1; | 28 message_id = kHosts1; |
| 28 message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_1_HOST, | 29 message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_1_HOST, |
| 29 UTF8ToUTF16(host_list[0])); | 30 UTF8ToUTF16(host_list[0])); |
| 30 break; | 31 break; |
| 31 case 2: | 32 case 2: |
| 32 message_id = kHosts2; | 33 message_id = kHosts2; |
| 33 message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_2_HOSTS, | 34 message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_2_HOSTS, |
| 34 UTF8ToUTF16(host_list[0]), | 35 UTF8ToUTF16(host_list[0]), |
| 35 UTF8ToUTF16(host_list[1])); | 36 UTF8ToUTF16(host_list[1])); |
| 36 break; | 37 break; |
| 37 case 3: | 38 case 3: |
| 38 message_id = kHosts3; | 39 message_id = kHosts3; |
| 39 message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_3_HOSTS, | 40 message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_3_HOSTS, |
| 40 UTF8ToUTF16(host_list[0]), | 41 UTF8ToUTF16(host_list[0]), |
| 41 UTF8ToUTF16(host_list[1]), | 42 UTF8ToUTF16(host_list[1]), |
| 42 UTF8ToUTF16(host_list[2])); | 43 UTF8ToUTF16(host_list[2])); |
| 43 break; | 44 break; |
| 44 default: | 45 default: |
| 45 message_id = kHosts4OrMore; | 46 message_id = kHosts4OrMore; |
| 46 message = l10n_util::GetStringFUTF16( | 47 |
| 47 IDS_EXTENSION_PROMPT_WARNING_4_OR_MORE_HOSTS, | 48 #if defined(TOOLKIT_VIEWS) |
| 48 UTF8ToUTF16(host_list[0]), | 49 message = l10n_util::GetStringFUTF16( |
| 49 UTF8ToUTF16(host_list[1]), | 50 IDS_EXTENSION_PROMPT_WARNING_HOSTS, |
| 50 base::IntToString16(hosts.size() - 2)); | 51 base::IntToString16(host_list.size())); |
| 51 break; | 52 |
| 53 for (size_t i = 0; i < host_list.size(); ++i) { |
| 54 if (i > 0) |
| 55 details += ASCIIToUTF16("\n"); |
| 56 details += l10n_util::GetStringFUTF16( |
| 57 IDS_EXTENSION_PROMPT_WARNING_HOST_LIST_ENTRY, |
| 58 UTF8ToUTF16(host_list[i])); |
| 59 } |
| 60 #else |
| 61 // TODO(finnur): Remove once all platforms support expandible sections. |
| 62 message = l10n_util::GetStringFUTF16( |
| 63 IDS_EXTENSION_PROMPT_WARNING_4_OR_MORE_HOSTS, |
| 64 UTF8ToUTF16(host_list[0]), |
| 65 UTF8ToUTF16(host_list[1]), |
| 66 base::IntToString16(hosts.size() - 2)); |
| 67 break; |
| 68 #endif |
| 52 } | 69 } |
| 53 | 70 |
| 54 return PermissionMessage(message_id, message); | 71 return PermissionMessage(message_id, message, details); |
| 55 } | 72 } |
| 56 | 73 |
| 57 PermissionMessage::PermissionMessage( | 74 PermissionMessage::PermissionMessage( |
| 58 PermissionMessage::ID id, const string16& message) | 75 PermissionMessage::ID id, const string16& message, const string16& details) |
| 59 : id_(id), message_(message) { | 76 : id_(id), |
| 77 message_(message), |
| 78 details_(details) { |
| 60 } | 79 } |
| 61 | 80 |
| 62 PermissionMessage::~PermissionMessage() {} | 81 PermissionMessage::~PermissionMessage() {} |
| 63 | 82 |
| 64 } // namespace extensions | 83 } // namespace extensions |
| OLD | NEW |