146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// found in the LICENSE file. 446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#ifndef CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCKWEBRTCPEERCONNECTIONHANDLER_H_ 646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCKWEBRTCPEERCONNECTIONHANDLER_H_ 746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "base/basictypes.h" 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "content/shell/renderer/test_runner/web_task.h" 1046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "third_party/WebKit/public/platform/WebRTCPeerConnectionHandler.h" 1146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "third_party/WebKit/public/platform/WebRTCSessionDescription.h" 1246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "third_party/WebKit/public/platform/WebRTCSessionDescriptionRequest.h" 1346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "third_party/WebKit/public/platform/WebRTCStatsRequest.h" 1446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 1546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)namespace blink { 1646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)class WebRTCPeerConnectionHandlerClient; 1746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}; 1846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 1946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)namespace content { 2046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 2146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)class TestInterfaces; 2246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 2346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)class MockWebRTCPeerConnectionHandler 2446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) : public blink::WebRTCPeerConnectionHandler { 2546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) public: 2646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) MockWebRTCPeerConnectionHandler( 2746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) blink::WebRTCPeerConnectionHandlerClient* client, 2846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) TestInterfaces* interfaces); 2946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 3046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // WebRTCPeerConnectionHandler related methods 3146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual bool initialize( 3246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebRTCConfiguration& configuration, 3346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebMediaConstraints& constraints) OVERRIDE; 3446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 3546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void createOffer( 3646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebRTCSessionDescriptionRequest& request, 3746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebMediaConstraints& constraints) OVERRIDE; 385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) virtual void createOffer( 395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const blink::WebRTCSessionDescriptionRequest& request, 405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const blink::WebRTCOfferOptions& options) OVERRIDE; 4146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void createAnswer( 4246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebRTCSessionDescriptionRequest& request, 4346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebMediaConstraints& constraints) OVERRIDE; 4446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void setLocalDescription( 4546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebRTCVoidRequest& request, 4646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebRTCSessionDescription& local_description) OVERRIDE; 4746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void setRemoteDescription( 4846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebRTCVoidRequest& request, 4946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebRTCSessionDescription& remote_description) OVERRIDE; 5046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual blink::WebRTCSessionDescription localDescription() OVERRIDE; 5146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual blink::WebRTCSessionDescription remoteDescription() OVERRIDE; 5246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual bool updateICE( 5346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebRTCConfiguration& configuration, 5446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebMediaConstraints& constraints) OVERRIDE; 5546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual bool addICECandidate( 5646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebRTCICECandidate& ice_candidate) OVERRIDE; 5746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual bool addICECandidate( 5846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebRTCVoidRequest& request, 5946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebRTCICECandidate& ice_candidate) OVERRIDE; 6046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual bool addStream( 6146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebMediaStream& stream, 6246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebMediaConstraints& constraints) OVERRIDE; 6346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void removeStream(const blink::WebMediaStream& stream) OVERRIDE; 6446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void getStats(const blink::WebRTCStatsRequest& request) OVERRIDE; 6546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual blink::WebRTCDataChannelHandler* createDataChannel( 6646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebString& label, 6746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebRTCDataChannelInit& init) OVERRIDE; 6846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual blink::WebRTCDTMFSenderHandler* createDTMFSender( 6946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const blink::WebMediaStreamTrack& track) OVERRIDE; 7046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void stop() OVERRIDE; 7146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 7246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // WebTask related methods 7346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) WebTaskList* mutable_task_list() { return &task_list_; } 7446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 7546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) private: 7646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) MockWebRTCPeerConnectionHandler(); 7746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 7846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) blink::WebRTCPeerConnectionHandlerClient* client_; 7946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) bool stopped_; 8046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) WebTaskList task_list_; 8146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) blink::WebRTCSessionDescription local_description_; 8246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) blink::WebRTCSessionDescription remote_description_; 8346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) int stream_count_; 8446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) TestInterfaces* interfaces_; 8546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 8646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(MockWebRTCPeerConnectionHandler); 8746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}; 8846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 8946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} // namespace content 9046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 9146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif // CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCKWEBRTCPEERCONNECTIONHANDLER_H_ 92