| 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 588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 599 if (exceptionState.hadException()) | 599 if (exceptionState.hadException()) |
| 600 return nullptr; | 600 return nullptr; |
| 601 return dtmfSender; | 601 return dtmfSender; |
| 602 } | 602 } |
| 603 | 603 |
| 604 void RTCPeerConnection::close(ExceptionState& exceptionState) | 604 void RTCPeerConnection::close(ExceptionState& exceptionState) |
| 605 { | 605 { |
| 606 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState)) | 606 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState)) |
| 607 return; | 607 return; |
| 608 | 608 |
| 609 m_peerHandler->stop(); | 609 closeInternal(); |
| 610 m_closed = true; | |
| 611 | |
| 612 changeIceConnectionState(ICEConnectionStateClosed); | |
| 613 changeIceGatheringState(ICEGatheringStateComplete); | |
| 614 changeSignalingState(SignalingStateClosed); | |
| 615 } | 610 } |
| 616 | 611 |
| 617 void RTCPeerConnection::negotiationNeeded() | 612 void RTCPeerConnection::negotiationNeeded() |
| 618 { | 613 { |
| 619 ASSERT(!m_closed); | 614 ASSERT(!m_closed); |
| 620 scheduleDispatchEvent(Event::create(EventTypeNames::negotiationneeded)); | 615 scheduleDispatchEvent(Event::create(EventTypeNames::negotiationneeded)); |
| 621 } | 616 } |
| 622 | 617 |
| 623 void RTCPeerConnection::didGenerateICECandidate(const WebRTCICECandidate& webCan
didate) | 618 void RTCPeerConnection::didGenerateICECandidate(const WebRTCICECandidate& webCan
didate) |
| 624 { | 619 { |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 700 m_dataChannels.append(channel); | 695 m_dataChannels.append(channel); |
| 701 | 696 |
| 702 scheduleDispatchEvent(RTCDataChannelEvent::create(EventTypeNames::datachanne
l, false, false, channel)); | 697 scheduleDispatchEvent(RTCDataChannelEvent::create(EventTypeNames::datachanne
l, false, false, channel)); |
| 703 } | 698 } |
| 704 | 699 |
| 705 void RTCPeerConnection::releasePeerConnectionHandler() | 700 void RTCPeerConnection::releasePeerConnectionHandler() |
| 706 { | 701 { |
| 707 stop(); | 702 stop(); |
| 708 } | 703 } |
| 709 | 704 |
| 705 void RTCPeerConnection::closePeerConnection() |
| 706 { |
| 707 ASSERT(m_signalingState != RTCPeerConnection::SignalingStateClosed); |
| 708 closeInternal(); |
| 709 } |
| 710 |
| 710 const AtomicString& RTCPeerConnection::interfaceName() const | 711 const AtomicString& RTCPeerConnection::interfaceName() const |
| 711 { | 712 { |
| 712 return EventTargetNames::RTCPeerConnection; | 713 return EventTargetNames::RTCPeerConnection; |
| 713 } | 714 } |
| 714 | 715 |
| 715 ExecutionContext* RTCPeerConnection::executionContext() const | 716 ExecutionContext* RTCPeerConnection::executionContext() const |
| 716 { | 717 { |
| 717 return ActiveDOMObject::executionContext(); | 718 return ActiveDOMObject::executionContext(); |
| 718 } | 719 } |
| 719 | 720 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 760 } | 761 } |
| 761 | 762 |
| 762 void RTCPeerConnection::changeIceConnectionState(ICEConnectionState iceConnectio
nState) | 763 void RTCPeerConnection::changeIceConnectionState(ICEConnectionState iceConnectio
nState) |
| 763 { | 764 { |
| 764 if (m_iceConnectionState != ICEConnectionStateClosed && m_iceConnectionState
!= iceConnectionState) { | 765 if (m_iceConnectionState != ICEConnectionStateClosed && m_iceConnectionState
!= iceConnectionState) { |
| 765 m_iceConnectionState = iceConnectionState; | 766 m_iceConnectionState = iceConnectionState; |
| 766 scheduleDispatchEvent(Event::create(EventTypeNames::iceconnectionstatech
ange)); | 767 scheduleDispatchEvent(Event::create(EventTypeNames::iceconnectionstatech
ange)); |
| 767 } | 768 } |
| 768 } | 769 } |
| 769 | 770 |
| 771 void RTCPeerConnection::closeInternal() |
| 772 { |
| 773 ASSERT(m_signalingState != RTCPeerConnection::SignalingStateClosed); |
| 774 m_peerHandler->stop(); |
| 775 m_closed = true; |
| 776 |
| 777 changeIceConnectionState(ICEConnectionStateClosed); |
| 778 changeIceGatheringState(ICEGatheringStateComplete); |
| 779 changeSignalingState(SignalingStateClosed); |
| 780 } |
| 781 |
| 770 void RTCPeerConnection::scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event> even
t) | 782 void RTCPeerConnection::scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event> even
t) |
| 771 { | 783 { |
| 772 m_scheduledEvents.append(event); | 784 m_scheduledEvents.append(event); |
| 773 | 785 |
| 774 m_dispatchScheduledEventRunner.runAsync(); | 786 m_dispatchScheduledEventRunner.runAsync(); |
| 775 } | 787 } |
| 776 | 788 |
| 777 void RTCPeerConnection::dispatchScheduledEvent() | 789 void RTCPeerConnection::dispatchScheduledEvent() |
| 778 { | 790 { |
| 779 if (m_stopped) | 791 if (m_stopped) |
| (...skipping 14 matching lines...) Expand all Loading... |
| 794 visitor->trace(m_localStreams); | 806 visitor->trace(m_localStreams); |
| 795 visitor->trace(m_remoteStreams); | 807 visitor->trace(m_remoteStreams); |
| 796 visitor->trace(m_dataChannels); | 808 visitor->trace(m_dataChannels); |
| 797 #if ENABLE(OILPAN) | 809 #if ENABLE(OILPAN) |
| 798 visitor->trace(m_scheduledEvents); | 810 visitor->trace(m_scheduledEvents); |
| 799 #endif | 811 #endif |
| 800 EventTargetWithInlineData::trace(visitor); | 812 EventTargetWithInlineData::trace(visitor); |
| 801 } | 813 } |
| 802 | 814 |
| 803 } // namespace blink | 815 } // namespace blink |
| OLD | NEW |