diff options
-rw-r--r-- | ppapi/c/dev/ppb_transport_dev.h | 11 | ||||
-rw-r--r-- | ppapi/cpp/dev/transport_dev.cc | 4 | ||||
-rw-r--r-- | ppapi/cpp/dev/transport_dev.h | 2 | ||||
-rw-r--r-- | ppapi/proxy/resource_creation_proxy.cc | 2 | ||||
-rw-r--r-- | ppapi/proxy/resource_creation_proxy.h | 2 | ||||
-rw-r--r-- | ppapi/tests/test_transport.cc | 22 | ||||
-rw-r--r-- | ppapi/tests/test_transport.h | 3 | ||||
-rw-r--r-- | ppapi/thunk/ppb_transport_thunk.cc | 5 | ||||
-rw-r--r-- | ppapi/thunk/resource_creation_api.h | 3 | ||||
-rw-r--r-- | remoting/protocol/pepper_stream_channel.cc | 3 | ||||
-rw-r--r-- | webkit/plugins/ppapi/ppb_transport_impl.cc | 25 | ||||
-rw-r--r-- | webkit/plugins/ppapi/ppb_transport_impl.h | 6 | ||||
-rw-r--r-- | webkit/plugins/ppapi/resource_creation_impl.cc | 4 | ||||
-rw-r--r-- | webkit/plugins/ppapi/resource_creation_impl.h | 2 |
14 files changed, 50 insertions, 44 deletions
diff --git a/ppapi/c/dev/ppb_transport_dev.h b/ppapi/c/dev/ppb_transport_dev.h index 89e214f..f34b3bf 100644 --- a/ppapi/c/dev/ppb_transport_dev.h +++ b/ppapi/c/dev/ppb_transport_dev.h @@ -13,8 +13,13 @@ #include "ppapi/c/pp_stdint.h" #include "ppapi/c/pp_var.h" -#define PPB_TRANSPORT_DEV_INTERFACE_0_6 "PPB_Transport;0.6" -#define PPB_TRANSPORT_DEV_INTERFACE PPB_TRANSPORT_DEV_INTERFACE_0_6 +#define PPB_TRANSPORT_DEV_INTERFACE_0_7 "PPB_Transport;0.7" +#define PPB_TRANSPORT_DEV_INTERFACE PPB_TRANSPORT_DEV_INTERFACE_0_7 + +typedef enum { + PP_TRANSPORTTYPE_DATAGRAM = 0, + PP_TRANSPORTTYPE_STREAM = 1 +} PP_TransportType; typedef enum { // STUN server address and port, e.g "stun.example.com:19302". @@ -50,7 +55,7 @@ struct PPB_Transport_Dev { // specified protocol. PP_Resource (*CreateTransport)(PP_Instance instance, const char* name, - const char* proto); + PP_TransportType type); // Returns PP_TRUE if resource is a Transport, PP_FALSE otherwise. PP_Bool (*IsTransport)(PP_Resource resource); diff --git a/ppapi/cpp/dev/transport_dev.cc b/ppapi/cpp/dev/transport_dev.cc index e725838..6c163fd 100644 --- a/ppapi/cpp/dev/transport_dev.cc +++ b/ppapi/cpp/dev/transport_dev.cc @@ -23,10 +23,10 @@ template <> const char* interface_name<PPB_Transport_Dev>() { Transport_Dev::Transport_Dev(Instance* instance, const char* name, - const char* proto) { + PP_TransportType type) { if (has_interface<PPB_Transport_Dev>()) PassRefFromConstructor(get_interface<PPB_Transport_Dev>()->CreateTransport( - instance->pp_instance(), name, proto)); + instance->pp_instance(), name, type)); } bool Transport_Dev::IsWritable() { diff --git a/ppapi/cpp/dev/transport_dev.h b/ppapi/cpp/dev/transport_dev.h index 9c8c302..cf0721e 100644 --- a/ppapi/cpp/dev/transport_dev.h +++ b/ppapi/cpp/dev/transport_dev.h @@ -16,7 +16,7 @@ class Var; class Transport_Dev : public Resource { public: - Transport_Dev(Instance* instance, const char* name, const char* proto); + Transport_Dev(Instance* instance, const char* name, PP_TransportType type); bool IsWritable(); int32_t SetProperty(PP_TransportProperty property, const Var& value); diff --git a/ppapi/proxy/resource_creation_proxy.cc b/ppapi/proxy/resource_creation_proxy.cc index f3ee425..b340eca 100644 --- a/ppapi/proxy/resource_creation_proxy.cc +++ b/ppapi/proxy/resource_creation_proxy.cc @@ -287,7 +287,7 @@ PP_Resource ResourceCreationProxy::CreateSurface3D( PP_Resource ResourceCreationProxy::CreateTransport(PP_Instance instance, const char* name, - const char* proto) { + PP_TransportType type) { NOTIMPLEMENTED(); // Not proxied yet. return 0; } diff --git a/ppapi/proxy/resource_creation_proxy.h b/ppapi/proxy/resource_creation_proxy.h index 1db9164..2f27f1f 100644 --- a/ppapi/proxy/resource_creation_proxy.h +++ b/ppapi/proxy/resource_creation_proxy.h @@ -110,7 +110,7 @@ class ResourceCreationProxy : public InterfaceProxy, const int32_t* attrib_list) OVERRIDE; virtual PP_Resource CreateTransport(PP_Instance instance, const char* name, - const char* proto) OVERRIDE; + PP_TransportType type) OVERRIDE; virtual PP_Resource CreateURLLoader(PP_Instance instance) OVERRIDE; virtual PP_Resource CreateURLRequestInfo( PP_Instance instance, diff --git a/ppapi/tests/test_transport.cc b/ppapi/tests/test_transport.cc index 8e06f85..6e520c5 100644 --- a/ppapi/tests/test_transport.cc +++ b/ppapi/tests/test_transport.cc @@ -112,9 +112,9 @@ void TestTransport::RunTest() { RUN_TEST_FORCEASYNC_AND_NOT(ConnectAndCloseTcp); } -std::string TestTransport::InitTargets(const char* proto) { - transport1_.reset(new pp::Transport_Dev(instance_, kTestChannelName, proto)); - transport2_.reset(new pp::Transport_Dev(instance_, kTestChannelName, proto)); +std::string TestTransport::InitTargets(PP_TransportType type) { + transport1_.reset(new pp::Transport_Dev(instance_, kTestChannelName, type)); + transport2_.reset(new pp::Transport_Dev(instance_, kTestChannelName, type)); ASSERT_TRUE(transport1_.get() != NULL); ASSERT_TRUE(transport2_.get() != NULL); @@ -161,7 +161,7 @@ std::string TestTransport::Clean() { } std::string TestTransport::TestCreate() { - RUN_SUBTEST(InitTargets("udp")); + RUN_SUBTEST(InitTargets(PP_TRANSPORTTYPE_DATAGRAM)); Clean(); @@ -169,7 +169,7 @@ std::string TestTransport::TestCreate() { } std::string TestTransport::TestSetProperty() { - RUN_SUBTEST(InitTargets("tcp")); + RUN_SUBTEST(InitTargets(PP_TRANSPORTTYPE_STREAM)); // Try settings STUN and Relay properties. ASSERT_EQ(transport1_->SetProperty( @@ -200,7 +200,7 @@ std::string TestTransport::TestSetProperty() { ASSERT_EQ(transport1_->SetProperty(PP_TRANSPORTPROPERTY_TCP_ACK_DELAY, pp::Var(10)), PP_OK); - ASSERT_EQ(transport1_->SetProperty(PP_TRANSPORTPROPERTY_TCP_SEND_WINDOW, + ASSERT_EQ(transport1_->SetProperty(PP_TRANSPORTPROPERTY_TCP_ACK_DELAY, pp::Var(10000)), PP_ERROR_BADARGUMENT); TestCompletionCallback connect_cb(instance_->pp_instance()); @@ -218,7 +218,7 @@ std::string TestTransport::TestSetProperty() { } std::string TestTransport::TestConnect() { - RUN_SUBTEST(InitTargets("udp")); + RUN_SUBTEST(InitTargets(PP_TRANSPORTTYPE_DATAGRAM)); RUN_SUBTEST(Connect()); Clean(); @@ -229,7 +229,7 @@ std::string TestTransport::TestConnect() { // Creating datagram connection and try sending data over it. Verify // that at least some packets are received (some packets may be lost). std::string TestTransport::TestSendDataUdp() { - RUN_SUBTEST(InitTargets("udp")); + RUN_SUBTEST(InitTargets(PP_TRANSPORTTYPE_DATAGRAM)); RUN_SUBTEST(Connect()); const int kNumPackets = 100; @@ -283,7 +283,7 @@ std::string TestTransport::TestSendDataUdp() { // Creating reliable (TCP-like) connection and try sending data over // it. Verify that all data is received correctly. std::string TestTransport::TestSendDataTcp() { - RUN_SUBTEST(InitTargets("tcp")); + RUN_SUBTEST(InitTargets(PP_TRANSPORTTYPE_STREAM)); RUN_SUBTEST(Connect()); const int kTcpSendSize = 100000; @@ -327,7 +327,7 @@ std::string TestTransport::TestSendDataTcp() { } std::string TestTransport::TestConnectAndCloseUdp() { - RUN_SUBTEST(InitTargets("udp")); + RUN_SUBTEST(InitTargets(PP_TRANSPORTTYPE_DATAGRAM)); RUN_SUBTEST(Connect()); std::vector<char> recv_buffer(kReadBufferSize); @@ -348,7 +348,7 @@ std::string TestTransport::TestConnectAndCloseUdp() { } std::string TestTransport::TestConnectAndCloseTcp() { - RUN_SUBTEST(InitTargets("tcp")); + RUN_SUBTEST(InitTargets(PP_TRANSPORTTYPE_STREAM)); RUN_SUBTEST(Connect()); std::vector<char> recv_buffer(kReadBufferSize); diff --git a/ppapi/tests/test_transport.h b/ppapi/tests/test_transport.h index 75089b3..b8f7426 100644 --- a/ppapi/tests/test_transport.h +++ b/ppapi/tests/test_transport.h @@ -8,6 +8,7 @@ #include <string> #include "base/memory/scoped_ptr.h" +#include "ppapi/c/dev/ppb_transport_dev.h" #include "ppapi/tests/test_case.h" struct PPB_Transport_Dev; @@ -25,7 +26,7 @@ class TestTransport : public TestCase { virtual void RunTest(); private: - std::string InitTargets(const char* proto); + std::string InitTargets(PP_TransportType type); std::string Connect(); std::string Clean(); diff --git a/ppapi/thunk/ppb_transport_thunk.cc b/ppapi/thunk/ppb_transport_thunk.cc index 17c572e..b0caae1 100644 --- a/ppapi/thunk/ppb_transport_thunk.cc +++ b/ppapi/thunk/ppb_transport_thunk.cc @@ -17,11 +17,12 @@ namespace { typedef EnterResource<PPB_Transport_API> EnterTransport; -PP_Resource Create(PP_Instance instance, const char* name, const char* proto) { +PP_Resource Create(PP_Instance instance, const char* name, + PP_TransportType type) { EnterFunction<ResourceCreationAPI> enter(instance, true); if (enter.failed()) return 0; - return enter.functions()->CreateTransport(instance, name, proto); + return enter.functions()->CreateTransport(instance, name, type); } PP_Bool IsTransport(PP_Resource resource) { diff --git a/ppapi/thunk/resource_creation_api.h b/ppapi/thunk/resource_creation_api.h index 5cb7383..5c92f38 100644 --- a/ppapi/thunk/resource_creation_api.h +++ b/ppapi/thunk/resource_creation_api.h @@ -16,6 +16,7 @@ #include "ppapi/c/ppb_graphics_3d.h" #include "ppapi/c/ppb_image_data.h" #include "ppapi/c/ppb_input_event.h" +#include "ppapi/c/dev/ppb_transport_dev.h" #include "ppapi/proxy/interface_id.h" struct PP_Flash_Menu; @@ -110,7 +111,7 @@ class ResourceCreationAPI { const int32_t* attrib_list) = 0; virtual PP_Resource CreateTransport(PP_Instance instance, const char* name, - const char* proto) = 0; + PP_TransportType type) = 0; virtual PP_Resource CreateURLLoader(PP_Instance instance) = 0; virtual PP_Resource CreateURLRequestInfo( PP_Instance instance, diff --git a/remoting/protocol/pepper_stream_channel.cc b/remoting/protocol/pepper_stream_channel.cc index 9769adc..330893e 100644 --- a/remoting/protocol/pepper_stream_channel.cc +++ b/remoting/protocol/pepper_stream_channel.cc @@ -95,7 +95,8 @@ void PepperStreamChannel::Connect(pp::Instance* pp_instance, remote_cert_ = remote_cert; pp::Transport_Dev* transport = - new pp::Transport_Dev(pp_instance, name_.c_str(), "tcp"); + new pp::Transport_Dev(pp_instance, name_.c_str(), + PP_TRANSPORTTYPE_STREAM); if (transport->SetProperty(PP_TRANSPORTPROPERTY_TCP_RECEIVE_WINDOW, pp::Var(kTcpReceiveBufferSize)) != PP_OK) { diff --git a/webkit/plugins/ppapi/ppb_transport_impl.cc b/webkit/plugins/ppapi/ppb_transport_impl.cc index e7779aa..d097354 100644 --- a/webkit/plugins/ppapi/ppb_transport_impl.cc +++ b/webkit/plugins/ppapi/ppb_transport_impl.cc @@ -70,9 +70,9 @@ PPB_Transport_Impl::~PPB_Transport_Impl() { // static PP_Resource PPB_Transport_Impl::Create(PP_Instance instance, const char* name, - const char* proto) { + PP_TransportType type) { scoped_refptr<PPB_Transport_Impl> t(new PPB_Transport_Impl(instance)); - if (!t->Init(name, proto)) + if (!t->Init(name, type)) return 0; return t->GetReference(); } @@ -81,17 +81,14 @@ PPB_Transport_API* PPB_Transport_Impl::AsPPB_Transport_API() { return this; } -bool PPB_Transport_Impl::Init(const char* name, const char* proto) { +bool PPB_Transport_Impl::Init(const char* name, PP_TransportType type) { name_ = name; - if (base::strcasecmp(proto, kUdpProtocolName) == 0) { - use_tcp_ = false; - } else if (base::strcasecmp(proto, kTcpProtocolName) == 0) { - use_tcp_ = true; - } else { - LOG(WARNING) << "Unknown protocol: " << proto; + if (type != PP_TRANSPORTTYPE_DATAGRAM && type != PP_TRANSPORTTYPE_STREAM) { + LOG(WARNING) << "Unknown transport type: " << type; return false; } + type_ = type; PluginDelegate* plugin_delegate = ResourceHelper::GetPluginDelegate(this); if (!plugin_delegate) @@ -147,7 +144,7 @@ int32_t PPB_Transport_Impl::SetProperty(PP_TransportProperty property, } case PP_TRANSPORTPROPERTY_TCP_RECEIVE_WINDOW: { - if (!use_tcp_) + if (type_ != PP_TRANSPORTTYPE_STREAM) return PP_ERROR_BADARGUMENT; int32_t int_value = value.value.as_int; @@ -160,7 +157,7 @@ int32_t PPB_Transport_Impl::SetProperty(PP_TransportProperty property, } case PP_TRANSPORTPROPERTY_TCP_SEND_WINDOW: { - if (!use_tcp_) + if (type_ != PP_TRANSPORTTYPE_STREAM) return PP_ERROR_BADARGUMENT; int32_t int_value = value.value.as_int; @@ -173,7 +170,7 @@ int32_t PPB_Transport_Impl::SetProperty(PP_TransportProperty property, } case PP_TRANSPORTPROPERTY_TCP_NO_DELAY: { - if (!use_tcp_) + if (type_ != PP_TRANSPORTTYPE_STREAM) return PP_ERROR_BADARGUMENT; if (value.type != PP_VARTYPE_BOOL) @@ -183,7 +180,7 @@ int32_t PPB_Transport_Impl::SetProperty(PP_TransportProperty property, } case PP_TRANSPORTPROPERTY_TCP_ACK_DELAY: { - if (!use_tcp_) + if (type_ != PP_TRANSPORTTYPE_STREAM) return PP_ERROR_BADARGUMENT; int32_t int_value = value.value.as_int; @@ -210,7 +207,7 @@ int32_t PPB_Transport_Impl::Connect(PP_CompletionCallback callback) { if (started_) return PP_ERROR_INPROGRESS; - P2PTransport::Protocol protocol = use_tcp_ ? + P2PTransport::Protocol protocol = (type_ == PP_TRANSPORTTYPE_STREAM) ? P2PTransport::PROTOCOL_TCP : P2PTransport::PROTOCOL_UDP; if (!p2p_transport_->Init(name_, protocol, config_, this)) diff --git a/webkit/plugins/ppapi/ppb_transport_impl.h b/webkit/plugins/ppapi/ppb_transport_impl.h index e4fe025..58138ab 100644 --- a/webkit/plugins/ppapi/ppb_transport_impl.h +++ b/webkit/plugins/ppapi/ppb_transport_impl.h @@ -27,7 +27,7 @@ class PPB_Transport_Impl : public ::ppapi::Resource, static PP_Resource Create(PP_Instance instance, const char* name, - const char* proto); + PP_TransportType type); // Resource override. virtual ::ppapi::thunk::PPB_Transport_API* AsPPB_Transport_API() OVERRIDE; @@ -54,13 +54,13 @@ class PPB_Transport_Impl : public ::ppapi::Resource, private: explicit PPB_Transport_Impl(PP_Instance instance); - bool Init(const char* name, const char* proto); + bool Init(const char* name, PP_TransportType type); void OnRead(int result); void OnWritten(int result); std::string name_; - bool use_tcp_; + PP_TransportType type_; webkit_glue::P2PTransport::Config config_; bool started_; scoped_ptr<webkit_glue::P2PTransport> p2p_transport_; diff --git a/webkit/plugins/ppapi/resource_creation_impl.cc b/webkit/plugins/ppapi/resource_creation_impl.cc index 311c35a..6698376 100644 --- a/webkit/plugins/ppapi/resource_creation_impl.cc +++ b/webkit/plugins/ppapi/resource_creation_impl.cc @@ -251,9 +251,9 @@ PP_Resource ResourceCreationImpl::CreateSurface3D( PP_Resource ResourceCreationImpl::CreateTransport(PP_Instance instance, const char* name, - const char* proto) { + PP_TransportType type) { #if defined(ENABLE_P2P_APIS) - return PPB_Transport_Impl::Create(instance, name, proto); + return PPB_Transport_Impl::Create(instance, name, type); #endif } diff --git a/webkit/plugins/ppapi/resource_creation_impl.h b/webkit/plugins/ppapi/resource_creation_impl.h index 4a7a2a9..7269f1e 100644 --- a/webkit/plugins/ppapi/resource_creation_impl.h +++ b/webkit/plugins/ppapi/resource_creation_impl.h @@ -97,7 +97,7 @@ class ResourceCreationImpl : public ::ppapi::FunctionGroupBase, const int32_t* attrib_list) OVERRIDE; virtual PP_Resource CreateTransport(PP_Instance instance, const char* name, - const char* proto) OVERRIDE; + PP_TransportType type) OVERRIDE; virtual PP_Resource CreateURLLoader(PP_Instance instance) OVERRIDE; virtual PP_Resource CreateURLRequestInfo( PP_Instance instance, |