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

Unified Diff: chrome/common/extensions/permissions/socket_permission.cc

Issue 23703008: Add network-status socket permission. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/permissions/socket_permission.cc
diff --git a/chrome/common/extensions/permissions/socket_permission.cc b/chrome/common/extensions/permissions/socket_permission.cc
index bb1dd3b9088c07cff9747dc02f74de4e4dbe9c24..d6802447de1fdd89980d38a62a22ade8c4e4579b 100644
--- a/chrome/common/extensions/permissions/socket_permission.cc
+++ b/chrome/common/extensions/permissions/socket_permission.cc
@@ -30,14 +30,15 @@ PermissionMessages SocketPermission::GetMessages() const {
AddSpecificHostMessage(result);
AddSubdomainHostMessage(result);
}
+ AddNetworkListMessage(result);
return result;
}
-bool SocketPermission::AddAnyHostMessage(PermissionMessages& messages)
- const {
+bool SocketPermission::AddAnyHostMessage(PermissionMessages& messages) const {
std::set<SocketPermissionData>::const_iterator i;
for (i = data_set_.begin(); i != data_set_.end(); ++i) {
- if (i->GetHostType() == SocketPermissionData::ANY_HOST) {
+ if (i->IsAddressBoundType() &&
+ i->GetHostType() == SocketPermissionData::ANY_HOST) {
messages.push_back(PermissionMessage(
PermissionMessage::kSocketAnyHost,
l10n_util::GetStringUTF16(
@@ -48,8 +49,8 @@ bool SocketPermission::AddAnyHostMessage(PermissionMessages& messages)
return false;
}
-void SocketPermission::AddSubdomainHostMessage(PermissionMessages& messages)
- const {
+void SocketPermission::AddSubdomainHostMessage(
+ PermissionMessages& messages) const {
std::set<string16> domains;
std::set<SocketPermissionData>::const_iterator i;
for (i = data_set_.begin(); i != data_set_.end(); ++i) {
@@ -70,8 +71,8 @@ void SocketPermission::AddSubdomainHostMessage(PermissionMessages& messages)
}
}
-void SocketPermission::AddSpecificHostMessage(PermissionMessages& messages)
- const {
+void SocketPermission::AddSpecificHostMessage(
+ PermissionMessages& messages) const {
std::set<string16> hostnames;
std::set<SocketPermissionData>::const_iterator i;
for (i = data_set_.begin(); i != data_set_.end(); ++i) {
@@ -92,4 +93,17 @@ void SocketPermission::AddSpecificHostMessage(PermissionMessages& messages)
}
}
+void SocketPermission::AddNetworkListMessage(
+ PermissionMessages& messages) const {
+ std::set<SocketPermissionData>::const_iterator i;
+ for (i = data_set_.begin(); i != data_set_.end(); ++i) {
+ if (i->pattern().type == content::SocketPermissionRequest::NETWORK_STATE) {
+ messages.push_back(PermissionMessage(
+ PermissionMessage::kNetworkState,
yzshen1 2013/09/06 21:30:06 wrong indent.
Sergey Ulanov 2013/09/09 18:28:28 Done. Also fixed indent in couple of other places
+ l10n_util::GetStringUTF16(
+ IDS_EXTENSION_PROMPT_WARNING_NETWORK_STATE)));
+ }
+ }
+}
+
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698