Index: ppapi/proxy/ppb_udp_socket_private_proxy.cc |
diff --git a/ppapi/proxy/ppb_udp_socket_private_proxy.cc b/ppapi/proxy/ppb_udp_socket_private_proxy.cc |
index 1e3a002cfb83c9bbc3e40806a6a79d9bcf862fd5..3763c7894f8817d4fc71c480b9a65c8b5ffe6426 100644 |
--- a/ppapi/proxy/ppb_udp_socket_private_proxy.cc |
+++ b/ppapi/proxy/ppb_udp_socket_private_proxy.cc |
@@ -7,6 +7,8 @@ |
#include <map> |
#include "base/logging.h" |
+#include "ppapi/c/pp_bool.h" |
+#include "ppapi/c/private/ppb_udp_socket_private.h" |
#include "ppapi/proxy/plugin_dispatcher.h" |
#include "ppapi/proxy/plugin_globals.h" |
#include "ppapi/proxy/plugin_proxy_delegate.h" |
@@ -29,6 +31,8 @@ class UDPSocket : public UDPSocketPrivateImpl { |
UDPSocket(const HostResource& resource, uint32 socket_id); |
virtual ~UDPSocket(); |
+ virtual void SendSetSocketFeature(PP_UDPSocketFeature_Private name, |
+ PP_Var value) OVERRIDE; |
virtual void SendBind(const PP_NetAddress_Private& addr) OVERRIDE; |
virtual void SendRecvFrom(int32_t num_bytes) OVERRIDE; |
virtual void SendSendTo(const std::string& data, |
@@ -53,6 +57,21 @@ UDPSocket::~UDPSocket() { |
Close(); |
} |
+void UDPSocket::SendSetSocketFeature(PP_UDPSocketFeature_Private name, |
+ PP_Var value) { |
+ switch (name) { |
+ case PP_UDPSOCKETFEATURE_ADDRESS_REUSE: |
+ case PP_UDPSOCKETFEATURE_BROADCAST: |
+ DCHECK_EQ(PP_VARTYPE_BOOL, value.type); |
+ SendToBrowser(new PpapiHostMsg_PPBUDPSocket_SetBoolSocketFeature( |
+ API_ID_PPB_UDPSOCKET_PRIVATE, socket_id_, |
+ static_cast<int32_t>(name), PP_ToBool(value.value.as_bool))); |
+ break; |
+ default: |
+ NOTREACHED(); |
+ } |
+} |
+ |
void UDPSocket::SendBind(const PP_NetAddress_Private& addr) { |
SendToBrowser(new PpapiHostMsg_PPBUDPSocket_Bind( |
API_ID_PPB_UDPSOCKET_PRIVATE, socket_id_, addr)); |