OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 #include "third_party/WebKit/public/platform/WebRTCDTMFSenderHandler.h" | 33 #include "third_party/WebKit/public/platform/WebRTCDTMFSenderHandler.h" |
34 #include "third_party/WebKit/public/platform/WebRTCDataChannelHandler.h" | 34 #include "third_party/WebKit/public/platform/WebRTCDataChannelHandler.h" |
35 #include "third_party/WebKit/public/platform/WebRTCDataChannelInit.h" | 35 #include "third_party/WebKit/public/platform/WebRTCDataChannelInit.h" |
36 #include "third_party/WebKit/public/platform/WebRTCICECandidate.h" | 36 #include "third_party/WebKit/public/platform/WebRTCICECandidate.h" |
37 #include "third_party/WebKit/public/platform/WebRTCPeerConnectionHandlerClient.h
" | 37 #include "third_party/WebKit/public/platform/WebRTCPeerConnectionHandlerClient.h
" |
38 #include "third_party/WebKit/public/platform/WebRTCSessionDescription.h" | 38 #include "third_party/WebKit/public/platform/WebRTCSessionDescription.h" |
39 #include "third_party/WebKit/public/platform/WebRTCSessionDescriptionRequest.h" | 39 #include "third_party/WebKit/public/platform/WebRTCSessionDescriptionRequest.h" |
40 #include "third_party/WebKit/public/platform/WebRTCStatsRequest.h" | 40 #include "third_party/WebKit/public/platform/WebRTCStatsRequest.h" |
41 #include "third_party/WebKit/public/platform/WebRTCVoidRequest.h" | 41 #include "third_party/WebKit/public/platform/WebRTCVoidRequest.h" |
42 #include "third_party/WebKit/public/platform/WebURL.h" | 42 #include "third_party/WebKit/public/platform/WebURL.h" |
| 43 #include "third_party/WebKit/public/web/WebHeap.h" |
43 #include "third_party/libjingle/source/talk/app/webrtc/peerconnectioninterface.h
" | 44 #include "third_party/libjingle/source/talk/app/webrtc/peerconnectioninterface.h
" |
44 | 45 |
45 static const char kDummySdp[] = "dummy sdp"; | 46 static const char kDummySdp[] = "dummy sdp"; |
46 static const char kDummySdpType[] = "dummy type"; | 47 static const char kDummySdpType[] = "dummy type"; |
47 | 48 |
48 using blink::WebRTCPeerConnectionHandlerClient; | 49 using blink::WebRTCPeerConnectionHandlerClient; |
49 using testing::NiceMock; | 50 using testing::NiceMock; |
50 using testing::_; | 51 using testing::_; |
51 using testing::Ref; | 52 using testing::Ref; |
52 | 53 |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 mock_tracker_.reset(new NiceMock<MockPeerConnectionTracker>()); | 213 mock_tracker_.reset(new NiceMock<MockPeerConnectionTracker>()); |
213 blink::WebRTCConfiguration config; | 214 blink::WebRTCConfiguration config; |
214 blink::WebMediaConstraints constraints; | 215 blink::WebMediaConstraints constraints; |
215 EXPECT_TRUE(pc_handler_->InitializeForTest(config, constraints, | 216 EXPECT_TRUE(pc_handler_->InitializeForTest(config, constraints, |
216 mock_tracker_.get())); | 217 mock_tracker_.get())); |
217 | 218 |
218 mock_peer_connection_ = pc_handler_->native_peer_connection(); | 219 mock_peer_connection_ = pc_handler_->native_peer_connection(); |
219 ASSERT_TRUE(mock_peer_connection_); | 220 ASSERT_TRUE(mock_peer_connection_); |
220 } | 221 } |
221 | 222 |
| 223 virtual void TearDown() { |
| 224 pc_handler_.reset(); |
| 225 mock_tracker_.reset(); |
| 226 mock_dependency_factory_.reset(); |
| 227 mock_client_.reset(); |
| 228 blink::WebHeap::collectAllGarbageForTesting(); |
| 229 } |
| 230 |
222 // Creates a WebKit local MediaStream. | 231 // Creates a WebKit local MediaStream. |
223 blink::WebMediaStream CreateLocalMediaStream( | 232 blink::WebMediaStream CreateLocalMediaStream( |
224 const std::string& stream_label) { | 233 const std::string& stream_label) { |
225 std::string video_track_label("video-label"); | 234 std::string video_track_label("video-label"); |
226 std::string audio_track_label("audio-label"); | 235 std::string audio_track_label("audio-label"); |
227 | 236 |
228 blink::WebMediaStreamSource audio_source; | 237 blink::WebMediaStreamSource audio_source; |
229 audio_source.initialize(blink::WebString::fromUTF8(audio_track_label), | 238 audio_source.initialize(blink::WebString::fromUTF8(audio_track_label), |
230 blink::WebMediaStreamSource::TypeAudio, | 239 blink::WebMediaStreamSource::TypeAudio, |
231 blink::WebString::fromUTF8("audio_track")); | 240 blink::WebString::fromUTF8("audio_track")); |
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
755 scoped_refptr<webrtc::AudioTrackInterface> webrtc_track = | 764 scoped_refptr<webrtc::AudioTrackInterface> webrtc_track = |
756 remote_stream->GetAudioTracks()[0].get(); | 765 remote_stream->GetAudioTracks()[0].get(); |
757 remote_stream->RemoveTrack(webrtc_track.get()); | 766 remote_stream->RemoveTrack(webrtc_track.get()); |
758 | 767 |
759 { | 768 { |
760 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks1; | 769 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks1; |
761 webkit_stream.audioTracks(modified_audio_tracks1); | 770 webkit_stream.audioTracks(modified_audio_tracks1); |
762 EXPECT_EQ(0u, modified_audio_tracks1.size()); | 771 EXPECT_EQ(0u, modified_audio_tracks1.size()); |
763 } | 772 } |
764 | 773 |
| 774 blink::WebHeap::collectGarbageForTesting(); |
| 775 |
765 // Add the WebRtc audio track again. | 776 // Add the WebRtc audio track again. |
766 remote_stream->AddTrack(webrtc_track.get()); | 777 remote_stream->AddTrack(webrtc_track.get()); |
767 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks2; | 778 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks2; |
768 webkit_stream.audioTracks(modified_audio_tracks2); | 779 webkit_stream.audioTracks(modified_audio_tracks2); |
769 EXPECT_EQ(1u, modified_audio_tracks2.size()); | 780 EXPECT_EQ(1u, modified_audio_tracks2.size()); |
770 } | 781 } |
771 | 782 |
772 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddVideoTrackFromRemoteStream) { | 783 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddVideoTrackFromRemoteStream) { |
773 std::string remote_stream_label("remote_stream"); | 784 std::string remote_stream_label("remote_stream"); |
774 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( | 785 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( |
(...skipping 16 matching lines...) Expand all Loading... |
791 // Remove the Webrtc video track from the Webrtc MediaStream. | 802 // Remove the Webrtc video track from the Webrtc MediaStream. |
792 scoped_refptr<webrtc::VideoTrackInterface> webrtc_track = | 803 scoped_refptr<webrtc::VideoTrackInterface> webrtc_track = |
793 remote_stream->GetVideoTracks()[0].get(); | 804 remote_stream->GetVideoTracks()[0].get(); |
794 remote_stream->RemoveTrack(webrtc_track.get()); | 805 remote_stream->RemoveTrack(webrtc_track.get()); |
795 { | 806 { |
796 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks1; | 807 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks1; |
797 webkit_stream.videoTracks(modified_video_tracks1); | 808 webkit_stream.videoTracks(modified_video_tracks1); |
798 EXPECT_EQ(0u, modified_video_tracks1.size()); | 809 EXPECT_EQ(0u, modified_video_tracks1.size()); |
799 } | 810 } |
800 | 811 |
| 812 blink::WebHeap::collectGarbageForTesting(); |
| 813 |
801 // Add the WebRtc video track again. | 814 // Add the WebRtc video track again. |
802 remote_stream->AddTrack(webrtc_track.get()); | 815 remote_stream->AddTrack(webrtc_track.get()); |
803 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks2; | 816 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks2; |
804 webkit_stream.videoTracks(modified_video_tracks2); | 817 webkit_stream.videoTracks(modified_video_tracks2); |
805 EXPECT_EQ(1u, modified_video_tracks2.size()); | 818 EXPECT_EQ(1u, modified_video_tracks2.size()); |
806 } | 819 } |
807 | 820 |
808 TEST_F(RTCPeerConnectionHandlerTest, OnIceCandidate) { | 821 TEST_F(RTCPeerConnectionHandlerTest, OnIceCandidate) { |
809 testing::InSequence sequence; | 822 testing::InSequence sequence; |
810 EXPECT_CALL(*mock_tracker_.get(), | 823 EXPECT_CALL(*mock_tracker_.get(), |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
858 EXPECT_CALL(*mock_tracker_.get(), | 871 EXPECT_CALL(*mock_tracker_.get(), |
859 TrackCreateDTMFSender(pc_handler_.get(), | 872 TrackCreateDTMFSender(pc_handler_.get(), |
860 testing::Ref(tracks[0]))); | 873 testing::Ref(tracks[0]))); |
861 | 874 |
862 scoped_ptr<blink::WebRTCDTMFSenderHandler> sender( | 875 scoped_ptr<blink::WebRTCDTMFSenderHandler> sender( |
863 pc_handler_->createDTMFSender(tracks[0])); | 876 pc_handler_->createDTMFSender(tracks[0])); |
864 EXPECT_TRUE(sender.get()); | 877 EXPECT_TRUE(sender.get()); |
865 } | 878 } |
866 | 879 |
867 } // namespace content | 880 } // namespace content |
OLD | NEW |