Index: content/browser/renderer_host/pepper/pepper_udp_socket_message_filter.cc |
diff --git a/content/browser/renderer_host/pepper/pepper_udp_socket_message_filter.cc b/content/browser/renderer_host/pepper/pepper_udp_socket_message_filter.cc |
index 08491b97b9bf4b711945dc721d51a8e4ed23ca76..b7ed3149ae85e93657f3aacb9748c6bc6786f55a 100644 |
--- a/content/browser/renderer_host/pepper/pepper_udp_socket_message_filter.cc |
+++ b/content/browser/renderer_host/pepper/pepper_udp_socket_message_filter.cc |
@@ -8,6 +8,7 @@ |
#include <utility> |
#include "base/compiler_specific.h" |
+#include "base/containers/stack_container.h" |
#include "base/logging.h" |
#include "base/metrics/histogram_macros.h" |
#include "build/build_config.h" |
@@ -364,13 +365,14 @@ int32_t PepperUDPSocketMessageFilter::OnMsgJoinGroup( |
if (!socket_) |
return PP_ERROR_FAILED; |
- std::vector<uint8_t> group; |
+ base::StackVector<uint8_t, 16> group; |
uint16_t port; |
if (!NetAddressPrivateImpl::NetAddressToIPEndPoint(addr, &group, &port)) |
return PP_ERROR_ADDRESS_INVALID; |
- return NetErrorToPepperError(socket_->JoinGroup(net::IPAddress(group))); |
+ return NetErrorToPepperError( |
+ socket_->JoinGroup(net::IPAddress(group->data(), group->size()))); |
} |
int32_t PepperUDPSocketMessageFilter::OnMsgLeaveGroup( |
@@ -385,13 +387,14 @@ int32_t PepperUDPSocketMessageFilter::OnMsgLeaveGroup( |
if (!socket_) |
return PP_ERROR_FAILED; |
- std::vector<uint8_t> group; |
+ base::StackVector<uint8_t, 16> group; |
uint16_t port; |
if (!NetAddressPrivateImpl::NetAddressToIPEndPoint(addr, &group, &port)) |
return PP_ERROR_ADDRESS_INVALID; |
- return NetErrorToPepperError(socket_->LeaveGroup(net::IPAddress(group))); |
+ return NetErrorToPepperError( |
+ socket_->LeaveGroup(net::IPAddress(group->data(), group->size()))); |
} |
void PepperUDPSocketMessageFilter::DoBind( |
@@ -408,13 +411,14 @@ void PepperUDPSocketMessageFilter::DoBind( |
new net::UDPSocket(net::DatagramSocket::DEFAULT_BIND, |
net::RandIntCallback(), NULL, net::NetLogSource())); |
- std::vector<uint8_t> address; |
+ base::StackVector<uint8_t, 16> address; |
uint16_t port; |
if (!NetAddressPrivateImpl::NetAddressToIPEndPoint(addr, &address, &port)) { |
SendBindError(context, PP_ERROR_ADDRESS_INVALID); |
return; |
} |
- net::IPEndPoint end_point(net::IPAddress(address), port); |
+ net::IPEndPoint end_point(net::IPAddress(address->data(), address->size()), |
+ port); |
{ |
int net_result = socket->Open(end_point.GetFamily()); |
if (net_result != net::OK) { |
@@ -592,7 +596,7 @@ void PepperUDPSocketMessageFilter::DoSendTo( |
return; |
} |
- std::vector<uint8_t> address; |
+ base::StackVector<uint8_t, 16> address; |
uint16_t port; |
if (!NetAddressPrivateImpl::NetAddressToIPEndPoint(addr, &address, &port)) { |
SendSendToError(context, PP_ERROR_ADDRESS_INVALID); |
@@ -610,8 +614,8 @@ void PepperUDPSocketMessageFilter::DoSendTo( |
return; |
} |
- pending_sends_.push( |
- PendingSend(net::IPAddress(address), port, buffer, context)); |
+ pending_sends_.push(PendingSend( |
+ net::IPAddress(address->data(), address->size()), port, buffer, context)); |
// If there are other sends pending, we can't start yet. |
if (num_pending_sends) |
return; |