| 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/socket_permission.h" | 5 #include "chrome/common/extensions/permissions/socket_permission.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 } | 34 } |
| 35 | 35 |
| 36 bool SocketPermission::AddAnyHostMessage(PermissionMessages& messages) | 36 bool SocketPermission::AddAnyHostMessage(PermissionMessages& messages) |
| 37 const { | 37 const { |
| 38 std::set<SocketPermissionData>::const_iterator i; | 38 std::set<SocketPermissionData>::const_iterator i; |
| 39 for (i = data_set_.begin(); i != data_set_.end(); ++i) { | 39 for (i = data_set_.begin(); i != data_set_.end(); ++i) { |
| 40 if (i->GetHostType() == SocketPermissionData::ANY_HOST) { | 40 if (i->GetHostType() == SocketPermissionData::ANY_HOST) { |
| 41 messages.push_back(PermissionMessage( | 41 messages.push_back(PermissionMessage( |
| 42 PermissionMessage::kSocketAnyHost, | 42 PermissionMessage::kSocketAnyHost, |
| 43 l10n_util::GetStringUTF16( | 43 l10n_util::GetStringUTF16( |
| 44 IDS_EXTENSION_PROMPT_WARNING_SOCKET_ANY_HOST))); | 44 IDS_EXTENSION_PROMPT_WARNING_SOCKET_ANY_HOST), |
| 45 string16())); |
| 45 return true; | 46 return true; |
| 46 } | 47 } |
| 47 } | 48 } |
| 48 return false; | 49 return false; |
| 49 } | 50 } |
| 50 | 51 |
| 51 void SocketPermission::AddSubdomainHostMessage(PermissionMessages& messages) | 52 void SocketPermission::AddSubdomainHostMessage(PermissionMessages& messages) |
| 52 const { | 53 const { |
| 53 std::set<string16> domains; | 54 std::set<string16> domains; |
| 54 std::set<SocketPermissionData>::const_iterator i; | 55 std::set<SocketPermissionData>::const_iterator i; |
| 55 for (i = data_set_.begin(); i != data_set_.end(); ++i) { | 56 for (i = data_set_.begin(); i != data_set_.end(); ++i) { |
| 56 if (i->GetHostType() == SocketPermissionData::HOSTS_IN_DOMAINS) | 57 if (i->GetHostType() == SocketPermissionData::HOSTS_IN_DOMAINS) |
| 57 domains.insert(UTF8ToUTF16(i->GetHost())); | 58 domains.insert(UTF8ToUTF16(i->GetHost())); |
| 58 } | 59 } |
| 59 if (!domains.empty()) { | 60 if (!domains.empty()) { |
| 60 int id = (domains.size() == 1) ? | 61 int id = (domains.size() == 1) ? |
| 61 IDS_EXTENSION_PROMPT_WARNING_SOCKET_HOSTS_IN_DOMAIN : | 62 IDS_EXTENSION_PROMPT_WARNING_SOCKET_HOSTS_IN_DOMAIN : |
| 62 IDS_EXTENSION_PROMPT_WARNING_SOCKET_HOSTS_IN_DOMAINS; | 63 IDS_EXTENSION_PROMPT_WARNING_SOCKET_HOSTS_IN_DOMAINS; |
| 63 messages.push_back(PermissionMessage( | 64 messages.push_back(PermissionMessage( |
| 64 PermissionMessage::kSocketDomainHosts, | 65 PermissionMessage::kSocketDomainHosts, |
| 65 l10n_util::GetStringFUTF16( | 66 l10n_util::GetStringFUTF16( |
| 66 id, | 67 id, |
| 67 JoinString( | 68 JoinString( |
| 68 std::vector<string16>( | 69 std::vector<string16>( |
| 69 domains.begin(), domains.end()), ' ')))); | 70 domains.begin(), domains.end()), ' ')), |
| 71 string16())); |
| 70 } | 72 } |
| 71 } | 73 } |
| 72 | 74 |
| 73 void SocketPermission::AddSpecificHostMessage(PermissionMessages& messages) | 75 void SocketPermission::AddSpecificHostMessage(PermissionMessages& messages) |
| 74 const { | 76 const { |
| 75 std::set<string16> hostnames; | 77 std::set<string16> hostnames; |
| 76 std::set<SocketPermissionData>::const_iterator i; | 78 std::set<SocketPermissionData>::const_iterator i; |
| 77 for (i = data_set_.begin(); i != data_set_.end(); ++i) { | 79 for (i = data_set_.begin(); i != data_set_.end(); ++i) { |
| 78 if (i->GetHostType() == SocketPermissionData::SPECIFIC_HOSTS) | 80 if (i->GetHostType() == SocketPermissionData::SPECIFIC_HOSTS) |
| 79 hostnames.insert(UTF8ToUTF16(i->GetHost())); | 81 hostnames.insert(UTF8ToUTF16(i->GetHost())); |
| 80 } | 82 } |
| 81 if (!hostnames.empty()) { | 83 if (!hostnames.empty()) { |
| 82 int id = (hostnames.size() == 1) ? | 84 int id = (hostnames.size() == 1) ? |
| 83 IDS_EXTENSION_PROMPT_WARNING_SOCKET_SPECIFIC_HOST : | 85 IDS_EXTENSION_PROMPT_WARNING_SOCKET_SPECIFIC_HOST : |
| 84 IDS_EXTENSION_PROMPT_WARNING_SOCKET_SPECIFIC_HOSTS; | 86 IDS_EXTENSION_PROMPT_WARNING_SOCKET_SPECIFIC_HOSTS; |
| 85 messages.push_back(PermissionMessage( | 87 messages.push_back(PermissionMessage( |
| 86 PermissionMessage::kSocketSpecificHosts, | 88 PermissionMessage::kSocketSpecificHosts, |
| 87 l10n_util::GetStringFUTF16( | 89 l10n_util::GetStringFUTF16( |
| 88 id, | 90 id, |
| 89 JoinString( | 91 JoinString( |
| 90 std::vector<string16>( | 92 std::vector<string16>( |
| 91 hostnames.begin(), hostnames.end()), ' ')))); | 93 hostnames.begin(), hostnames.end()), ' ')), |
| 94 string16())); |
| 92 } | 95 } |
| 93 } | 96 } |
| 94 | 97 |
| 95 } // namespace extensions | 98 } // namespace extensions |
| OLD | NEW |