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

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

Issue 2881673002: Avoid heap allocations in IPAddress (Closed)
Patch Set: Done 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_server_socket_message_filter.cc
diff --git a/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc b/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc
index 50484811508e190b6a908ebb24f27012f7c845b7..795daa8fc7ee269622b3ab8efaac649b20c30b61 100644
--- a/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc
+++ b/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc
@@ -9,6 +9,7 @@
#include "base/bind.h"
#include "base/bind_helpers.h"
+#include "base/containers/stack_container.h"
#include "base/logging.h"
#include "build/build_config.h"
#include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h"
@@ -174,7 +175,7 @@ void PepperTCPServerSocketMessageFilter::DoListen(
int32_t backlog) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
- std::vector<uint8_t> address;
+ base::StackVector<uint8_t, 16> address;
uint16_t port;
if (state_ != STATE_BEFORE_LISTENING ||
!NetAddressPrivateImpl::NetAddressToIPEndPoint(addr, &address, &port)) {
@@ -188,7 +189,8 @@ void PepperTCPServerSocketMessageFilter::DoListen(
socket_.reset(new net::TCPSocket(NULL, NULL, net::NetLogSource()));
int net_result = net::OK;
do {
- net::IPEndPoint ip_end_point(net::IPAddress(address), port);
+ net::IPEndPoint ip_end_point(
+ net::IPAddress(address->data(), address->size()), port);
net_result = socket_->Open(ip_end_point.GetFamily());
if (net_result != net::OK)
break;

Powered by Google App Engine
This is Rietveld 408576698