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

Unified Diff: content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc

Issue 2881673002: Avoid heap allocations in IPAddress (Closed)
Patch Set: Fix Assign Created 3 years, 7 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: content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc
diff --git a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc
index b91089d347143cf8fc6627041a0c14e444baa184..4f3b59bc36c5fa392ad06b44e6bd4cc8bcf4bc7d 100644
--- a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc
+++ b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc
@@ -585,14 +585,15 @@ void PepperTCPSocketMessageFilter::DoBind(
int pp_result = PP_OK;
do {
- std::vector<uint8_t> address;
+ net::IPAddressBytes address;
uint16_t port;
if (!NetAddressPrivateImpl::NetAddressToIPEndPoint(
net_addr, &address, &port)) {
pp_result = PP_ERROR_ADDRESS_INVALID;
break;
}
- net::IPEndPoint bind_addr(net::IPAddress(address), port);
+ net::IPEndPoint bind_addr(net::IPAddress(address.data(), address.size()),
+ port);
DCHECK(!socket_->IsValid());
pp_result = NetErrorToPepperError(socket_->Open(bind_addr.GetFamily()));
@@ -670,7 +671,7 @@ void PepperTCPSocketMessageFilter::DoConnectWithNetAddress(
state_.SetPendingTransition(TCPSocketState::CONNECT);
- std::vector<uint8_t> address;
+ net::IPAddressBytes address;
uint16_t port;
if (!NetAddressPrivateImpl::NetAddressToIPEndPoint(
net_addr, &address, &port)) {
@@ -682,7 +683,8 @@ void PepperTCPSocketMessageFilter::DoConnectWithNetAddress(
// Copy the single IPEndPoint to address_list_.
address_index_ = 0;
address_list_.clear();
- address_list_.push_back(net::IPEndPoint(net::IPAddress(address), port));
+ address_list_.push_back(
+ net::IPEndPoint(net::IPAddress(address.data(), address.size()), port));
StartConnect(context);
}

Powered by Google App Engine
This is Rietveld 408576698