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

Side by Side Diff: chrome/common/extensions/permissions/permission_set.cc

Issue 12093036: Move Extension Location and Type enums to Manifest, and move InstallWarning to its own file. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: jyasskin + forward declaring Created 7 years, 10 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 | Annotate | Revision Log
OLDNEW
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_set.h" 5 #include "chrome/common/extensions/permissions/permission_set.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <iterator> 8 #include <iterator>
9 #include <string> 9 #include <string>
10 10
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 260
261 return false; 261 return false;
262 } 262 }
263 263
264 std::set<std::string> 264 std::set<std::string>
265 PermissionSet::GetDistinctHostsForDisplay() const { 265 PermissionSet::GetDistinctHostsForDisplay() const {
266 return GetDistinctHosts(effective_hosts_, true, true); 266 return GetDistinctHosts(effective_hosts_, true, true);
267 } 267 }
268 268
269 PermissionMessages PermissionSet::GetPermissionMessages( 269 PermissionMessages PermissionSet::GetPermissionMessages(
270 Extension::Type extension_type) const { 270 Manifest::Type extension_type) const {
271 PermissionMessages messages; 271 PermissionMessages messages;
272 272
273 if (HasEffectiveFullAccess()) { 273 if (HasEffectiveFullAccess()) {
274 messages.push_back(PermissionMessage( 274 messages.push_back(PermissionMessage(
275 PermissionMessage::kFullAccess, 275 PermissionMessage::kFullAccess,
276 l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS))); 276 l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS)));
277 return messages; 277 return messages;
278 } 278 }
279 279
280 // Since platform apps always use isolated storage, they can't (silently) 280 // Since platform apps always use isolated storage, they can't (silently)
281 // access user data on other domains, so there's no need to prompt. 281 // access user data on other domains, so there's no need to prompt.
282 if (extension_type != Extension::TYPE_PLATFORM_APP) { 282 if (extension_type != Manifest::TYPE_PLATFORM_APP) {
283 if (HasEffectiveAccessToAllHosts()) { 283 if (HasEffectiveAccessToAllHosts()) {
284 messages.push_back(PermissionMessage( 284 messages.push_back(PermissionMessage(
285 PermissionMessage::kHostsAll, 285 PermissionMessage::kHostsAll,
286 l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS))); 286 l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS)));
287 } else { 287 } else {
288 std::set<std::string> hosts = GetDistinctHostsForDisplay(); 288 std::set<std::string> hosts = GetDistinctHostsForDisplay();
289 if (!hosts.empty()) 289 if (!hosts.empty())
290 messages.push_back(PermissionMessage::CreateFromHostList(hosts)); 290 messages.push_back(PermissionMessage::CreateFromHostList(hosts));
291 } 291 }
292 } 292 }
293 293
294 std::set<PermissionMessage> simple_msgs = 294 std::set<PermissionMessage> simple_msgs =
295 GetSimplePermissionMessages(); 295 GetSimplePermissionMessages();
296 messages.insert(messages.end(), simple_msgs.begin(), simple_msgs.end()); 296 messages.insert(messages.end(), simple_msgs.begin(), simple_msgs.end());
297 297
298 return messages; 298 return messages;
299 } 299 }
300 300
301 std::vector<string16> PermissionSet::GetWarningMessages( 301 std::vector<string16> PermissionSet::GetWarningMessages(
302 Extension::Type extension_type) const { 302 Manifest::Type extension_type) const {
303 std::vector<string16> messages; 303 std::vector<string16> messages;
304 PermissionMessages permissions = GetPermissionMessages(extension_type); 304 PermissionMessages permissions = GetPermissionMessages(extension_type);
305 305
306 bool audio_capture = false; 306 bool audio_capture = false;
307 bool video_capture = false; 307 bool video_capture = false;
308 for (PermissionMessages::const_iterator i = permissions.begin(); 308 for (PermissionMessages::const_iterator i = permissions.begin();
309 i != permissions.end(); ++i) { 309 i != permissions.end(); ++i) {
310 if (i->id() == PermissionMessage::kAudioCapture) 310 if (i->id() == PermissionMessage::kAudioCapture)
311 audio_capture = true; 311 audio_capture = true;
312 if (i->id() == PermissionMessage::kVideoCapture) 312 if (i->id() == PermissionMessage::kVideoCapture)
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
606 std::set<std::string> new_hosts_only; 606 std::set<std::string> new_hosts_only;
607 607
608 std::set_difference(new_hosts_set.begin(), new_hosts_set.end(), 608 std::set_difference(new_hosts_set.begin(), new_hosts_set.end(),
609 old_hosts_set.begin(), old_hosts_set.end(), 609 old_hosts_set.begin(), old_hosts_set.end(),
610 std::inserter(new_hosts_only, new_hosts_only.begin())); 610 std::inserter(new_hosts_only, new_hosts_only.begin()));
611 611
612 return !new_hosts_only.empty(); 612 return !new_hosts_only.empty();
613 } 613 }
614 614
615 } // namespace extensions 615 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698