summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ppapi/c/dev/ppb_transport_dev.h11
-rw-r--r--ppapi/cpp/dev/transport_dev.cc4
-rw-r--r--ppapi/cpp/dev/transport_dev.h2
-rw-r--r--ppapi/proxy/resource_creation_proxy.cc2
-rw-r--r--ppapi/proxy/resource_creation_proxy.h2
-rw-r--r--ppapi/tests/test_transport.cc22
-rw-r--r--ppapi/tests/test_transport.h3
-rw-r--r--ppapi/thunk/ppb_transport_thunk.cc5
-rw-r--r--ppapi/thunk/resource_creation_api.h3
-rw-r--r--remoting/protocol/pepper_stream_channel.cc3
-rw-r--r--webkit/plugins/ppapi/ppb_transport_impl.cc25
-rw-r--r--webkit/plugins/ppapi/ppb_transport_impl.h6
-rw-r--r--webkit/plugins/ppapi/resource_creation_impl.cc4
-rw-r--r--webkit/plugins/ppapi/resource_creation_impl.h2
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,