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

Side by Side Diff: extensions/common/permissions/permission_message_util.cc

Issue 410023002: Show read-only messages for non-interact non-desktop Automation extensions (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: rebase Created 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "extensions/common/permissions/permission_message_util.h" 5 #include "extensions/common/permissions/permission_message_util.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 "extensions/common/permissions/permission_message.h" 9 #include "extensions/common/permissions/permission_message.h"
10 #include "extensions/common/permissions/permission_set.h" 10 #include "extensions/common/permissions/permission_set.h"
(...skipping 19 matching lines...) Expand all
30 return b != "com"; 30 return b != "com";
31 if (a == "org") 31 if (a == "org")
32 return b != "com" && b != "net"; 32 return b != "com" && b != "net";
33 return false; 33 return false;
34 } 34 }
35 35
36 } // namespace 36 } // namespace
37 37
38 namespace permission_message_util { 38 namespace permission_message_util {
39 39
40 PermissionMessage CreateFromHostList(const std::set<std::string>& hosts) { 40 PermissionMessage CreateFromHostList(const std::set<std::string>& hosts,
41 bool read_only) {
not at google - send to devlin 2014/07/23 01:56:59 bad news: this is all going to dramatically change
aboxhall 2014/07/24 17:32:39 Acknowledged.
41 std::vector<std::string> host_list(hosts.begin(), hosts.end()); 42 std::vector<std::string> host_list(hosts.begin(), hosts.end());
42 DCHECK(host_list.size()); 43 DCHECK(host_list.size());
43 PermissionMessage::ID message_id; 44 PermissionMessage::ID message_id;
44 base::string16 message; 45 base::string16 message;
45 base::string16 details; 46 base::string16 details;
46 47
47 switch (host_list.size()) { 48 switch (host_list.size()) {
48 case 1: 49 case 1:
49 message_id = PermissionMessage::kHosts1; 50 message_id = read_only ? PermissionMessage::kHosts1ReadOnly
50 message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_1_HOST, 51 : PermissionMessage::kHosts1;
51 base::UTF8ToUTF16(host_list[0])); 52 message = l10n_util::GetStringFUTF16(
53 read_only ? IDS_EXTENSION_PROMPT_WARNING_1_HOST_READ_ONLY
54 : IDS_EXTENSION_PROMPT_WARNING_1_HOST,
55 base::UTF8ToUTF16(host_list[0]));
52 break; 56 break;
53 case 2: 57 case 2:
54 message_id = PermissionMessage::kHosts2; 58 message_id = read_only ? PermissionMessage::kHosts2ReadOnly
55 message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_2_HOSTS, 59 : PermissionMessage::kHosts2;
56 base::UTF8ToUTF16(host_list[0]), 60 message = l10n_util::GetStringFUTF16(
57 base::UTF8ToUTF16(host_list[1])); 61 read_only ? IDS_EXTENSION_PROMPT_WARNING_2_HOSTS_READ_ONLY
62 : IDS_EXTENSION_PROMPT_WARNING_2_HOSTS,
63 base::UTF8ToUTF16(host_list[0]),
64 base::UTF8ToUTF16(host_list[1]));
58 break; 65 break;
59 case 3: 66 case 3:
60 message_id = PermissionMessage::kHosts3; 67 message_id = read_only ? PermissionMessage::kHosts3ReadOnly
61 message = l10n_util::GetStringFUTF16(IDS_EXTENSION_PROMPT_WARNING_3_HOSTS, 68 : PermissionMessage::kHosts3;
62 base::UTF8ToUTF16(host_list[0]), 69 message = l10n_util::GetStringFUTF16(
63 base::UTF8ToUTF16(host_list[1]), 70 read_only ? IDS_EXTENSION_PROMPT_WARNING_3_HOSTS
64 base::UTF8ToUTF16(host_list[2])); 71 : IDS_EXTENSION_PROMPT_WARNING_3_HOSTS,
72 base::UTF8ToUTF16(host_list[0]),
73 base::UTF8ToUTF16(host_list[1]),
74 base::UTF8ToUTF16(host_list[2]));
65 break; 75 break;
66 default: 76 default:
67 message_id = PermissionMessage::kHosts4OrMore; 77 message_id = read_only ? PermissionMessage::kHosts4OrMoreReadOnly
78 : PermissionMessage::kHosts4OrMore;
68 79
69 const int kRetainedFilesMessageIDs[6] = { 80 static const int kNumMessageIDs = 6;
81 const int kRetainedFilesMessageIDs[kNumMessageIDs] = {
70 IDS_EXTENSION_PROMPT_WARNING_HOSTS_DEFAULT, 82 IDS_EXTENSION_PROMPT_WARNING_HOSTS_DEFAULT,
71 IDS_EXTENSION_PROMPT_WARNING_HOST_SINGULAR, 83 IDS_EXTENSION_PROMPT_WARNING_HOST_SINGULAR,
72 IDS_EXTENSION_PROMPT_WARNING_HOSTS_ZERO, 84 IDS_EXTENSION_PROMPT_WARNING_HOSTS_ZERO,
73 IDS_EXTENSION_PROMPT_WARNING_HOSTS_TWO, 85 IDS_EXTENSION_PROMPT_WARNING_HOSTS_TWO,
74 IDS_EXTENSION_PROMPT_WARNING_HOSTS_FEW, 86 IDS_EXTENSION_PROMPT_WARNING_HOSTS_FEW,
75 IDS_EXTENSION_PROMPT_WARNING_HOSTS_MANY, }; 87 IDS_EXTENSION_PROMPT_WARNING_HOSTS_MANY,
88 };
89 const int kReadOnlyRetainedFilesMessageIDs[kNumMessageIDs] = {
90 IDS_EXTENSION_PROMPT_WARNING_HOSTS_DEFAULT_READ_ONLY,
91 IDS_EXTENSION_PROMPT_WARNING_HOST_SINGULAR_READ_ONLY,
92 IDS_EXTENSION_PROMPT_WARNING_HOSTS_ZERO_READ_ONLY,
93 IDS_EXTENSION_PROMPT_WARNING_HOSTS_TWO_READ_ONLY,
94 IDS_EXTENSION_PROMPT_WARNING_HOSTS_FEW_READ_ONLY,
95 IDS_EXTENSION_PROMPT_WARNING_HOSTS_MANY_READ_ONLY,
96 };
97
76 std::vector<int> message_ids; 98 std::vector<int> message_ids;
77 for (size_t i = 0; i < arraysize(kRetainedFilesMessageIDs); i++) { 99 for (size_t i = 0; i < kNumMessageIDs; i++) {
78 message_ids.push_back(kRetainedFilesMessageIDs[i]); 100 if (read_only) {
101 message_ids.push_back(kReadOnlyRetainedFilesMessageIDs[i]);
102 } else {
103 message_ids.push_back(kRetainedFilesMessageIDs[i]);
104 }
79 } 105 }
80 message = l10n_util::GetPluralStringFUTF16(message_ids, host_list.size()); 106 message = l10n_util::GetPluralStringFUTF16(message_ids, host_list.size());
81 107
82 for (size_t i = 0; i < host_list.size(); ++i) { 108 for (size_t i = 0; i < host_list.size(); ++i) {
83 if (i > 0) 109 if (i > 0)
84 details += base::ASCIIToUTF16("\n"); 110 details += base::ASCIIToUTF16("\n");
85 details += l10n_util::GetStringFUTF16( 111 details += l10n_util::GetStringFUTF16(
86 IDS_EXTENSION_PROMPT_WARNING_HOST_LIST_ENTRY, 112 IDS_EXTENSION_PROMPT_WARNING_HOST_LIST_ENTRY,
87 base::UTF8ToUTF16(host_list[i])); 113 base::UTF8ToUTF16(host_list[i]));
88 } 114 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 // Build up the final vector by concatenating hosts and RCDs. 167 // Build up the final vector by concatenating hosts and RCDs.
142 std::set<std::string> distinct_hosts; 168 std::set<std::string> distinct_hosts;
143 for (HostVector::iterator it = hosts_best_rcd.begin(); 169 for (HostVector::iterator it = hosts_best_rcd.begin();
144 it != hosts_best_rcd.end(); 170 it != hosts_best_rcd.end();
145 ++it) 171 ++it)
146 distinct_hosts.insert(it->first + it->second); 172 distinct_hosts.insert(it->first + it->second);
147 return distinct_hosts; 173 return distinct_hosts;
148 } 174 }
149 175
150 } // namespace permission_message_util 176 } // namespace permission_message_util
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698