summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp')
-rw-r--r--Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp56
1 files changed, 54 insertions, 2 deletions
diff --git a/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp b/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp
index 08a0373e0..61fb1c48a 100644
--- a/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp
+++ b/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp
@@ -36,23 +36,32 @@
#include "MediaConstraints.h"
#include "RTCConfiguration.h"
+#include "RTCDataChannelDescriptor.h"
#include "RTCIceCandidateDescriptor.h"
#include "RTCPeerConnectionHandlerClient.h"
#include "RTCSessionDescriptionDescriptor.h"
#include "RTCSessionDescriptionRequest.h"
+#include "RTCStatsRequest.h"
#include "RTCVoidRequest.h"
#include <public/Platform.h>
#include <public/WebMediaConstraints.h>
#include <public/WebMediaStreamDescriptor.h>
#include <public/WebRTCConfiguration.h>
+#include <public/WebRTCDataChannel.h>
#include <public/WebRTCICECandidate.h>
#include <public/WebRTCSessionDescription.h>
#include <public/WebRTCSessionDescriptionRequest.h>
+#include <public/WebRTCStatsRequest.h>
#include <public/WebRTCVoidRequest.h>
#include <wtf/PassOwnPtr.h>
namespace WebCore {
+WebKit::WebRTCPeerConnectionHandler* RTCPeerConnectionHandlerChromium::toWebRTCPeerConnectionHandler(RTCPeerConnectionHandler* handler)
+{
+ return static_cast<RTCPeerConnectionHandlerChromium*>(handler)->m_webHandler.get();
+}
+
PassOwnPtr<RTCPeerConnectionHandler> RTCPeerConnectionHandler::create(RTCPeerConnectionHandlerClient* client)
{
return adoptPtr(new RTCPeerConnectionHandlerChromium(client));
@@ -62,6 +71,7 @@ RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium(RTCPeerConnec
: m_client(client)
{
ASSERT(m_client);
+ m_webHandler = adoptPtr(WebKit::Platform::current()->createRTCPeerConnectionHandler(this));
}
RTCPeerConnectionHandlerChromium::~RTCPeerConnectionHandlerChromium()
@@ -70,8 +80,10 @@ RTCPeerConnectionHandlerChromium::~RTCPeerConnectionHandlerChromium()
bool RTCPeerConnectionHandlerChromium::initialize(PassRefPtr<RTCConfiguration> configuration, PassRefPtr<MediaConstraints> constraints)
{
- m_webHandler = adoptPtr(WebKit::Platform::current()->createRTCPeerConnectionHandler(this));
- return m_webHandler ? m_webHandler->initialize(configuration, constraints) : false;
+ if (!m_webHandler)
+ return false;
+
+ return m_webHandler->initialize(configuration, constraints);
}
void RTCPeerConnectionHandlerChromium::createOffer(PassRefPtr<RTCSessionDescriptionRequest> request, PassRefPtr<MediaConstraints> constraints)
@@ -156,6 +168,46 @@ void RTCPeerConnectionHandlerChromium::removeStream(PassRefPtr<MediaStreamDescri
m_webHandler->removeStream(mediaStream);
}
+void RTCPeerConnectionHandlerChromium::getStats(PassRefPtr<RTCStatsRequest> request)
+{
+ if (!m_webHandler)
+ return;
+
+ m_webHandler->getStats(request);
+}
+
+bool RTCPeerConnectionHandlerChromium::openDataChannel(PassRefPtr<RTCDataChannelDescriptor> dataChannel)
+{
+ if (!m_webHandler)
+ return false;
+
+ return m_webHandler->openDataChannel(dataChannel);
+}
+
+bool RTCPeerConnectionHandlerChromium::sendStringData(PassRefPtr<RTCDataChannelDescriptor> dataChannel, const String& data)
+{
+ if (!m_webHandler)
+ return false;
+
+ return m_webHandler->sendStringData(dataChannel, data);
+}
+
+bool RTCPeerConnectionHandlerChromium::sendRawData(PassRefPtr<RTCDataChannelDescriptor> dataChannel, const char* data, size_t dataLength)
+{
+ if (!m_webHandler)
+ return false;
+
+ return m_webHandler->sendRawData(dataChannel, data, dataLength);
+}
+
+void RTCPeerConnectionHandlerChromium::closeDataChannel(PassRefPtr<RTCDataChannelDescriptor> dataChannel)
+{
+ if (!m_webHandler)
+ return;
+
+ return m_webHandler->closeDataChannel(dataChannel);
+}
+
void RTCPeerConnectionHandlerChromium::stop()
{
if (!m_webHandler)