| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 #include "modules/peerconnection/RTCDataChannelEvent.h" | 62 #include "modules/peerconnection/RTCDataChannelEvent.h" |
| 63 #include "modules/peerconnection/RTCIceCandidateEvent.h" | 63 #include "modules/peerconnection/RTCIceCandidateEvent.h" |
| 64 #include "modules/peerconnection/RTCOfferOptions.h" | 64 #include "modules/peerconnection/RTCOfferOptions.h" |
| 65 #include "modules/peerconnection/RTCPeerConnectionErrorCallback.h" | 65 #include "modules/peerconnection/RTCPeerConnectionErrorCallback.h" |
| 66 #include "modules/peerconnection/RTCSessionDescription.h" | 66 #include "modules/peerconnection/RTCSessionDescription.h" |
| 67 #include "modules/peerconnection/RTCSessionDescriptionCallback.h" | 67 #include "modules/peerconnection/RTCSessionDescriptionCallback.h" |
| 68 #include "modules/peerconnection/RTCSessionDescriptionInit.h" | 68 #include "modules/peerconnection/RTCSessionDescriptionInit.h" |
| 69 #include "modules/peerconnection/RTCSessionDescriptionRequestImpl.h" | 69 #include "modules/peerconnection/RTCSessionDescriptionRequestImpl.h" |
| 70 #include "modules/peerconnection/RTCSessionDescriptionRequestPromiseImpl.h" | 70 #include "modules/peerconnection/RTCSessionDescriptionRequestPromiseImpl.h" |
| 71 #include "modules/peerconnection/RTCStatsCallback.h" | 71 #include "modules/peerconnection/RTCStatsCallback.h" |
| 72 #include "modules/peerconnection/RTCStatsReport.h" |
| 72 #include "modules/peerconnection/RTCStatsRequestImpl.h" | 73 #include "modules/peerconnection/RTCStatsRequestImpl.h" |
| 73 #include "modules/peerconnection/RTCVoidRequestImpl.h" | 74 #include "modules/peerconnection/RTCVoidRequestImpl.h" |
| 74 #include "modules/peerconnection/RTCVoidRequestPromiseImpl.h" | 75 #include "modules/peerconnection/RTCVoidRequestPromiseImpl.h" |
| 75 #include "platform/RuntimeEnabledFeatures.h" | 76 #include "platform/RuntimeEnabledFeatures.h" |
| 76 #include "platform/peerconnection/RTCAnswerOptionsPlatform.h" | 77 #include "platform/peerconnection/RTCAnswerOptionsPlatform.h" |
| 77 #include "platform/peerconnection/RTCConfiguration.h" | 78 #include "platform/peerconnection/RTCConfiguration.h" |
| 78 #include "platform/peerconnection/RTCOfferOptionsPlatform.h" | 79 #include "platform/peerconnection/RTCOfferOptionsPlatform.h" |
| 79 #include "public/platform/Platform.h" | 80 #include "public/platform/Platform.h" |
| 80 #include "public/platform/WebCryptoAlgorithmParams.h" | 81 #include "public/platform/WebCryptoAlgorithmParams.h" |
| 81 #include "public/platform/WebMediaStream.h" | 82 #include "public/platform/WebMediaStream.h" |
| (...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 offerToReceiveVideo = 0; | 367 offerToReceiveVideo = 0; |
| 367 if (DictionaryHelper::get(options, "offerToReceiveAudio", offerToReceiveAudi
o) && offerToReceiveAudio < 0) | 368 if (DictionaryHelper::get(options, "offerToReceiveAudio", offerToReceiveAudi
o) && offerToReceiveAudio < 0) |
| 368 offerToReceiveAudio = 0; | 369 offerToReceiveAudio = 0; |
| 369 DictionaryHelper::get(options, "voiceActivityDetection", voiceActivityDetect
ion); | 370 DictionaryHelper::get(options, "voiceActivityDetection", voiceActivityDetect
ion); |
| 370 DictionaryHelper::get(options, "iceRestart", iceRestart); | 371 DictionaryHelper::get(options, "iceRestart", iceRestart); |
| 371 | 372 |
| 372 RTCOfferOptionsPlatform* rtcOfferOptions = RTCOfferOptionsPlatform::create(o
fferToReceiveVideo, offerToReceiveAudio, voiceActivityDetection, iceRestart); | 373 RTCOfferOptionsPlatform* rtcOfferOptions = RTCOfferOptionsPlatform::create(o
fferToReceiveVideo, offerToReceiveAudio, voiceActivityDetection, iceRestart); |
| 373 return rtcOfferOptions; | 374 return rtcOfferOptions; |
| 374 } | 375 } |
| 375 | 376 |
| 377 // Helper class for |RTCPeerConnection::getStats(ScriptState*, MediaStreamTrack*
)| |
| 378 class WebRTCStatsReportCallbackResolver : public WebRTCStatsReportCallback { |
| 379 public: |
| 380 // Takes ownership of |resolver|. |
| 381 static std::unique_ptr<WebRTCStatsReportCallback> create(ScriptPromiseResolv
er* resolver) |
| 382 { |
| 383 return std::unique_ptr<WebRTCStatsReportCallback>(new WebRTCStatsReportC
allbackResolver(resolver)); |
| 384 } |
| 385 |
| 386 ~WebRTCStatsReportCallbackResolver() override {} |
| 387 |
| 388 private: |
| 389 WebRTCStatsReportCallbackResolver(ScriptPromiseResolver* resolver) |
| 390 : m_resolver(resolver) {} |
| 391 |
| 392 void OnStatsDelivered(std::unique_ptr<WebRTCStatsReport> report) override |
| 393 { |
| 394 m_resolver->resolve(new RTCStatsReport(std::move(report))); |
| 395 } |
| 396 |
| 397 Persistent<ScriptPromiseResolver> m_resolver; |
| 398 }; |
| 399 |
| 376 } // namespace | 400 } // namespace |
| 377 | 401 |
| 378 RTCPeerConnection::EventWrapper::EventWrapper( | 402 RTCPeerConnection::EventWrapper::EventWrapper( |
| 379 Event* event, | 403 Event* event, |
| 380 std::unique_ptr<BoolFunction> function) | 404 std::unique_ptr<BoolFunction> function) |
| 381 : m_event(event) | 405 : m_event(event) |
| 382 , m_setupFunction(std::move(function)) | 406 , m_setupFunction(std::move(function)) |
| 383 { | 407 { |
| 384 } | 408 } |
| 385 | 409 |
| (...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 966 m_peerHandler->getStats(statsRequest); | 990 m_peerHandler->getStats(statsRequest); |
| 967 | 991 |
| 968 resolver->resolve(); | 992 resolver->resolve(); |
| 969 return promise; | 993 return promise; |
| 970 } | 994 } |
| 971 | 995 |
| 972 ScriptPromise RTCPeerConnection::getStats(ScriptState* scriptState, MediaStreamT
rack* selector) | 996 ScriptPromise RTCPeerConnection::getStats(ScriptState* scriptState, MediaStreamT
rack* selector) |
| 973 { | 997 { |
| 974 ExecutionContext* context = scriptState->getExecutionContext(); | 998 ExecutionContext* context = scriptState->getExecutionContext(); |
| 975 UseCounter::count(context, UseCounter::RTCPeerConnectionGetStats); | 999 UseCounter::count(context, UseCounter::RTCPeerConnectionGetStats); |
| 976 // TODO(hbos): Implement new |getStats| function. crbug.com/627816 | 1000 |
| 977 return ScriptPromise::rejectWithDOMException(scriptState, DOMException::crea
te(NotSupportedError, "getStats(optional MediaStreamTrack?) has not been impleme
nted yet.")); | 1001 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState)
; |
| 1002 ScriptPromise promise = resolver->promise(); |
| 1003 m_peerHandler->getStats(WebRTCStatsReportCallbackResolver::create(resolver))
; |
| 1004 |
| 1005 return promise; |
| 978 } | 1006 } |
| 979 | 1007 |
| 980 RTCDataChannel* RTCPeerConnection::createDataChannel(String label, const Diction
ary& options, ExceptionState& exceptionState) | 1008 RTCDataChannel* RTCPeerConnection::createDataChannel(String label, const Diction
ary& options, ExceptionState& exceptionState) |
| 981 { | 1009 { |
| 982 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState)) | 1010 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState)) |
| 983 return nullptr; | 1011 return nullptr; |
| 984 | 1012 |
| 985 WebRTCDataChannelInit init; | 1013 WebRTCDataChannelInit init; |
| 986 DictionaryHelper::get(options, "ordered", init.ordered); | 1014 DictionaryHelper::get(options, "ordered", init.ordered); |
| 987 DictionaryHelper::get(options, "negotiated", init.negotiated); | 1015 DictionaryHelper::get(options, "negotiated", init.negotiated); |
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1279 { | 1307 { |
| 1280 visitor->trace(m_localStreams); | 1308 visitor->trace(m_localStreams); |
| 1281 visitor->trace(m_remoteStreams); | 1309 visitor->trace(m_remoteStreams); |
| 1282 visitor->trace(m_dispatchScheduledEventRunner); | 1310 visitor->trace(m_dispatchScheduledEventRunner); |
| 1283 visitor->trace(m_scheduledEvents); | 1311 visitor->trace(m_scheduledEvents); |
| 1284 EventTargetWithInlineData::trace(visitor); | 1312 EventTargetWithInlineData::trace(visitor); |
| 1285 ActiveDOMObject::trace(visitor); | 1313 ActiveDOMObject::trace(visitor); |
| 1286 } | 1314 } |
| 1287 | 1315 |
| 1288 } // namespace blink | 1316 } // namespace blink |
| OLD | NEW |