Index: chrome/common/extensions/permissions/socket_permission_data.cc |
diff --git a/chrome/common/extensions/permissions/socket_permission_data.cc b/chrome/common/extensions/permissions/socket_permission_data.cc |
deleted file mode 100644 |
index b110cb50e6b1268b3d2c410c1e86c0409af1cf80..0000000000000000000000000000000000000000 |
--- a/chrome/common/extensions/permissions/socket_permission_data.cc |
+++ /dev/null |
@@ -1,159 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/common/extensions/permissions/socket_permission_data.h" |
- |
-#include <cstdlib> |
-#include <sstream> |
-#include <vector> |
- |
-#include "base/logging.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/strings/string_number_conversions.h" |
-#include "base/strings/string_split.h" |
-#include "base/strings/string_util.h" |
-#include "chrome/common/extensions/permissions/socket_permission.h" |
-#include "extensions/common/permissions/api_permission.h" |
-#include "url/url_canon.h" |
- |
-namespace { |
- |
-using content::SocketPermissionRequest; |
-using extensions::SocketPermissionData; |
- |
-const char kColon = ':'; |
-const char kInvalid[] = "invalid"; |
-const char kTCPConnect[] = "tcp-connect"; |
-const char kTCPListen[] = "tcp-listen"; |
-const char kUDPBind[] = "udp-bind"; |
-const char kUDPSendTo[] = "udp-send-to"; |
-const char kUDPMulticastMembership[] = "udp-multicast-membership"; |
-const char kResolveHost[] = "resolve-host"; |
-const char kResolveProxy[] = "resolve-proxy"; |
-const char kNetworkState[] = "network-state"; |
- |
-SocketPermissionRequest::OperationType StringToType(const std::string& s) { |
- if (s == kTCPConnect) |
- return SocketPermissionRequest::TCP_CONNECT; |
- if (s == kTCPListen) |
- return SocketPermissionRequest::TCP_LISTEN; |
- if (s == kUDPBind) |
- return SocketPermissionRequest::UDP_BIND; |
- if (s == kUDPSendTo) |
- return SocketPermissionRequest::UDP_SEND_TO; |
- if (s == kUDPMulticastMembership) |
- return SocketPermissionRequest::UDP_MULTICAST_MEMBERSHIP; |
- if (s == kResolveHost) |
- return SocketPermissionRequest::RESOLVE_HOST; |
- if (s == kResolveProxy) |
- return SocketPermissionRequest::RESOLVE_PROXY; |
- if (s == kNetworkState) |
- return SocketPermissionRequest::NETWORK_STATE; |
- return SocketPermissionRequest::NONE; |
-} |
- |
-const char* TypeToString(SocketPermissionRequest::OperationType type) { |
- switch (type) { |
- case SocketPermissionRequest::TCP_CONNECT: |
- return kTCPConnect; |
- case SocketPermissionRequest::TCP_LISTEN: |
- return kTCPListen; |
- case SocketPermissionRequest::UDP_BIND: |
- return kUDPBind; |
- case SocketPermissionRequest::UDP_SEND_TO: |
- return kUDPSendTo; |
- case SocketPermissionRequest::UDP_MULTICAST_MEMBERSHIP: |
- return kUDPMulticastMembership; |
- case SocketPermissionRequest::RESOLVE_HOST: |
- return kResolveHost; |
- case SocketPermissionRequest::RESOLVE_PROXY: |
- return kResolveProxy; |
- case SocketPermissionRequest::NETWORK_STATE: |
- return kNetworkState; |
- default: |
- return kInvalid; |
- } |
-} |
- |
-} // namespace |
- |
-namespace extensions { |
- |
-SocketPermissionData::SocketPermissionData() { } |
- |
-SocketPermissionData::~SocketPermissionData() { } |
- |
-bool SocketPermissionData::operator<(const SocketPermissionData& rhs) const { |
- return entry_ < rhs.entry_; |
-} |
- |
-bool SocketPermissionData::operator==(const SocketPermissionData& rhs) const { |
- return entry_ == rhs.entry_; |
-} |
- |
-bool SocketPermissionData::Check( |
- const APIPermission::CheckParam* param) const { |
- if (!param) |
- return false; |
- const SocketPermission::CheckParam& specific_param = |
- *static_cast<const SocketPermission::CheckParam*>(param); |
- const SocketPermissionRequest &request = specific_param.request; |
- |
- return entry_.Check(request); |
-} |
- |
-scoped_ptr<base::Value> SocketPermissionData::ToValue() const { |
- return scoped_ptr<base::Value>(new base::StringValue(GetAsString())); |
-} |
- |
-bool SocketPermissionData::FromValue(const base::Value* value) { |
- std::string spec; |
- if (!value->GetAsString(&spec)) |
- return false; |
- |
- return Parse(spec); |
-} |
- |
-SocketPermissionEntry& SocketPermissionData::entry() { |
- // Clear the spec because the caller could mutate |this|. |
- spec_.clear(); |
- return entry_; |
-} |
- |
-// TODO(ikarienator): Rewrite this method to support IPv6. |
-bool SocketPermissionData::Parse(const std::string& permission) { |
- Reset(); |
- |
- std::vector<std::string> tokens; |
- base::SplitStringDontTrim(permission, kColon, &tokens); |
- if (tokens.empty()) |
- return false; |
- |
- SocketPermissionRequest::OperationType type = StringToType(tokens[0]); |
- if (type == SocketPermissionRequest::NONE) |
- return false; |
- |
- tokens.erase(tokens.begin()); |
- return SocketPermissionEntry::ParseHostPattern(type, tokens, &entry_); |
-} |
- |
-const std::string& SocketPermissionData::GetAsString() const { |
- if (!spec_.empty()) |
- return spec_; |
- |
- spec_.reserve(64); |
- spec_.append(TypeToString(entry_.pattern().type)); |
- std::string pattern = entry_.GetHostPatternAsString(); |
- if (!pattern.empty()) { |
- spec_.append(1, kColon).append(pattern); |
- } |
- return spec_; |
-} |
- |
-void SocketPermissionData::Reset() { |
- entry_ = SocketPermissionEntry(); |
- spec_.clear(); |
-} |
- |
-} // namespace extensions |