Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(206)

Unified Diff: third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp

Issue 2447033002: Support RTCConfiguration iceTransportPolicy (Closed)
Patch Set: update expectations Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp
diff --git a/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp b/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp
index 2f22f6861e5a0988b7a0e4f103b23206f012ed2d..936d5f06d89efc12d6c8e6bb1946ca5d4a0bf2ae 100644
--- a/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp
+++ b/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp
@@ -218,6 +218,15 @@ class WebRTCCertificateObserver : public WebRTCCertificateCallback {
Persistent<ScriptPromiseResolver> m_resolver;
};
+WebRTCIceTransportPolicy iceTransportPolicyFromString(const String& policy) {
+ if (policy == "none")
+ return WebRTCIceTransportPolicy::kNone;
+ if (policy == "relay")
+ return WebRTCIceTransportPolicy::kRelay;
+ DCHECK_EQ(policy, "all");
+ return WebRTCIceTransportPolicy::kAll;
+}
+
WebRTCConfiguration parseConfiguration(ExecutionContext* context,
const RTCConfiguration& configuration,
ExceptionState& exceptionState,
@@ -225,15 +234,21 @@ WebRTCConfiguration parseConfiguration(ExecutionContext* context,
DCHECK(context);
DCHECK(selectedRtcpMuxPolicy);
- WebRTCIceTransports iceTransports = WebRTCIceTransports::kAll;
- String iceTransportsString = configuration.iceTransports();
- if (iceTransportsString == "none") {
- UseCounter::count(context, UseCounter::RTCConfigurationIceTransportsNone);
- iceTransports = WebRTCIceTransports::kNone;
- } else if (iceTransportsString == "relay") {
- iceTransports = WebRTCIceTransports::kRelay;
- } else {
- DCHECK_EQ(iceTransportsString, "all");
+ WebRTCIceTransportPolicy iceTransportPolicy = WebRTCIceTransportPolicy::kAll;
+ if (configuration.hasIceTransportPolicy()) {
+ UseCounter::count(context, UseCounter::RTCConfigurationIceTransportPolicy);
+ iceTransportPolicy =
+ iceTransportPolicyFromString(configuration.iceTransportPolicy());
+ if (iceTransportPolicy == WebRTCIceTransportPolicy::kNone) {
+ UseCounter::count(context,
+ UseCounter::RTCConfigurationIceTransportPolicyNone);
+ }
+ } else if (configuration.hasIceTransports()) {
+ UseCounter::count(context, UseCounter::RTCConfigurationIceTransports);
+ iceTransportPolicy =
+ iceTransportPolicyFromString(configuration.iceTransports());
+ if (iceTransportPolicy == WebRTCIceTransportPolicy::kNone)
+ UseCounter::count(context, UseCounter::RTCConfigurationIceTransportsNone);
}
WebRTCBundlePolicy bundlePolicy = WebRTCBundlePolicy::kBalanced;
@@ -261,7 +276,7 @@ WebRTCConfiguration parseConfiguration(ExecutionContext* context,
}
WebRTCConfiguration webConfiguration;
- webConfiguration.iceTransports = iceTransports;
+ webConfiguration.iceTransportPolicy = iceTransportPolicy;
webConfiguration.bundlePolicy = bundlePolicy;
webConfiguration.rtcpMuxPolicy = rtcpMuxPolicy;

Powered by Google App Engine
This is Rietveld 408576698