| OLD | NEW |
| (Empty) |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef COMPONENTS_TEST_RUNNER_MOCK_WEBRTC_PEER_CONNECTION_HANDLER_H_ | |
| 6 #define COMPONENTS_TEST_RUNNER_MOCK_WEBRTC_PEER_CONNECTION_HANDLER_H_ | |
| 7 | |
| 8 #include <map> | |
| 9 | |
| 10 #include "base/macros.h" | |
| 11 #include "base/memory/weak_ptr.h" | |
| 12 #include "third_party/WebKit/public/platform/WebRTCError.h" | |
| 13 #include "third_party/WebKit/public/platform/WebRTCPeerConnectionHandler.h" | |
| 14 #include "third_party/WebKit/public/platform/WebRTCSessionDescription.h" | |
| 15 #include "third_party/WebKit/public/platform/WebRTCSessionDescriptionRequest.h" | |
| 16 #include "third_party/WebKit/public/platform/WebRTCStatsRequest.h" | |
| 17 | |
| 18 namespace blink { | |
| 19 class WebRTCPeerConnectionHandlerClient; | |
| 20 }; | |
| 21 | |
| 22 namespace test_runner { | |
| 23 | |
| 24 class TestInterfaces; | |
| 25 | |
| 26 class MockWebRTCPeerConnectionHandler | |
| 27 : public blink::WebRTCPeerConnectionHandler { | |
| 28 public: | |
| 29 MockWebRTCPeerConnectionHandler( | |
| 30 blink::WebRTCPeerConnectionHandlerClient* client, | |
| 31 TestInterfaces* interfaces); | |
| 32 ~MockWebRTCPeerConnectionHandler() override; | |
| 33 | |
| 34 // WebRTCPeerConnectionHandler related methods | |
| 35 bool initialize(const blink::WebRTCConfiguration& configuration, | |
| 36 const blink::WebMediaConstraints& constraints) override; | |
| 37 | |
| 38 void createOffer(const blink::WebRTCSessionDescriptionRequest& request, | |
| 39 const blink::WebMediaConstraints& constraints) override; | |
| 40 void createOffer(const blink::WebRTCSessionDescriptionRequest& request, | |
| 41 const blink::WebRTCOfferOptions& options) override; | |
| 42 void createAnswer(const blink::WebRTCSessionDescriptionRequest& request, | |
| 43 const blink::WebMediaConstraints& constraints) override; | |
| 44 void createAnswer(const blink::WebRTCSessionDescriptionRequest& request, | |
| 45 const blink::WebRTCAnswerOptions& options) override; | |
| 46 void setLocalDescription( | |
| 47 const blink::WebRTCVoidRequest& request, | |
| 48 const blink::WebRTCSessionDescription& local_description) override; | |
| 49 void setRemoteDescription( | |
| 50 const blink::WebRTCVoidRequest& request, | |
| 51 const blink::WebRTCSessionDescription& remote_description) override; | |
| 52 blink::WebRTCSessionDescription localDescription() override; | |
| 53 blink::WebRTCSessionDescription remoteDescription() override; | |
| 54 blink::WebRTCErrorType setConfiguration( | |
| 55 const blink::WebRTCConfiguration& configuration) override; | |
| 56 bool addICECandidate(const blink::WebRTCICECandidate& ice_candidate) override; | |
| 57 bool addICECandidate(const blink::WebRTCVoidRequest& request, | |
| 58 const blink::WebRTCICECandidate& ice_candidate) override; | |
| 59 bool addStream(const blink::WebMediaStream& stream, | |
| 60 const blink::WebMediaConstraints& constraints) override; | |
| 61 void removeStream(const blink::WebMediaStream& stream) override; | |
| 62 void getStats(const blink::WebRTCStatsRequest& request) override; | |
| 63 void getStats(std::unique_ptr<blink::WebRTCStatsReportCallback>) override; | |
| 64 blink::WebRTCDataChannelHandler* createDataChannel( | |
| 65 const blink::WebString& label, | |
| 66 const blink::WebRTCDataChannelInit& init) override; | |
| 67 blink::WebRTCDTMFSenderHandler* createDTMFSender( | |
| 68 const blink::WebMediaStreamTrack& track) override; | |
| 69 void stop() override; | |
| 70 | |
| 71 private: | |
| 72 MockWebRTCPeerConnectionHandler(); | |
| 73 | |
| 74 // UpdateRemoteStreams uses the collection of |local_streams_| to create | |
| 75 // remote MediaStreams with the same number of tracks and notifies |client_| | |
| 76 // about added and removed streams. It's triggered when setRemoteDescription | |
| 77 // is called. | |
| 78 void UpdateRemoteStreams(); | |
| 79 | |
| 80 void ReportInitializeCompleted(); | |
| 81 void ReportCreationOfDataChannel(); | |
| 82 | |
| 83 void PostRequestResult( | |
| 84 const blink::WebRTCSessionDescriptionRequest& request, | |
| 85 const blink::WebRTCSessionDescription& session_description); | |
| 86 void PostRequestFailure( | |
| 87 const blink::WebRTCSessionDescriptionRequest& request); | |
| 88 void PostRequestResult(const blink::WebRTCVoidRequest& request); | |
| 89 void PostRequestFailure(const blink::WebRTCVoidRequest& request); | |
| 90 | |
| 91 blink::WebRTCPeerConnectionHandlerClient* client_; | |
| 92 bool stopped_; | |
| 93 blink::WebRTCSessionDescription local_description_; | |
| 94 blink::WebRTCSessionDescription remote_description_; | |
| 95 int stream_count_; | |
| 96 TestInterfaces* interfaces_; | |
| 97 typedef std::map<std::string, blink::WebMediaStream> StreamMap; | |
| 98 StreamMap local_streams_; | |
| 99 StreamMap remote_streams_; | |
| 100 | |
| 101 base::WeakPtrFactory<MockWebRTCPeerConnectionHandler> weak_factory_; | |
| 102 | |
| 103 DISALLOW_COPY_AND_ASSIGN(MockWebRTCPeerConnectionHandler); | |
| 104 }; | |
| 105 | |
| 106 } // namespace test_runner | |
| 107 | |
| 108 #endif // COMPONENTS_TEST_RUNNER_MOCK_WEBRTC_PEER_CONNECTION_HANDLER_H_ | |
| OLD | NEW |