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
3 // found in the LICENSE file.
5 #include "chrome/common/extensions/permissions/permission_message.h"
7 #include "base/string_number_conversions.h"
8 #include "base/utf_string_conversions.h"
9 #include "grit/generated_resources.h"
10 #include "ui/base/l10n/l10n_util.h"
12 namespace extensions
{
18 PermissionMessage
PermissionMessage::CreateFromHostList(
19 const std::set
<std::string
>& hosts
) {
20 std::vector
<std::string
> host_list(hosts
.begin(), hosts
.end());
21 DCHECK_GT(host_list
.size(), 0UL);
25 switch (host_list
.size()) {
28 message
= l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_1_HOST
,
29 UTF8ToUTF16(host_list
[0]));
33 message
= l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_2_HOSTS
,
34 UTF8ToUTF16(host_list
[0]),
35 UTF8ToUTF16(host_list
[1]));
39 message
= l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_3_HOSTS
,
40 UTF8ToUTF16(host_list
[0]),
41 UTF8ToUTF16(host_list
[1]),
42 UTF8ToUTF16(host_list
[2]));
45 message_id
= kHosts4OrMore
;
46 message
= l10n_util::GetStringFUTF16(
47 IDS_EXTENSION_PROMPT_WARNING_4_OR_MORE_HOSTS
,
48 UTF8ToUTF16(host_list
[0]),
49 UTF8ToUTF16(host_list
[1]),
50 base::IntToString16(hosts
.size() - 2));
54 return PermissionMessage(message_id
, message
);
57 PermissionMessage::PermissionMessage(
58 PermissionMessage::ID id
, const string16
& message
)
59 : id_(id
), message_(message
) {
62 PermissionMessage::~PermissionMessage() {}
64 } // namespace extensions