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

Side by Side Diff: third_party/WebKit/Source/modules/mediastream/RTCPeerConnection.cpp

Issue 1773813007: blink: Rename modules/ method to prefix with get when they collide. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: clash-modules: rebase-fixes Created 4 years, 9 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 unified diff | Download patch
OLDNEW
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 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 395
396 RTCPeerConnection::RTCPeerConnection(ExecutionContext* context, RTCConfiguration * configuration, WebMediaConstraints constraints, ExceptionState& exceptionState ) 396 RTCPeerConnection::RTCPeerConnection(ExecutionContext* context, RTCConfiguration * configuration, WebMediaConstraints constraints, ExceptionState& exceptionState )
397 : ActiveDOMObject(context) 397 : ActiveDOMObject(context)
398 , m_signalingState(SignalingStateStable) 398 , m_signalingState(SignalingStateStable)
399 , m_iceGatheringState(ICEGatheringStateNew) 399 , m_iceGatheringState(ICEGatheringStateNew)
400 , m_iceConnectionState(ICEConnectionStateNew) 400 , m_iceConnectionState(ICEConnectionStateNew)
401 , m_dispatchScheduledEventRunner(AsyncMethodRunner<RTCPeerConnection>::creat e(this, &RTCPeerConnection::dispatchScheduledEvent)) 401 , m_dispatchScheduledEventRunner(AsyncMethodRunner<RTCPeerConnection>::creat e(this, &RTCPeerConnection::dispatchScheduledEvent))
402 , m_stopped(false) 402 , m_stopped(false)
403 , m_closed(false) 403 , m_closed(false)
404 { 404 {
405 Document* document = toDocument(executionContext()); 405 Document* document = toDocument(getExecutionContext());
406 406
407 // If we fail, set |m_closed| and |m_stopped| to true, to avoid hitting the assert in the destructor. 407 // If we fail, set |m_closed| and |m_stopped| to true, to avoid hitting the assert in the destructor.
408 408
409 if (!document->frame()) { 409 if (!document->frame()) {
410 m_closed = true; 410 m_closed = true;
411 m_stopped = true; 411 m_stopped = true;
412 exceptionState.throwDOMException(NotSupportedError, "PeerConnections may not be created in detached documents."); 412 exceptionState.throwDOMException(NotSupportedError, "PeerConnections may not be created in detached documents.");
413 return; 413 return;
414 } 414 }
415 415
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 447
448 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState)) 448 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState))
449 return; 449 return;
450 450
451 ASSERT(successCallback); 451 ASSERT(successCallback);
452 452
453 RTCOfferOptions* offerOptions = parseOfferOptions(rtcOfferOptions, exception State); 453 RTCOfferOptions* offerOptions = parseOfferOptions(rtcOfferOptions, exception State);
454 if (exceptionState.hadException()) 454 if (exceptionState.hadException())
455 return; 455 return;
456 456
457 RTCSessionDescriptionRequest* request = RTCSessionDescriptionRequestImpl::cr eate(executionContext(), this, successCallback, errorCallback); 457 RTCSessionDescriptionRequest* request = RTCSessionDescriptionRequestImpl::cr eate(getExecutionContext(), this, successCallback, errorCallback);
458 458
459 if (offerOptions) { 459 if (offerOptions) {
460 if (offerOptions->offerToReceiveAudio() != -1 || offerOptions->offerToRe ceiveVideo() != -1) 460 if (offerOptions->offerToReceiveAudio() != -1 || offerOptions->offerToRe ceiveVideo() != -1)
461 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateOfferL egacyOfferOptions); 461 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateOfferL egacyOfferOptions);
462 else if (errorCallback) 462 else if (errorCallback)
463 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateOfferL egacyCompliant); 463 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateOfferL egacyCompliant);
464 464
465 m_peerHandler->createOffer(request, offerOptions); 465 m_peerHandler->createOffer(request, offerOptions);
466 } else { 466 } else {
467 MediaErrorState mediaErrorState; 467 MediaErrorState mediaErrorState;
(...skipping 29 matching lines...) Expand all
497 497
498 ASSERT(successCallback); 498 ASSERT(successCallback);
499 499
500 MediaErrorState mediaErrorState; 500 MediaErrorState mediaErrorState;
501 WebMediaConstraints constraints = MediaConstraintsImpl::create(context, medi aConstraints, mediaErrorState); 501 WebMediaConstraints constraints = MediaConstraintsImpl::create(context, medi aConstraints, mediaErrorState);
502 if (mediaErrorState.hadException()) { 502 if (mediaErrorState.hadException()) {
503 mediaErrorState.raiseException(exceptionState); 503 mediaErrorState.raiseException(exceptionState);
504 return; 504 return;
505 } 505 }
506 506
507 RTCSessionDescriptionRequest* request = RTCSessionDescriptionRequestImpl::cr eate(executionContext(), this, successCallback, errorCallback); 507 RTCSessionDescriptionRequest* request = RTCSessionDescriptionRequestImpl::cr eate(getExecutionContext(), this, successCallback, errorCallback);
508 m_peerHandler->createAnswer(request, constraints); 508 m_peerHandler->createAnswer(request, constraints);
509 } 509 }
510 510
511 ScriptPromise RTCPeerConnection::setLocalDescription(ScriptState* scriptState, c onst RTCSessionDescriptionInit& sessionDescriptionInit) 511 ScriptPromise RTCPeerConnection::setLocalDescription(ScriptState* scriptState, c onst RTCSessionDescriptionInit& sessionDescriptionInit)
512 { 512 {
513 if (m_signalingState == SignalingStateClosed) 513 if (m_signalingState == SignalingStateClosed)
514 return ScriptPromise::rejectWithDOMException(scriptState, DOMException:: create(InvalidStateError, kSignalingStateClosedMessage)); 514 return ScriptPromise::rejectWithDOMException(scriptState, DOMException:: create(InvalidStateError, kSignalingStateClosedMessage));
515 515
516 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ; 516 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ;
517 ScriptPromise promise = resolver->promise(); 517 ScriptPromise promise = resolver->promise();
518 RTCVoidRequest* request = RTCVoidRequestPromiseImpl::create(this, resolver); 518 RTCVoidRequest* request = RTCVoidRequestPromiseImpl::create(this, resolver);
519 m_peerHandler->setLocalDescription(request, WebRTCSessionDescription(session DescriptionInit.type(), sessionDescriptionInit.sdp())); 519 m_peerHandler->setLocalDescription(request, WebRTCSessionDescription(session DescriptionInit.type(), sessionDescriptionInit.sdp()));
520 return promise; 520 return promise;
521 } 521 }
522 522
523 ScriptPromise RTCPeerConnection::setLocalDescription(ScriptState* scriptState, R TCSessionDescription* sessionDescription, VoidCallback* successCallback, RTCPeer ConnectionErrorCallback* errorCallback) 523 ScriptPromise RTCPeerConnection::setLocalDescription(ScriptState* scriptState, R TCSessionDescription* sessionDescription, VoidCallback* successCallback, RTCPeer ConnectionErrorCallback* errorCallback)
524 { 524 {
525 ExecutionContext* context = scriptState->executionContext(); 525 ExecutionContext* context = scriptState->getExecutionContext();
526 if (successCallback && errorCallback) { 526 if (successCallback && errorCallback) {
527 UseCounter::count(context, UseCounter::RTCPeerConnectionSetLocalDescript ionLegacyCompliant); 527 UseCounter::count(context, UseCounter::RTCPeerConnectionSetLocalDescript ionLegacyCompliant);
528 } else { 528 } else {
529 if (!successCallback) 529 if (!successCallback)
530 UseCounter::count(context, UseCounter::RTCPeerConnectionSetLocalDesc riptionLegacyNoSuccessCallback); 530 UseCounter::count(context, UseCounter::RTCPeerConnectionSetLocalDesc riptionLegacyNoSuccessCallback);
531 if (!errorCallback) 531 if (!errorCallback)
532 UseCounter::count(context, UseCounter::RTCPeerConnectionSetLocalDesc riptionLegacyNoFailureCallback); 532 UseCounter::count(context, UseCounter::RTCPeerConnectionSetLocalDesc riptionLegacyNoFailureCallback);
533 } 533 }
534 534
535 if (callErrorCallbackIfSignalingStateClosed(m_signalingState, errorCallback) ) 535 if (callErrorCallbackIfSignalingStateClosed(m_signalingState, errorCallback) )
536 return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isola te())); 536 return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isola te()));
537 537
538 ASSERT(sessionDescription); 538 ASSERT(sessionDescription);
539 539
540 RTCVoidRequest* request = RTCVoidRequestImpl::create(executionContext(), thi s, successCallback, errorCallback); 540 RTCVoidRequest* request = RTCVoidRequestImpl::create(getExecutionContext(), this, successCallback, errorCallback);
541 m_peerHandler->setLocalDescription(request, sessionDescription->webSessionDe scription()); 541 m_peerHandler->setLocalDescription(request, sessionDescription->webSessionDe scription());
542 return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isolate() )); 542 return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isolate() ));
543 } 543 }
544 544
545 RTCSessionDescription* RTCPeerConnection::localDescription() 545 RTCSessionDescription* RTCPeerConnection::localDescription()
546 { 546 {
547 WebRTCSessionDescription webSessionDescription = m_peerHandler->localDescrip tion(); 547 WebRTCSessionDescription webSessionDescription = m_peerHandler->localDescrip tion();
548 if (webSessionDescription.isNull()) 548 if (webSessionDescription.isNull())
549 return nullptr; 549 return nullptr;
550 550
551 return RTCSessionDescription::create(webSessionDescription); 551 return RTCSessionDescription::create(webSessionDescription);
552 } 552 }
553 553
554 ScriptPromise RTCPeerConnection::setRemoteDescription(ScriptState* scriptState, const RTCSessionDescriptionInit& sessionDescriptionInit) 554 ScriptPromise RTCPeerConnection::setRemoteDescription(ScriptState* scriptState, const RTCSessionDescriptionInit& sessionDescriptionInit)
555 { 555 {
556 if (m_signalingState == SignalingStateClosed) 556 if (m_signalingState == SignalingStateClosed)
557 return ScriptPromise::rejectWithDOMException(scriptState, DOMException:: create(InvalidStateError, kSignalingStateClosedMessage)); 557 return ScriptPromise::rejectWithDOMException(scriptState, DOMException:: create(InvalidStateError, kSignalingStateClosedMessage));
558 558
559 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ; 559 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ;
560 ScriptPromise promise = resolver->promise(); 560 ScriptPromise promise = resolver->promise();
561 RTCVoidRequest* request = RTCVoidRequestPromiseImpl::create(this, resolver); 561 RTCVoidRequest* request = RTCVoidRequestPromiseImpl::create(this, resolver);
562 m_peerHandler->setRemoteDescription(request, WebRTCSessionDescription(sessio nDescriptionInit.type(), sessionDescriptionInit.sdp())); 562 m_peerHandler->setRemoteDescription(request, WebRTCSessionDescription(sessio nDescriptionInit.type(), sessionDescriptionInit.sdp()));
563 return promise; 563 return promise;
564 } 564 }
565 565
566 ScriptPromise RTCPeerConnection::setRemoteDescription(ScriptState* scriptState, RTCSessionDescription* sessionDescription, VoidCallback* successCallback, RTCPee rConnectionErrorCallback* errorCallback) 566 ScriptPromise RTCPeerConnection::setRemoteDescription(ScriptState* scriptState, RTCSessionDescription* sessionDescription, VoidCallback* successCallback, RTCPee rConnectionErrorCallback* errorCallback)
567 { 567 {
568 ExecutionContext* context = scriptState->executionContext(); 568 ExecutionContext* context = scriptState->getExecutionContext();
569 if (successCallback && errorCallback) { 569 if (successCallback && errorCallback) {
570 UseCounter::count(context, UseCounter::RTCPeerConnectionSetRemoteDescrip tionLegacyCompliant); 570 UseCounter::count(context, UseCounter::RTCPeerConnectionSetRemoteDescrip tionLegacyCompliant);
571 } else { 571 } else {
572 if (!successCallback) 572 if (!successCallback)
573 UseCounter::count(context, UseCounter::RTCPeerConnectionSetRemoteDes criptionLegacyNoSuccessCallback); 573 UseCounter::count(context, UseCounter::RTCPeerConnectionSetRemoteDes criptionLegacyNoSuccessCallback);
574 if (!errorCallback) 574 if (!errorCallback)
575 UseCounter::count(context, UseCounter::RTCPeerConnectionSetRemoteDes criptionLegacyNoFailureCallback); 575 UseCounter::count(context, UseCounter::RTCPeerConnectionSetRemoteDes criptionLegacyNoFailureCallback);
576 } 576 }
577 577
578 if (callErrorCallbackIfSignalingStateClosed(m_signalingState, errorCallback) ) 578 if (callErrorCallbackIfSignalingStateClosed(m_signalingState, errorCallback) )
579 return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isola te())); 579 return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isola te()));
580 580
581 ASSERT(sessionDescription); 581 ASSERT(sessionDescription);
582 582
583 RTCVoidRequest* request = RTCVoidRequestImpl::create(executionContext(), thi s, successCallback, errorCallback); 583 RTCVoidRequest* request = RTCVoidRequestImpl::create(getExecutionContext(), this, successCallback, errorCallback);
584 m_peerHandler->setRemoteDescription(request, sessionDescription->webSessionD escription()); 584 m_peerHandler->setRemoteDescription(request, sessionDescription->webSessionD escription());
585 return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isolate() )); 585 return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isolate() ));
586 } 586 }
587 587
588 RTCSessionDescription* RTCPeerConnection::remoteDescription() 588 RTCSessionDescription* RTCPeerConnection::remoteDescription()
589 { 589 {
590 WebRTCSessionDescription webSessionDescription = m_peerHandler->remoteDescri ption(); 590 WebRTCSessionDescription webSessionDescription = m_peerHandler->remoteDescri ption();
591 if (webSessionDescription.isNull()) 591 if (webSessionDescription.isNull())
592 return nullptr; 592 return nullptr;
593 593
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 670
671 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ; 671 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ;
672 ScriptPromise promise = resolver->promise(); 672 ScriptPromise promise = resolver->promise();
673 673
674 WebRTCCertificateObserver* certificateObserver = WebRTCCertificateObserver:: create(resolver); 674 WebRTCCertificateObserver* certificateObserver = WebRTCCertificateObserver:: create(resolver);
675 675
676 // Generate certificate. The |certificateObserver| will resolve the promise asynchronously upon completion. 676 // Generate certificate. The |certificateObserver| will resolve the promise asynchronously upon completion.
677 // The observer will manage its own destruction as well as the resolver's de struction. 677 // The observer will manage its own destruction as well as the resolver's de struction.
678 certificateGenerator->generateCertificate( 678 certificateGenerator->generateCertificate(
679 keyParams.get(), 679 keyParams.get(),
680 toDocument(scriptState->executionContext())->url(), 680 toDocument(scriptState->getExecutionContext())->url(),
681 toDocument(scriptState->executionContext())->firstPartyForCookies(), 681 toDocument(scriptState->getExecutionContext())->firstPartyForCookies(),
682 certificateObserver); 682 certificateObserver);
683 683
684 return promise; 684 return promise;
685 } 685 }
686 686
687 ScriptPromise RTCPeerConnection::addIceCandidate(ScriptState* scriptState, const RTCIceCandidateInitOrRTCIceCandidate& candidate) 687 ScriptPromise RTCPeerConnection::addIceCandidate(ScriptState* scriptState, const RTCIceCandidateInitOrRTCIceCandidate& candidate)
688 { 688 {
689 if (m_signalingState == SignalingStateClosed) 689 if (m_signalingState == SignalingStateClosed)
690 return ScriptPromise::rejectWithDOMException(scriptState, DOMException:: create(InvalidStateError, kSignalingStateClosedMessage)); 690 return ScriptPromise::rejectWithDOMException(scriptState, DOMException:: create(InvalidStateError, kSignalingStateClosedMessage));
691 691
(...skipping 13 matching lines...) Expand all
705 705
706 ScriptPromise RTCPeerConnection::addIceCandidate(ScriptState* scriptState, RTCIc eCandidate* iceCandidate, VoidCallback* successCallback, RTCPeerConnectionErrorC allback* errorCallback) 706 ScriptPromise RTCPeerConnection::addIceCandidate(ScriptState* scriptState, RTCIc eCandidate* iceCandidate, VoidCallback* successCallback, RTCPeerConnectionErrorC allback* errorCallback)
707 { 707 {
708 ASSERT(iceCandidate); 708 ASSERT(iceCandidate);
709 ASSERT(successCallback); 709 ASSERT(successCallback);
710 ASSERT(errorCallback); 710 ASSERT(errorCallback);
711 711
712 if (callErrorCallbackIfSignalingStateClosed(m_signalingState, errorCallback) ) 712 if (callErrorCallbackIfSignalingStateClosed(m_signalingState, errorCallback) )
713 return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isola te())); 713 return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isola te()));
714 714
715 RTCVoidRequest* request = RTCVoidRequestImpl::create(executionContext(), thi s, successCallback, errorCallback); 715 RTCVoidRequest* request = RTCVoidRequestImpl::create(getExecutionContext(), this, successCallback, errorCallback);
716 bool implemented = m_peerHandler->addICECandidate(request, iceCandidate->web Candidate()); 716 bool implemented = m_peerHandler->addICECandidate(request, iceCandidate->web Candidate());
717 if (!implemented) 717 if (!implemented)
718 asyncCallErrorCallback(errorCallback, DOMException::create(OperationErro r, "This operation could not be completed.")); 718 asyncCallErrorCallback(errorCallback, DOMException::create(OperationErro r, "This operation could not be completed."));
719 719
720 return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isolate() )); 720 return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isolate() ));
721 } 721 }
722 722
723 String RTCPeerConnection::signalingState() const 723 String RTCPeerConnection::signalingState() const
724 { 724 {
725 switch (m_signalingState) { 725 switch (m_signalingState) {
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 if ((*iter)->id() == streamId) 846 if ((*iter)->id() == streamId)
847 return iter->get(); 847 return iter->get();
848 } 848 }
849 849
850 return 0; 850 return 0;
851 } 851 }
852 852
853 void RTCPeerConnection::getStats(ExecutionContext* context, RTCStatsCallback* su ccessCallback, MediaStreamTrack* selector) 853 void RTCPeerConnection::getStats(ExecutionContext* context, RTCStatsCallback* su ccessCallback, MediaStreamTrack* selector)
854 { 854 {
855 UseCounter::count(context, UseCounter::RTCPeerConnectionGetStatsLegacyNonCom pliant); 855 UseCounter::count(context, UseCounter::RTCPeerConnectionGetStatsLegacyNonCom pliant);
856 RTCStatsRequest* statsRequest = RTCStatsRequestImpl::create(executionContext (), this, successCallback, selector); 856 RTCStatsRequest* statsRequest = RTCStatsRequestImpl::create(getExecutionCont ext(), this, successCallback, selector);
857 // FIXME: Add passing selector as part of the statsRequest. 857 // FIXME: Add passing selector as part of the statsRequest.
858 m_peerHandler->getStats(statsRequest); 858 m_peerHandler->getStats(statsRequest);
859 } 859 }
860 860
861 RTCDataChannel* RTCPeerConnection::createDataChannel(String label, const Diction ary& options, ExceptionState& exceptionState) 861 RTCDataChannel* RTCPeerConnection::createDataChannel(String label, const Diction ary& options, ExceptionState& exceptionState)
862 { 862 {
863 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState)) 863 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState))
864 return nullptr; 864 return nullptr;
865 865
866 WebRTCDataChannelInit init; 866 WebRTCDataChannelInit init;
867 DictionaryHelper::get(options, "ordered", init.ordered); 867 DictionaryHelper::get(options, "ordered", init.ordered);
868 DictionaryHelper::get(options, "negotiated", init.negotiated); 868 DictionaryHelper::get(options, "negotiated", init.negotiated);
869 869
870 unsigned short value = 0; 870 unsigned short value = 0;
871 if (DictionaryHelper::get(options, "id", value)) 871 if (DictionaryHelper::get(options, "id", value))
872 init.id = value; 872 init.id = value;
873 if (DictionaryHelper::get(options, "maxRetransmits", value)) 873 if (DictionaryHelper::get(options, "maxRetransmits", value))
874 init.maxRetransmits = value; 874 init.maxRetransmits = value;
875 if (DictionaryHelper::get(options, "maxRetransmitTime", value)) 875 if (DictionaryHelper::get(options, "maxRetransmitTime", value))
876 init.maxRetransmitTime = value; 876 init.maxRetransmitTime = value;
877 877
878 String protocolString; 878 String protocolString;
879 DictionaryHelper::get(options, "protocol", protocolString); 879 DictionaryHelper::get(options, "protocol", protocolString);
880 init.protocol = protocolString; 880 init.protocol = protocolString;
881 881
882 RTCDataChannel* channel = RTCDataChannel::create(executionContext(), m_peerH andler.get(), label, init, exceptionState); 882 RTCDataChannel* channel = RTCDataChannel::create(getExecutionContext(), m_pe erHandler.get(), label, init, exceptionState);
883 if (exceptionState.hadException()) 883 if (exceptionState.hadException())
884 return nullptr; 884 return nullptr;
885 RTCDataChannel::ReadyState handlerState = channel->getHandlerState(); 885 RTCDataChannel::ReadyState handlerState = channel->getHandlerState();
886 if (handlerState != RTCDataChannel::ReadyStateConnecting) { 886 if (handlerState != RTCDataChannel::ReadyStateConnecting) {
887 // There was an early state transition. Don't miss it! 887 // There was an early state transition. Don't miss it!
888 channel->didChangeReadyState(handlerState); 888 channel->didChangeReadyState(handlerState);
889 } 889 }
890 return channel; 890 return channel;
891 } 891 }
892 892
(...skipping 11 matching lines...) Expand all
904 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState)) 904 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState))
905 return nullptr; 905 return nullptr;
906 906
907 ASSERT(track); 907 ASSERT(track);
908 908
909 if (!hasLocalStreamWithTrackId(track->id())) { 909 if (!hasLocalStreamWithTrackId(track->id())) {
910 exceptionState.throwDOMException(SyntaxError, "No local stream is availa ble for the track provided."); 910 exceptionState.throwDOMException(SyntaxError, "No local stream is availa ble for the track provided.");
911 return nullptr; 911 return nullptr;
912 } 912 }
913 913
914 RTCDTMFSender* dtmfSender = RTCDTMFSender::create(executionContext(), m_peer Handler.get(), track, exceptionState); 914 RTCDTMFSender* dtmfSender = RTCDTMFSender::create(getExecutionContext(), m_p eerHandler.get(), track, exceptionState);
915 if (exceptionState.hadException()) 915 if (exceptionState.hadException())
916 return nullptr; 916 return nullptr;
917 return dtmfSender; 917 return dtmfSender;
918 } 918 }
919 919
920 void RTCPeerConnection::close(ExceptionState& exceptionState) 920 void RTCPeerConnection::close(ExceptionState& exceptionState)
921 { 921 {
922 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState)) 922 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState))
923 return; 923 return;
924 924
925 closeInternal(); 925 closeInternal();
926 } 926 }
927 927
928 void RTCPeerConnection::negotiationNeeded() 928 void RTCPeerConnection::negotiationNeeded()
929 { 929 {
930 ASSERT(!m_closed); 930 ASSERT(!m_closed);
931 scheduleDispatchEvent(Event::create(EventTypeNames::negotiationneeded)); 931 scheduleDispatchEvent(Event::create(EventTypeNames::negotiationneeded));
932 } 932 }
933 933
934 void RTCPeerConnection::didGenerateICECandidate(const WebRTCICECandidate& webCan didate) 934 void RTCPeerConnection::didGenerateICECandidate(const WebRTCICECandidate& webCan didate)
935 { 935 {
936 ASSERT(!m_closed); 936 ASSERT(!m_closed);
937 ASSERT(executionContext()->isContextThread()); 937 ASSERT(getExecutionContext()->isContextThread());
938 if (webCandidate.isNull()) 938 if (webCandidate.isNull())
939 scheduleDispatchEvent(RTCIceCandidateEvent::create(false, false, nullptr )); 939 scheduleDispatchEvent(RTCIceCandidateEvent::create(false, false, nullptr ));
940 else { 940 else {
941 RTCIceCandidate* iceCandidate = RTCIceCandidate::create(webCandidate); 941 RTCIceCandidate* iceCandidate = RTCIceCandidate::create(webCandidate);
942 scheduleDispatchEvent(RTCIceCandidateEvent::create(false, false, iceCand idate)); 942 scheduleDispatchEvent(RTCIceCandidateEvent::create(false, false, iceCand idate));
943 } 943 }
944 } 944 }
945 945
946 void RTCPeerConnection::didChangeSignalingState(SignalingState newState) 946 void RTCPeerConnection::didChangeSignalingState(SignalingState newState)
947 { 947 {
948 ASSERT(!m_closed); 948 ASSERT(!m_closed);
949 ASSERT(executionContext()->isContextThread()); 949 ASSERT(getExecutionContext()->isContextThread());
950 changeSignalingState(newState); 950 changeSignalingState(newState);
951 } 951 }
952 952
953 void RTCPeerConnection::didChangeICEGatheringState(ICEGatheringState newState) 953 void RTCPeerConnection::didChangeICEGatheringState(ICEGatheringState newState)
954 { 954 {
955 ASSERT(!m_closed); 955 ASSERT(!m_closed);
956 ASSERT(executionContext()->isContextThread()); 956 ASSERT(getExecutionContext()->isContextThread());
957 changeIceGatheringState(newState); 957 changeIceGatheringState(newState);
958 } 958 }
959 959
960 void RTCPeerConnection::didChangeICEConnectionState(ICEConnectionState newState) 960 void RTCPeerConnection::didChangeICEConnectionState(ICEConnectionState newState)
961 { 961 {
962 ASSERT(!m_closed); 962 ASSERT(!m_closed);
963 ASSERT(executionContext()->isContextThread()); 963 ASSERT(getExecutionContext()->isContextThread());
964 changeIceConnectionState(newState); 964 changeIceConnectionState(newState);
965 } 965 }
966 966
967 void RTCPeerConnection::didAddRemoteStream(const WebMediaStream& remoteStream) 967 void RTCPeerConnection::didAddRemoteStream(const WebMediaStream& remoteStream)
968 { 968 {
969 ASSERT(!m_closed); 969 ASSERT(!m_closed);
970 ASSERT(executionContext()->isContextThread()); 970 ASSERT(getExecutionContext()->isContextThread());
971 971
972 if (m_signalingState == SignalingStateClosed) 972 if (m_signalingState == SignalingStateClosed)
973 return; 973 return;
974 974
975 MediaStream* stream = MediaStream::create(executionContext(), remoteStream); 975 MediaStream* stream = MediaStream::create(getExecutionContext(), remoteStrea m);
976 m_remoteStreams.append(stream); 976 m_remoteStreams.append(stream);
977 977
978 scheduleDispatchEvent(MediaStreamEvent::create(EventTypeNames::addstream, fa lse, false, stream)); 978 scheduleDispatchEvent(MediaStreamEvent::create(EventTypeNames::addstream, fa lse, false, stream));
979 } 979 }
980 980
981 void RTCPeerConnection::didRemoveRemoteStream(const WebMediaStream& remoteStream ) 981 void RTCPeerConnection::didRemoveRemoteStream(const WebMediaStream& remoteStream )
982 { 982 {
983 ASSERT(!m_closed); 983 ASSERT(!m_closed);
984 ASSERT(executionContext()->isContextThread()); 984 ASSERT(getExecutionContext()->isContextThread());
985 985
986 MediaStreamDescriptor* streamDescriptor = remoteStream; 986 MediaStreamDescriptor* streamDescriptor = remoteStream;
987 ASSERT(streamDescriptor->client()); 987 ASSERT(streamDescriptor->client());
988 988
989 MediaStream* stream = static_cast<MediaStream*>(streamDescriptor->client()); 989 MediaStream* stream = static_cast<MediaStream*>(streamDescriptor->client());
990 stream->streamEnded(); 990 stream->streamEnded();
991 991
992 if (m_signalingState == SignalingStateClosed) 992 if (m_signalingState == SignalingStateClosed)
993 return; 993 return;
994 994
995 size_t pos = m_remoteStreams.find(stream); 995 size_t pos = m_remoteStreams.find(stream);
996 ASSERT(pos != kNotFound); 996 ASSERT(pos != kNotFound);
997 m_remoteStreams.remove(pos); 997 m_remoteStreams.remove(pos);
998 998
999 scheduleDispatchEvent(MediaStreamEvent::create(EventTypeNames::removestream, false, false, stream)); 999 scheduleDispatchEvent(MediaStreamEvent::create(EventTypeNames::removestream, false, false, stream));
1000 } 1000 }
1001 1001
1002 void RTCPeerConnection::didAddRemoteDataChannel(WebRTCDataChannelHandler* handle r) 1002 void RTCPeerConnection::didAddRemoteDataChannel(WebRTCDataChannelHandler* handle r)
1003 { 1003 {
1004 ASSERT(!m_closed); 1004 ASSERT(!m_closed);
1005 ASSERT(executionContext()->isContextThread()); 1005 ASSERT(getExecutionContext()->isContextThread());
1006 1006
1007 if (m_signalingState == SignalingStateClosed) 1007 if (m_signalingState == SignalingStateClosed)
1008 return; 1008 return;
1009 1009
1010 RTCDataChannel* channel = RTCDataChannel::create(executionContext(), adoptPt r(handler)); 1010 RTCDataChannel* channel = RTCDataChannel::create(getExecutionContext(), adop tPtr(handler));
1011 scheduleDispatchEvent(RTCDataChannelEvent::create(EventTypeNames::datachanne l, false, false, channel)); 1011 scheduleDispatchEvent(RTCDataChannelEvent::create(EventTypeNames::datachanne l, false, false, channel));
1012 } 1012 }
1013 1013
1014 void RTCPeerConnection::releasePeerConnectionHandler() 1014 void RTCPeerConnection::releasePeerConnectionHandler()
1015 { 1015 {
1016 stop(); 1016 stop();
1017 } 1017 }
1018 1018
1019 void RTCPeerConnection::closePeerConnection() 1019 void RTCPeerConnection::closePeerConnection()
1020 { 1020 {
1021 ASSERT(m_signalingState != RTCPeerConnection::SignalingStateClosed); 1021 ASSERT(m_signalingState != RTCPeerConnection::SignalingStateClosed);
1022 closeInternal(); 1022 closeInternal();
1023 } 1023 }
1024 1024
1025 const AtomicString& RTCPeerConnection::interfaceName() const 1025 const AtomicString& RTCPeerConnection::interfaceName() const
1026 { 1026 {
1027 return EventTargetNames::RTCPeerConnection; 1027 return EventTargetNames::RTCPeerConnection;
1028 } 1028 }
1029 1029
1030 ExecutionContext* RTCPeerConnection::executionContext() const 1030 ExecutionContext* RTCPeerConnection::getExecutionContext() const
1031 { 1031 {
1032 return ActiveDOMObject::executionContext(); 1032 return ActiveDOMObject::getExecutionContext();
1033 } 1033 }
1034 1034
1035 void RTCPeerConnection::suspend() 1035 void RTCPeerConnection::suspend()
1036 { 1036 {
1037 m_dispatchScheduledEventRunner->suspend(); 1037 m_dispatchScheduledEventRunner->suspend();
1038 } 1038 }
1039 1039
1040 void RTCPeerConnection::resume() 1040 void RTCPeerConnection::resume()
1041 { 1041 {
1042 m_dispatchScheduledEventRunner->resume(); 1042 m_dispatchScheduledEventRunner->resume();
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
1132 { 1132 {
1133 visitor->trace(m_localStreams); 1133 visitor->trace(m_localStreams);
1134 visitor->trace(m_remoteStreams); 1134 visitor->trace(m_remoteStreams);
1135 visitor->trace(m_dispatchScheduledEventRunner); 1135 visitor->trace(m_dispatchScheduledEventRunner);
1136 visitor->trace(m_scheduledEvents); 1136 visitor->trace(m_scheduledEvents);
1137 RefCountedGarbageCollectedEventTargetWithInlineData<RTCPeerConnection>::trac e(visitor); 1137 RefCountedGarbageCollectedEventTargetWithInlineData<RTCPeerConnection>::trac e(visitor);
1138 ActiveDOMObject::trace(visitor); 1138 ActiveDOMObject::trace(visitor);
1139 } 1139 }
1140 1140
1141 } // namespace blink 1141 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698